我和我的团队在多个项目中使用 VS2012,并与我们的 QA 和 UAT 团队开发了一个工作流,其中涉及 5 个环境:本地、开发阶段、测试、预生产和生产。我们发现自己必须为每个项目和解决方案创建 Local/Dev/Test/Preprod/Prod 构建配置,并删除调试和发布配置。
有没有办法让 VS 在新项目而不是调试/发布配置上默认创建这些环境?
编辑:我找不到任何全局选项,因为似乎构建配置都在各个项目文件夹中。
我所做的是找到一些我最常见的项目并因此修改了项目模板:
- 修改 .csproj 文件并将 PropertyGroups 替换为以下内容:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Local|AnyCPU' "> <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> <OutputPath>bin\</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> </PropertyGroup> <-- SNIP --> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Prod|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> <OutputPath>bin\</OutputPath> <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> </PropertyGroup>
- 添加我适当的 Web.Config 转换指令:
<Content Include="Web.config" /> <Content Include="Web.Local.config"> <DependentUpon>Web.config</DependentUpon> </Content> <Content Include="Web.Dev.config"> <DependentUpon>Web.config</DependentUpon> </Content> <Content Include="Web.Test.config"> <DependentUpon>Web.config</DependentUpon> </Content> <Content Include="Web.Preprod.config"> <DependentUpon>Web.config</DependentUpon> </Content> <Content Include="Web.Prod.config"> <DependentUpon>Web.config</DependentUpon> </Content>
- 修改了我的 .vstemplate 文件并替换了 Web.Debug 和 Web.Release 配置条目,如下所示:
<ProjectItem ReplaceParameters="true" TargetFileName="Web.config">WebApiWeb.config</ProjectItem> <ProjectItem ReplaceParameters="true" TargetFileName="Web.Local.config">Web.Local.config</ProjectItem> <ProjectItem ReplaceParameters="true" TargetFileName="Web.Dev.config">Web.Dev.config</ProjectItem> <ProjectItem ReplaceParameters="true" TargetFileName="Web.Test.config">Web.Test.config</ProjectItem> <ProjectItem ReplaceParameters="true" TargetFileName="Web.Preprod.config">Web.Preprod.config</ProjectItem> <ProjectItem ReplaceParameters="true" TargetFileName="Web.Prod.config">Web.Prod.config</ProjectItem>
- 我将 Web.Debug.config 复制并重命名为 Web.Local.config、Web.Dev.config,并将 Web.Test.config 和 Web.Release.config 复制并重命名为 Web.Preprod.config 和 Web.Prod.config。
当我创建新项目时,我想要的所有环境都在那里,调试就消失了!但是,Release 仍然存在,包括我删除的 web.Release.Config 文件。知道这个无关的配置文件/构建配置可能来自哪里吗?