新的 Microsoft.NET.Sdk 项目在子目录中构建输出文件。怎么改回来呢?

Cho*_*les 2 c# msbuild visual-studio target-framework

最近升级了一个开源项目的旧版本。新的项目文件是较新的 SDK 项目类型,我遇到的问题应该是非常简单的。

构建旧项目时,输出文件被直接复制到我在项目属性、构建选项卡、“输出路径”字段中指定的文件夹中。我根据配置将其指定为 bin\x64\Debug 或 bin\x64\Release。

然而,使用这种新的项目格式,实际的 DLL 会输出到 bin\x64\Debug\net461 中。如果我更改目标框架,输出文件将位于不同的位置。例如 bin\x64\Debug\net462。

我需要它永远不会复制到框架子目录。它彻底搞砸了我们使用的 nmake 构建脚本。我该如何解决?

更重要的是,构建目录充满了从天知道从哪里复制的无用的依赖DLL。除了输出之外,我不需要输出目录中的任何内容。

我该如何让这个新的项目格式像旧的一样工作?

Mis*_*tyK 9

将其添加到您的 csproj

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

AppendTargetFrameworkToOutputPath控件框架名称 AppendRuntimeIdentifierToOutputPath控件 x64/x86