将现有生成配置应用于新项目

本文关键字:配置 应用于 新项目 | 更新日期: 2023-09-27 18:36:45

这是场景,

  1. 创建了一个新的 Web 应用程序(MVC5,空模板)作为"MyMVCWebApplication"。默认生成配置为"调试"和"发布",照常进行。

  2. 导入具有调试、发布、测试和生产构建配置的现有项目"Commont.Logger"。

添加 Common.Logger 项目后,VS 2013 在构建配置下拉列表("运行"旁边)中显示所有调试、发布、测试和生产配置。

但是我无法在 Web 项目中为 Web 配置(用于测试和生产)执行"添加配置转换"。然后我检查了"配置管理器",我注意到它没有显示 Web 项目的测试和生产配置。在编辑配置中,它只有重命名和删除,没有"添加"功能。

如何将这些测试和生产生成配置添加到 Web 项目中?

将现有生成配置应用于新项目

在配置管理器("生成"菜单)中,你会看到项目列表。在"配置"列中,有一个下拉列表。在该列表的底部,您可以选择<New...>

更新:如评论中所述,这不能立即起作用。今天我遇到了类似的情况:

  1. 添加新配置时,在配置管理器中,我取消选中"创建新的解决方案配置"并单击"确定"。
  2. 我将工具栏中的配置设置为所需的配置(开发)
  3. 我右键单击 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 项目的解决方案文件添加了配置。