如果 Visual Studio 已经从另一个项目检测到构建配置,那么在大约 50-100 个项目(相同的解决方案)中创建构建配置的最简单方法是什么?
我们的团队在多个解决方案中使用了一组通用项目(命名空间简称为“通用”)。 Common 命名空间有自己的主解决方案和自己的构建配置集。 Common 的解决方案包含五个构建配置(“Debug-QA”、“Debug-Dev”等)。
只要在新解决方案(即“MyNewSolution”)中使用这些项目,Visual Studio 就会显示 Common 主解决方案的构建配置。遗憾的是,这些配置尚未在 MyNewSolution 或任何 MyNewSolution 的项目中创建。这会导致将构建配置添加到其他项目或将项目包含在这些构建配置中的问题,因为如果名称已经存在则无法创建构建配置(Visual Studio 认为它存在,这要归功于 Common包括的项目)。
我的目标是将相同的配置(即“Debug-QA”、“Debug-Dev”等)添加到 MyNewSolution 及其项目中,以便所有项目和解决方案都匹配。我能看到的唯一方法是在每个新项目上手动创建构建配置......这是一种折磨,因为 MyNewSolution 有大约 50-100 个项目。
仅供引用:我使用的是 Visual Studio 2012
最佳答案
这与其说是一个正确的解决方案,不如说是一种黑客攻击,但您始终可以:
- 使用 GUID 作为名称为整个解决方案创建所需配置的副本。
- 从已有原始配置的项目中删除副本(撤消更改)。
- 使用“在文件中查找/替换”工具将 GUID 重命名为原始配置的名称。
即使这不是一个非常可行的选择,它也是一个非常好的快速修复。
编辑:
如何从解决方案中手动删除配置:
在文本编辑器中打开解决方案文件后,您将看到一个名为 Global
的 block ,其中包含部分。 SolutionConfigurationPlatforms
部分包含配置的定义。还有一个名为 ProjectConfigurationPlatforms
的部分,其中分配了配置。只需从两个组中删除对配置的引用即可。如果您有更复杂的解决方案,则可能需要删除其他引用。这只是一个基本案例。
如何从项目中手动删除配置:
同样,在文本编辑器中打开项目文件后,您将看到许多对要删除的配置的引用。 C# 项目有一个以配置为条件的 PropertyGroup
。您可以简单地完全删除该组。文件周围可能还有对配置的其他引用,因此请确保正确清理所有内容。
确保在出现问题时备份文件。
关于c# - 将外部配置复制到 Visual Studio 中的本地项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22618098/