dot NET Framework から dot NET Core へ移行

久々に作業メモ。
Visual Studio で C# のプロジェクトを新規作成すると .ウィンドウズフォームアプリ と ウィンドウズフォームアプリケーション(.NET Framework) の2種類出てくる
何が違うの?
と思って調べてみると windows 上では見かけそんなに違いなさそう。ただ、.NET のバージョンが違うようで
ウィンドウズフォームアプリはフレームワークにオープンソースの .NET core を使用し windows / linux / macOS などのクロスプラットフォーム対応らしい。
ウィンドウズフォームアプリケーションは 一部オープンソースらしいがフレームワークに .NET Framework を使用した windows アプリケーション。
と言う違いがあるそうで今後は .NET Core の方が多くなるんだろう。ただ、コンセプトが違うし今すぐ移行しないとダメとも言えないのでその辺はまあ、各自判断ですかね。
IoT なんかは .NET Core を使用した方が良さげだが。

と言う事で以前作った OpenStreetMap の編集ツール JOSM のデイリービルドをダウンロードするツールを作っていたのだけれどもこれが Framework 側で作っていたので Core へ移行できないかと調べてみた。そうすると移行ツールというのが存在してた。
https://dotnet.microsoft.com/ja-jp/platform/upgrade-assistant
なんか微妙な翻訳だけれどもこのサイトに手順が示されてた。
手順は順番にクリックすると示されていくと言うなかなか分かりよかったです。
 1. 「作業を開始」 をクリック イントロが表示目的、条件、時間などが表示されてた。
 2. 「作業を開始する」をクリック 環境の確認コマンドプロンプトが表示
    dotnet と入力してエラーが出なければ ok
 3. ツールダウンロード コマンドプロンプトで
dotnet tool install -g –add-source “https://api.nuget.org/v3/index.json” –ignore-failed-sources upgrade-assistant
   完了すれば準備 ok
 4. アップグレード開始
   依存関係を調べる。なんかよく分からなかったorz
    upgrade-assistant analyze <Path to csproj or sln to upgrade>
   アップグレードする。
    upgrade-assistant upgrade <Path to csproj or sln to upgrade>
    メッセージが表示され最後に
     Choose a command:
      1. Apply next step (Select an entrypoint)
      2. Skip next step (Select an entrypoint)
      3. See more step details
      4. Configure logging
      5. Exit
     と指示されるので私は 1を選択。
     何ステップかに別れているようで9回ほどコマンド”1”を入力した
     で無事終了。
これで Framework から Core へ移行できました。

とりあえずそのままコンパイルしたら WebClient() は古い形式だ、あと名付けルール違反でイベントなどは頭文字大文字でと何個か警告された。
まあ、今回はそのまま実行はできたけど移行後にある程度修正は必要そうですね。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください