「マイクロソフト系技術情報 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での事例
手順 †
プロジェクト・ファイルの雛形の取得 †
新規作成 → プロジェクトで取得できる。
ファイルのリンク †
- 上記のプロジェクト・ファイルにファイルをリンクする。
ポーティング移行 †
以下のポイントに注意しながらポーティング移行を行う。
ポイント †
共通 †
- AssemblyInfo?.csは除外(削除)する。
- プロジェクト・ファイルを修正する。
- ルート名前空間
- アセンブリ名
- プロジェクト出力
- 参照設定やNuGet参照
- ファイル
- ビルド アクションの設定
- Resourceファイルの再構成
- #IF用にNETCOREAPPを追加
- 既定で、NETCOREAPP_3_0があるのでこちらを利用してもイイ。
- 必要に応じて、#IF - #ELSEの条件付きコンパイルディレクティブを実装する。
ライブラリの場合 †
画面の場合 †
設定ファイル
- app.configを除外(削除)し、appsettings.jsonを追加。
- Microsoft.Extensions.Configuration.XXX周辺の参照を追加
- 冒頭で、appsettings.jsonの初期化コードを実行
サポート対象外 †
- .NET Coreでのサポートは予定されていない模様。
- → .NET 5でサポートされる模様。
VB版 †
現状では、VB版テンプレートが存在しない。
参考 †
.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, :移行