web-dev-qa-db-ja.com

ターゲットフレームワークが解決されたパスを乱雑にせずに、Visual Studio 2017プロジェクト(新しい.csprojファイル形式)で「OutputPath」を設定するにはどうすればよいですか?

新しいVisual Studio 2017プロジェクト形式でOutputPathを設定すると、パスにターゲットフレームワークが自動的に追加されます。たとえば、プロジェクトファイルでこれらを設定している場合:

<TargetFramework>net462</TargetFramework>
<OutputPath>/build/debug/<OutputPath>

実際の出力フォルダは、以前のバージョンのように/build/debug/net462/ではなく/build/debug/に解決されます。ビルド後のアクションで物事を移動するような回避策なしでこれをどのように解決しますか?

39
aksu

解決策はAppendTargetFrameworkToOutputPathを使用することです https://www.tabsoverspaces.com/233608-stopping-msbuild-appending-targetframework-to-outputpath/

<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
48
aksu

上記の答えは正しいですが、ランタイム識別子を削除することもできます。

<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
27
Jon