2017-03-01 17 views
2

self-contained .NET Core deploymentを作成する場合は、ターゲットプラットフォームのランタイムIDを指定する必要があります(win7-x64またはwin10-x64など)。.NETコア内蔵型展開をビルドする場合、より高いターゲットOSバージョンが良いでしょうか?

これらのターゲットは下位互換性があることがわかりました(私のWindows 10開発マシンでwin7-x64をターゲットとするアプリケーションを実行できます)。

私の質問です:可能な限り最高のランタイムIDを対象とすることにはどんな利点がありますか?当社のサーバーは2008 R2です。つまり、win81-x64以下をターゲットにする必要があります。実行時に考慮するターゲットはwin81-x64win7-x64ですか?

+0

理由がある場合は、上位バージョンのみをターゲットにする必要があります。いくつかの依存関係がそれに依存しているか、古いOSのサポートを止めたいだけです。 –

+0

私はこの区別がWinRTアプリ(別名UWP、aka Phone、別名Store、別名Modern UI)を分離するために存在すると考えます。 Win7ではサポートされていません。したがって、WinRTをターゲットにしない場合、win7-x64に依存することで、サポートできるOSのバージョンの最大数が決まります。 –

答えて

3

ここにはgood document explains Runtime IDsがあり、それらはお互いにどのように関連していますか。

RID(実行時ID)には、runtime.json file in that folderに配置されたフォールバックメカニズムがあります。

win10資産はwin10にしていた機能を点灯ところNuGetパッケージは、win7資産とwin10資産を持っていた場合には、例えば、高いRIDを使用して、より良い資産を取得することができ、いくつかの例があります。これらのケースは頻繁に起こることはなく、コア.NETランタイムでは実際には発生しませんが、サードパーティのパッケージでは可能です。

私が提案しているのは、あなたがターゲットとしている最も低いOSバージョンにRIDを使用することです。アプリでwin7をサポートするつもりがない場合は、win8以上を使用してください。

関連する問題