如何在Visual Studio 2017项目(新的.csproj文件格式)中设置`OutputPath`属性,而不会使目标框架混乱已解析的路径?

aks*_*ksu 34 c# msbuild visual-studio-2017

设置OutputPath在新的Visual Studio 2017年项目格式会自动添加路径目标框架.例如,如果我在项目文件中设置了这些:

<TargetFramework>net462</TargetFramework>
<OutputPath>/build/debug/<OutputPath>
Run Code Online (Sandbox Code Playgroud)

实际的输出文件夹将解析为/build/debug/net462/,而不是/build/debug/旧版本.如何在没有变通方法的情况下解决这个问题,例如使用后期构建操作来移动事物?

aks*_*ksu 43

解决方案是使用AppendTargetFrameworkToOutputPath https://www.tabsoverspaces.com/233608-stopping-msbuild-appending-targetframework-to-outputpath/

<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
Run Code Online (Sandbox Code Playgroud)

  • 删除运行时标识符:`<AppendTargetFrameworkToOutputPath> false </ AppendTargetFrameworkToOutputPath>``<AppendRuntimeIdentifierToOutputPath> false </ AppendRuntimeIdentifierToOutputPath> (8认同)

Jon*_*Jon 23

上面的答案是正确的,但您可能还想删除运行时标识符:

<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
Run Code Online (Sandbox Code Playgroud)