私のチームと私は、多くのプロジェクトで VS2012 を使用しており、ローカル、開発ステージング、テスト、運用前、および運用の 5 つの環境を含む QA および UAT グループとのワークフローを開発しました。すべてのプロジェクトとソリューションに対して 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 にコピーして名前を変更しました。
新しいプロジェクトを作成すると、目的の環境がすべてそこにあり、デバッグはなくなりました! ただし、削除した web.Release.Config ファイルを含め、Release はまだ残っています。この無関係な構成ファイル/ビルド構成がどこから来ているのでしょうか?