我有一个 Visual Studio 2008 解决方案,我在其中导入了许多预先存在的项目。这些项目是混合语言示例代码(C#、VB、C++/CLI)。他们目前有多种配置,但我希望每个项目只有一个“调试”配置。
在配置管理器中,我删除了其他配置(例如“发布”),但当我这样做时,出现一条警告消息,告诉我它们不会从各个项目中删除。
事实上,当我导航到单个项目时,它仍然具有“发布”和其他配置,即使在解决方案级别只有“调试”。
如何才能最好地从每个项目中删除这些额外的配置?我是否忽略了在 GUI 中执行此操作的某些方法,或者我应该直接编辑项目文件?
在配置管理器中,为包含要删除的配置的每个项目(不是通过名为“活动解决方案配置”的下拉列表)选择“配置”列中的“编辑...”。
在弹出的对话框中,标记每个不需要的配置并选择“删除”。
从解决方案的所有项目中自动删除配置的最佳方法是使用 Nuget 控制台命令访问 Visual Studio api 来完成。
转到 工具、Nuget 包管理器、包管理器控制台。
从那里使用:
Get-Project -All | Foreach { $_.ConfigurationManager.DeleteConfigurationRow("Release") }
通过这种方式,您已从名为
"Release"
的所有项目中删除了所有配置。
我强烈建议您始终检查源代码版本控制系统上的差异,您只会看到 csproj
,在某些情况下 sln
文件受到影响,如果您正在使用配置转换(如 Web.Release.config),它们仍然会受到影响。在那里。
有关更多信息,请参阅此处特定于 Visual Studio 版本的 API 文档,这至少适用于 C++、C#、F#、VB 语言的 VS 2015。
不回答我知道的这个特定问题,但使用 VS2013,您可以打开“属性管理器”选项卡,展开所有项目配置,使用 CTRL 或 SHIFT 键进行多项选择,并一次从多个项目中删除配置。
VS2022 现在提供了“从所有未使用的项目中删除已删除的配置”复选框。在“编辑解决方案配置”屏幕上。
在 VS2022.png 中编辑解决方案配置