2013-06-28 18 views
5

Il mio team e io stiamo utilizzando VS2012 per una serie di progetti e abbiamo sviluppato un flusso di lavoro con il nostro gruppo QA e UAT che coinvolge 5 ambienti: Locale, Sviluppo, Test, Preproduzione e Produzione . Ci siamo trovati a dover creare la configurazione di build Local/Dev/Test/Preprod/Prod per ogni progetto e soluzione e rimuovere le configurazioni di debug e release.Aggiungere la configurazione di build predefinita a Visual Studio

C'è un modo per avere VS creare questi ambienti di default su nuovi progetti invece delle configurazioni di debug/release?

MODIFICA: Non sono riuscito a trovare alcuna opzione Globale per questo, poiché sembra che le configurazioni di costruzione siano tutte nelle singole cartelle di progetto.

Quello che ho fatto è trovare alcuni dei miei progetti più comuni e modificato i modelli di progetto così:

  • Modificare il file .csproj e sostituire PropertyGroups con il seguente:
    <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>
  • Aggiungere mia appropriata web.Config trasformare direttive:
    <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>
  • modificato il mio file di .vstemplate e sostituite le voci di configurazione Web.Debug e Web.Release in quanto tali:
    <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>
  • Ho copiato e rinominato Web.Debug.config in Web.Local.config, Web.Dev.config e Web.Test.config e Web.Release.config in Web.Preprod.config e Web.Prod.config.

Quando creo i nuovi progetti, tutti gli ambienti desiderati sono lì, e il debug è sparito! Tuttavia, Release è ancora lì, incluso il file web.Release.Config, che ho eliminato. Qualche idea di dove possa arrivare questa configurazione di file/configurazione estranei?

risposta

2

Sì, creare un custom project template. Se ciò non è sufficiente, puoi anche creare uno custom project type, che è un po 'più coinvolto, tuttavia.

+0

Ho esportato il modello di progetto e sembra funzionare bene per la distribuzione per il mio team. Tuttavia, al momento dell'importazione ha ancora la configurazione del file/build di rilascio. Eventuali suggerimenti? – greven