「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次  †
概要  †
.NET Core 3.0から、Windows Forms / WPFのサポートが追加された。
詳細  †
基本的にポーティング以降になるもよう(VS2019ではデザイナ使用不可)。
移行手順の概要  †
.NET Framework版プロジェクト  †
.NET Core版のプロジェクト  †
- ...のコンパイルを通す。
- ...へ、NuGetパッケージを追加
 
- ...へ、必要に応じて互換機能パックを追加
 
- ...その他、非互換のAPIなどの置換などを行う。
 
 
支援ツール  †
デザイナ  †
互換機能パック  †
概要  †
- Windows 専用 API やプラットフォーム非依存 API など、約 20,000 の API を提供
 
- NuGet パッケージ Microsoft.Windows.Compatibility 経由で提供される。
 
- .NET Core または .NET Standard を対象とするプロジェクトから参照できる。
 
領域  †
- .NET Framework
- CodeDom?
 
- System.Runtime.Caching
 
- Windows Workflow Foundation (WF)
 
- Windows Communication Foundation (WCF)
 
- Managed Extensibility Framework (MEF)
 
- 互換性(Microsoft.Windows.Compatibility.Shims)
 
 
- Windows
- Codepage
 
- GDI+
 
- ODBC
 
- Registry
 
- Service
 
- 暗号化
 
- EventLog?
 
- アクセス制御リスト (ACL)
 
- パフォーマンス カウンター
 
- WMI (Windows Management Instrumentation)
 
- Active Directory(X.500)
 
 
事例  †
Open棟梁Projectでの事例
プロジェクト・ファイルの雛形  †
新規作成 → プロジェクトで取得。
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <UseWindowsForms>true</UseWindowsForms>
    <ApplicationIcon />
    <StartupObject />
  </PropertyGroup>
</Project>
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <UseWPF>true</UseWPF>
  </PropertyGroup>
</Project>
ポイント  †
共通  †
- AssemblyInfo?.csは除外する。
 
- #IF用にNETCOREAPPを追加
 
- Resourceファイルの再構成
- プロジェクト・ファイルを修正する。
 
- ルート名前空間を変更する。
 
 
ライブラリの場合  †
画面の場合  †
- 設定ファイル
- app.configを除外し、appsettings.jsonを追加。
 
- Microsoft.Extensions.Configuration.XXX周辺を追加
 
- 冒頭で、appsettings.jsonの初期化コードを実行
 
 
参考  †
.NET Blog  †
やってみた系  †
しばやん雑記  †
rksoftware  †
- .NET Core 3.0 デスクトップアプリプロジェクトが
- Visual Studio 2019 で開けない
 
- ビルドできない
 
 
- デザイナがなくても問題なし
- .NET Core 3.0 で Windows フォームアプリケーションを作る
 
- Windows フォーム手書き時の注意 AutoScaleDimensions? 設定
 
 
- 帳票出力
- .NET Core デスクトップアプリケーションから DioDocs? を使って帳票を PDF 出力する
 
- .NET Core デスクトップアプリケーションで PDF 帳票を画面表示する
 
- .NET Core デスクトップアプリケーションで DioDocs? で作った PDF 帳票を印刷する
 
 
Microsoft Docs  †
移植  †
互換機能パック  †
Tags: :.NET開発, :.NET Core, :移行