2013-06-28 16 views
5

Mój zespół i ja używamy VS2012 dla wielu projektów i opracowaliśmy przepływ pracy z naszą grupą QA i UAT, która obejmuje 5 środowisk: lokalne, programowanie rozwoju, testowanie, preprodukcja i produkcja . Musieliśmy stworzyć konfigurację Local/Dev/Test/Preprod/Prod build dla każdego projektu i rozwiązania oraz usunąć konfiguracje debugowania i wydania.Dodaj domyślną konfigurację kompilacji do Visual Studio

Czy istnieje sposób, aby VS tworzył te środowiska domyślnie w nowych projektach zamiast w konfiguracjach debugowania/wydania?

EDYCJA: Nie znalazłem żadnej globalnej opcji, ponieważ wygląda na to, że konfiguracje kompilacji znajdują się w poszczególnych folderach projektu.

Co robiłem jest znaleźć niektóre z moich najbardziej wspólnych projektów i zmodyfikowała szablony projektów wygląda następująco:

  • Modyfikowanie pliku .csproj i zastąpić PropertyGroups z poniższym:
    <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>
  • Dodaj moja stosowne Web.Config przekształcenia dyrektyw:
    <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>
  • Modified mój .vstemplate plik i zastąpiły Web.Debug i Web.Release wpisy konfiguracyjne jako takie:
    <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>
  • Skopiowałem i zmieniłem nazwę pliku Web.Debug.config na Web.Local.config, Web.Dev.config oraz Web.Test.config i Web.Release.config na Web.Preprod.config i Web.Prod.config.

Kiedy tworzę nowe projekty, wszystkie moje pożądane środowiska są dostępne, a debugowanie już nie istnieje! Jednak wersja jest nadal dostępna, łącznie z plikiem web.Release.Config, który usunąłem. Każdy pomysł, skąd może pochodzić ta zewnętrzna konfiguracja pliku konfiguracyjnego/kompilacji?

Odpowiedz

2

Tak, utwórz custom project template. Jeśli to nie wystarczy, możesz nawet utworzyć plik custom project type, który jest jednak nieco bardziej zaangażowany.

+0

Wyeksportowałem szablon projektu, który wydaje się dobrze działać w przypadku dystrybucji dla mojego zespołu. Jednak po zaimportowaniu nadal ma konfigurację Release file/build. Jakieś sugestie? – greven

Powiązane problemy