5

私のチームと私は、多くのプロジェクトで 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 はまだ残っています。この無関係な構成ファイル/ビルド構成がどこから来ているのでしょうか?

4

1 に答える 1

2

はい、カスタム プロジェクト テンプレートを作成します。これで十分でない場合は、少し複雑なカスタム プロジェクト タイプを作成することもできます。

于 2013-07-08T17:16:21.397 に答える