如何避免 Visual Studio 在 Target Framework Name 目录中输出程序集?

How to avoid Visual Studio outputs assemblies in Target Framework Name directories?

我们有一些 netstandard2.0 程序集。编译时它们在目录 .\bin\Debug\netstandard2.0 中生成(netstandard2.0 目录名称是 TFN the Target Framework Name)。但是,在项目属性中仅指定了 .\bin\Debug。我们希望在 .\bin\Debug 中生成这些程序集,以使我们所有的程序集都具有相同的目录。

我们开发了一个 Post-Build 事件来复制我们的程序集及其 .\bin\Debug 中的 json/pdb 文件,然后删除目录 .\bin\Debug\netstandard2.0。然而,这不是一个好的解决方案,因为在增量编译期间使用的 FastUpToDate 工具找不到 .\bin\Debug\netstandard2.0\ProjectName.pdb,因此我们的 netstandard2.0 项目总是重建,即使它们是最新的。

在您的项目中将 AppendTargetFrameworkToOutputPath 设置为 false。

<PropertyGroup>
  <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>