web-dev-qa-db-ja.com

.NET Coreでカスタム<OutputPath>を設定しますか(フレームワークターゲットの追加を停止します)?

従来の.NETアプリケーションでは、アセンブリのカスタム_<OutputPath>_を_.csproj_ファイルで(またはプロジェクトのプロパティダイアログを介して)設定できました。たとえばのパスbin\$(Configuration)\$(Platform)は_bin\Debug\AnyCPU_をもたらしました。

私はこれらの値を現在のビルド構成とは無関係に設定する習慣がありました(独自のItemGroupDocumentationFileを組み合わせてなど)。

このように新しい.NETコア_.csproj_で構成をセットアップするとき...

_<OutputPath>bin\$(Configuration)\$(Platform)</OutputPath>
<DocumentationFile>$(OutputPath)$(AssemblyName).xml</DocumentationFile>
_

..次のフォルダ構造が作成されます。

_bin\
  Debug\
    AnyCPU\
      MyAssembly.xml
      netstandard1.0\
        MyAssembly.exe
_

だからmsbuildか、自動的にTargetFrameworkを自動的に追加するものと思われます。

出力パスを本当にカスタマイズしたり、この動作を無効にする方法はありますか?

23
maelgrove

この動作を無効にするには、次のように設定します。

<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>

この動作はMicrosoft.NET.Sdkそのソース を参照)

52
Martin Ullrich