以前から、「.NET Core 3 DesktopPackへの移行」をやるやると言っておきながら、.NET Core 3 の preview がなかなか取れなかったこともあり、
02-50で対応できませんでしたが、いよいよ、移行を試行してみました。
...で、結論としては、
「非常に簡単に移行ができました ♨」
ので、02-60では、この機能が無事に利用可能になる予定です。また、移行性について、手数が必要な点は、app.config から appsettings.jsonへの移行程度でした。
中には、少々、難しめな、
- 非同期イベント処理機能(と言う、名前付きパイプを使用してプロセスを跨いでイベントに通知を行う機能)を使用した「AsyncEvent_sample」と言うサンプル
- 通信制御機能(と言う、クライアントから、JSON-RPCサーバを、インプロセス・メソッドの様に呼び出す機能)を使用した「WS_sample」と言うサンプル
...等もあるのですが、
コレ等も、サクッと移行できてしまいました。ある意味、バッチ(コンソール・アプリ)並みに容易に移行ができたと思います(強いて言うと、毎度の事ながらの、通信制御のサーバーサイドのWebAPIのRoutingに少々ハマった程度)。
これには、Webアプリケーションの場合のSystem.Web名前空間の移行の問題や、ランタイム・ライブラリ周辺の、APIの I/F & 動作の仕様変更が殆ど無かったことに起因するものと思われます。
なお、ClickOnceですが、.NET Coreでのサポートは予定されていない模様です。また、VB版の準備も必要か?なんて思いながら「dotnet new --help」で確認してみましたが、現状ではVB版のプロジェクト・テンプレートは無いっぽいですね。.NET CoreのVB版は ConsoleApp と ClassLibrary と UnitTest 系しか無いのが現状の様です(なんとなく、.NET 5 の登場に合わせてくる気がします)。
<参考>
また、余談となりますが、先日の「.NET Conf 2019」というイベントの感想でも
なんて言う情報が出ていたので、やはりみんな関心あるんだなぁ。と言うのが解ります(と言うのも、昨今の、クロスプラットフォームなUIサブシステムを用いた開発は、業務系のセグメントで生産性がペイラインにリーチしないんでしょうね)。
ただ、チョット、.NET Coreのサポート・ライフサイクル・ポリシーを見て思ったのですが、LTS(Long Term Support、長期サポート)が3年となると、特に日本においては、まだまだ、.NET Frameworkに留まるユーザーも多いんじゃないかな?と思ったりはしました。
まぁ、Open棟梁は、.NET Framework と .NET Core の、どちらでも動作しますので、その辺は気にしないで、前進して行こうと思います
♨。