私は単純なクロスプラットフォームのdotnetアプリケーションを開発しています。 dotnetが既にインストールされているとは思えないので、自己完結型のデプロイメントとして配布する必要があります。dotnet core自己展開を最適化
dotnet publish for win10-x64は64MBのディレクトリを生成します。私はかなりのDLLが必要ではないと確信しています。必要なdllだけが保存されるように配布を最適化する方法はありますか?
私は単純なクロスプラットフォームのdotnetアプリケーションを開発しています。 dotnetが既にインストールされているとは思えないので、自己完結型のデプロイメントとして配布する必要があります。dotnet core自己展開を最適化
dotnet publish for win10-x64は64MBのディレクトリを生成します。私はかなりのDLLが必要ではないと確信しています。必要なdllだけが保存されるように配布を最適化する方法はありますか?
この作業は、ILリンカーを使用して行うことができます。プロジェクトにNuGetパッケージを追加することで、不要なコードを削除することで、公開されている自己完結型アプリケーションのサイズを縮小できます。しかし、まだプレビュー中です(2017年現在)。自己完結型アプリケーションについては、announcement postおよびsample instructionsを参照してください。
それは印象的です:-)ページが要求するように、展開のサイズは50%減少しました。非常に有望ですが、まだ私はこれをプロダクション用に使うことができないと確信しています。 私の心はまだまだですstdin/stdout、jsonとnewtonsoft、そして出力ログをSerilogで出力するシンプルなアプリケーションには32MBが必要です。 Pythonの同様のアプリは10MBに凍結しました。私はこれがリンゴとオレンジの比較かもしれないと確信しています。 このリンカの進捗状況は、マイクロサービスにとって重要なものであるため、 – sumo
サイドノート:.netコア2.0を使用する場合、 'win10-x64'より' win-x64'を使用してください。 –
ありがとうございます。理にかなっている。 – sumo