将现有生成配置应用于新项目
本文关键字:配置 应用于 新项目 | 更新日期: 2023-09-27 18:36:45
这是场景,
-
创建了一个新的 Web 应用程序(MVC5,空模板)作为"MyMVCWebApplication"。默认生成配置为"调试"和"发布",照常进行。
-
导入具有调试、发布、测试和生产构建配置的现有项目"Commont.Logger"。
添加 Common.Logger 项目后,VS 2013 在构建配置下拉列表("运行"旁边)中显示所有调试、发布、测试和生产配置。
但是我无法在 Web 项目中为 Web 配置(用于测试和生产)执行"添加配置转换"。然后我检查了"配置管理器",我注意到它没有显示 Web 项目的测试和生产配置。在编辑配置中,它只有重命名和删除,没有"添加"功能。
如何将这些测试和生产生成配置添加到 Web 项目中?
在配置管理器("生成"菜单)中,你会看到项目列表。在"配置"列中,有一个下拉列表。在该列表的底部,您可以选择<New...>
更新:如评论中所述,这不能立即起作用。今天我遇到了类似的情况:
- 添加新配置时,在配置管理器中,我取消选中"创建新的解决方案配置"并单击"确定"。
- 我将工具栏中的配置设置为所需的配置(开发)
- 我右键单击 app.config,然后从上下文菜单中选择添加转换(慢猎豹)。
这添加了该应用程序。开发.config
我想出了解决方案。
当工具不起作用或没有工具时,唯一的选择是通过手动编辑sln文件来弄脏您的手。
这是仅供参考,
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Dev|Any CPU = Azure_Dev|Any CPU
PreProd|Any CPU = Azure_PreProd|Any CPU
Test|Any CPU = Azure_Test|Any CPU
Debug|Any CPU = Debug|Any CPU
Prod|Any CPU = Prod|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{8D475C27-8BAF-4B5E-8D65-729A8541B14F}.Dev|Any CPU.ActiveCfg = Release|Any CPU
{8D475C27-8BAF-4B5E-8D65-729A8541B14F}.Dev|Any CPU.Build.0 = Release|Any CPU
{8D475C27-8BAF-4B5E-8D65-729A8541B14F}.PreProd|Any CPU.ActiveCfg = Release|Any CPU
{8D475C27-8BAF-4B5E-8D65-729A8541B14F}.PreProd|Any CPU.Build.0 = Release|Any CPU
{8D475C27-8BAF-4B5E-8D65-729A8541B14F}.Test|Any CPU.ActiveCfg = Release|Any CPU
{8D475C27-8BAF-4B5E-8D65-729A8541B14F}.Test|Any CPU.Build.0 = Release|Any CPU
{8D475C27-8BAF-4B5E-8D65-729A8541B14F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8D475C27-8BAF-4B5E-8D65-729A8541B14F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8D475C27-8BAF-4B5E-8D65-729A8541B14F}.Dev|Any CPU.ActiveCfg = Release|Any CPU
{8D475C27-8BAF-4B5E-8D65-729A8541B14F}.Dev|Any CPU.Build.0 = Release|Any CPU
{8D475C27-8BAF-4B5E-8D65-729A8541B14F}.Prod|Any CPU.ActiveCfg = Release|Any CPU
{8D475C27-8BAF-4B5E-8D65-729A8541B14F}.Prod|Any CPU.Build.0 = Release|Any CPU
{8D475C27-8BAF-4B5E-8D65-729A8541B14F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8D475C27-8BAF-4B5E-8D65-729A8541B14F}.Release|Any CPU.Build.0 = Release|Any CPU
............more....
这是我的观察。
假设项目 ID "8D475C27-8BAF-4B5E-8D65-729A8541B14F"是导入的项目。
当您使用不在"新建项目"(MyMVCWebApplication)中的不同生成配置"添加现有项目"并进行编译时,您将在解决方案文件的"全局部分"中的导入项目中获得这些新的生成配置。这就是为什么您可以在"Visual Studio"的环境下拉列表中看到这些配置(调试,发布,...下拉)。
检查 Sln 文件(使用记事本打开)我注意到这些新的构建配置不会添加到全局部分(项目配置平台)部分的"MyMVCWebApplication"中的项目中。如您所见,每个项目 ID 每个环境都有两行作为 CPU。构建.0 和 CPU。ActiveCfg.Web 项目仅具有开发和发布记录。
溶液:向引用现有项目的 Web 项目的解决方案文件添加了配置。