2017-03-10 9 views
3

私は最新の.NET SDKを使用しています。先日リリースしたばかりです(1.0.1、https://dotnetcli.blob.core.windows.net/dotnet/Sdk/1.0.1/dotnet-dev-debian-x64.1.0.1.tar.gzからインストール)ので、 "dotnet publish"でプロジェクトをビルドします。この質問の範囲外の理由から、少し古いバージョンのフレームワーク(最新の1.0.4と1.1.0ではなく1.0.3と1.1.0)で動作するようにアプリケーションを構築しようとしています。特定のフレームワークバージョンにdotnetビルド

<TargetFramework>netcoreapp1.1</TargetFramework>を指定するプロジェクトをビルドすると、バージョン1.1.0のみがインストールされているプラ​​ットフォームでは実行されません。

プロジェクト単位で<RuntimeFrameworkVersion>1.1.0</RuntimeFrameworkVersion>を私のcsprojに指定することができますが、デフォルトでnetcoreapp1.1ターゲットをターゲットにするような方法でドットネットを設定できますか?

+0

使用しているIDE /バージョン/言語は? – JamesFaix

+0

IDE、すべてのテキストファイル、コマンドラインでdotnet 1.0.1経由ですべてを行うことはありません。 C#。 – nlawalker

+0

「1.0.3と1.1.0」はどういう意味ですか? 2つのバージョンは何を参照していますか? LTSとランタイムの現在のバージョンについて話していますか?それとも、ランタイムバージョンとSDKバージョンについて話していますか? –

答えて

4

<TargetFramework>netcoreapp1.1</TargetFramework>と指定した場合、アプリケーションの最新の実行時間をターゲットにするのがデフォルトです(1.1.1)。 Here's the PRが変更になりました。あなたが言及したように、これはアプリケーションがもはや1.1.0のマシン上で動かなくなったことを意味します。

netcoreapp1.1を対象とするようなデフォルトの1.1.0のようなドットネットの設定方法はありますか?私の心の中で

は、次の2つのオプションがあります:

  1. あなたがdotnet publishを呼び出すと、あなたはMSBuildのパラメータを渡すことができます。したがって、あなたはdotnet publish -c Release /p:RuntimeFrameworkVersion=1.1.0
  2. Directory.Build.propsファイルを追加することができます。デフォルトのプロパティにするすべてのファイル.csprojを追加できます。この.propsファイルは、その下のすべての.csprojファイルに自動的にインポートされます。あなたはそれに共通のプロパティを設定することができます。

    <Project> 
        <PropertyGroup> 
        <RuntimeFrameworkVersion>1.1.0</RuntimeFrameworkVersion> 
        </PropertyGroup> 
    </Project> 
    

を今すぐあなたのプロジェクトのすべてを自動的に設定し、このプロパティを取得します。

関連する問題