如何阻止Visual Studio 2022在输出路径后自动追加Debug\目录?
问题根因
从VS 2019 16.x版本开始,SDK风格.NET项目新增了AppendConfigurationToOutputPath默认配置项,升级到VS 2022后新建的项目会默认启用该规则:在用户手动设置的输出路径末尾,自动追加当前生成配置对应的目录名(即Debug/Release)。之前配置的两个属性仅能控制是否追加目标框架、运行时标识后缀,没有覆盖这个新增的配置项,才会出现输出路径多嵌套一层Debug\的问题。
修复步骤
- 右键目标项目,选择「编辑项目文件」,在已有的配置
PropertyGroup节点下,新增AppendConfigurationToOutputPath属性并设为false,完整配置参考:
<PropertyGroup> <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath> <AppendConfigurationToOutputPath>false</AppendConfigurationToOutputPath> </PropertyGroup>
- 保存项目文件修改后,右键项目选择「清理」,手动删除项目根目录下的
bin、obj缓存文件夹。 - 重新生成项目,构建产物就会直接输出到预设的
bin\Debug\Plugins\路径下,不会再额外追加多余的Debug\目录。
注意事项
- 如果后续需要区分Debug、Release不同配置的输出文件,不建议关闭该配置,可直接针对不同生成配置单独设置
OutputPath属性,避免不同配置的dll互相覆盖。 - 一定要清理旧的bin/obj缓存后再重新生成,否则可能因为VS的构建缓存导致路径规则不生效。
内容的提问来源于stack exchange,提问作者Piglet
相关产品推荐
相关产品推荐

