.NET Coreアプリケーションの自己完結型の配布







突然見逃した場合、.NETは現在オープンソースであり、.NET Coreは無料でオープンソースのクロスプラットフォームフレームワークであり、10分以内にダウンロードして実行できます。 Mac、Windows、および半ダースのUnixでdot.netから入手できます。無料のクロスプラットフォームVisual Studio Codeで試してみると、いつでもどこでもC#とF#で記述できます。



これを念頭に置いて、.NET Coreアプリケーションを展開するには2つの方法があります。 これらはFDDとSCDです。 TBA(3文字の頭字語)は愚かであるため、フレームワークに依存した自己完結型の展開です。



.NET Coreがインストールされると、たとえば、WindowsのC:\ program files \ dotnetにあります。 「共有」ディレクトリには、.NETの断片がたくさんあります。 共通。 下のスクリーンショットの私のフォルダーにあるように、内部には多くのディレクトリがあります。 多くの.NET Coreインストールを使用できます。







.NET Core自体ではなく、アプリケーションとその依存関係をインストールすると、ターゲットマシンに既にインストールされている.NET Coreに依存します。 これは、Webアプリや多くのアプリケーションを備えたシステムに適していますが、アプリケーションを作成してzipまたはusbフラッシュドライブとして提供し、機能させたい場合はどうでしょうか。 さらに.NET Coreを含めることができます。これにより、すべてが自己完結型展開になります。



「Hello World」アプリケーションを、システム全体のインストールを使用する場合よりも大きくしますが、完全に独立しているため、正常に機能することがわかります。



.NET Coreと共にアプリケーションをデプロイする場合、.NET Coreサービスを担当し、それを最新の状態に保つことに留意することが重要です。 事前にターゲットプラットフォームを選択する必要もあります。 Mac、Windows、Linuxで実行し、動作するようにするには、これらのターゲットプラットフォームを有効にして、それらのパッケージをビルドする必要があります。 これはすべて直感的に明らかですが、確かに知っておくと良いでしょう。



例として、小さなアプリケーション(単純な「dotnet new」アプリケーションを使用)を取り上げ、テキストエディターでproject.jsonを変更します。



私のアプリケーションは.NETCore.Appですが、インストールされている.NET Coreプラットフォームは使用しません。 ローカルバージョンを使用するため、依存関係から「type =“ platform”」を削除します。 残っているものは次のとおりです。



"frameworks": { "netcoreapp1.0": { "dependencies": { "Microsoft.NETCore.App": { "version": "1.0.1" } } } }
      
      





次に、ランタイムセクションを追加して、設定するランタイムを示します。 すべてのランタイムIDEのリストはこちらです。



 "runtimes": { "win10-x64": {}, "osx.10.10-x64": {}, "ubuntu.14.04-x64": {} }
      
      





翻訳者のメモ(念のため):このセクションは最後の括弧の前に追加されます



dotnet restoreコマンドを実行した後、次の方法でランタイムごとにプロジェクトをビルドします。



 dotnet build -r win10-x64 dotnet build -r osx.10.10-x64 dotnet build -r ubuntu.14.04-x64
      
      





その後、テスト後などにリリースを公開します。



 dotnet publish -c release -r win10-x64 dotnet publish -c release -r osx.10.10-x64 dotnet publish -c release -r ubuntu.14.04-x64
      
      





これが完了したら、ポータブルアプリケーションをn個のフォルダーに入れて、必要なシステムに展開できるようにします。







Win10ディレクトリには、アプリケーション「MYAPPLICATION.exe」(私の名前はscd.exeと呼ばれます)があり、開発者が使用する「dotnet run」のようなものの助けを借りずにすぐに起動できます。







.NET Core Docsには、自己完結型アプリケーションで展開されるものを正確に構成および決定する方法に関する多くの優れたドキュメントがあります 。 また、.NET Coreの記事のトリミングに注意を払うこともできます 。これは、将来、すべてがメソッドのレベルまで自動化される可能性があるという事実を説明しています。



All Articles