Моя команда и я используем 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>
- Modified my .vstemplate file and replaced the Web.Debug and Web.Release config entries as such:
<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, который я удалил. Любая идея, откуда может взяться этот посторонний файл конфигурации/конфигурация сборки?