将默认构建配置添加到Visual Studio

时间:2013-06-28 18:34:17

标签: visual-studio visual-studio-2012 buildconfiguration

我和我的团队正在将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文件。知道这个无关的配置文件/构建配置可能来自何处?

1 个答案:

答案 0 :(得分:2)

是的,创建一个custom project template。如果这还不够,你甚至可以创建一个custom project type,但更多参与其中。