2016-05-04 12 views
0

この方法は愚かな質問である。.NET TransformsはcsprojファイルのPropertyGroupを変更することは可能ですか?

私は多くの設定でWebアプリケーションを手に入れました。簡単にするために、Qaとローカルを考えてみましょう。

各プロジェクトには、w構成が選択されたときに設定を定義するための各構成のPropertyGroupがあります。

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Qa|AnyCPU'"> 
<DeployIisAppPath>Default Web Site/</DeployIisAppPath> 
<DebugType>full</DebugType> 
<Optimize>false</Optimize> 
<OutputPath>bin\</OutputPath> 
<DefineConstants>TRACE</DefineConstants> 
<PlatformTarget>AnyCPU</PlatformTarget> 
<ErrorReport>prompt</ErrorReport> 
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> 
<IncludeIisSettings>false</IncludeIisSettings> 
<DebugSymbols>true</DebugSymbols> 

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Local|AnyCPU'"> 
<DebugType>full</DebugType> 
<DebugSymbols>true</DebugSymbols> 
<OutputPath>bin\</OutputPath> 
<DefineConstants>DEBUG;TRACE</DefineConstants> 
<PlatformTarget>AnyCPU</PlatformTarget> 
<ErrorReport>prompt</ErrorReport> 
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> 

したがって、基本的にQaを、デバッグ、トレースを無効にする、可能な限り最適化されるように構成されています。私はいつ展開するのが理にかなっています。 Qaをデバッグする必要があるときに問題が発生します。私は構成をQaに変更し、web.configをQa構成を指すように変更します。このようにして、VSはQaへの接続に使用された接続文字列でQaのbinパスを構築します。これの副作用は、私のすべてのプロジェクトのデバッグを無効にし、私は必要なものにブレークポイントを取得するためにそれらを一時的にすべて戻す必要があります。それは吸う、私はそれを変更する必要はありません。

これらのすべてのプロジェクトでDebugを有効にしたままにしておくことができますか?configsには、展開するときにデバッグを取り消すツールがありますか?私の最初の考えはこれを変更する変換を追加することでしたが、変換はcsprojファイルを変更できません。これを行うことができる他のツールがありますか?

答えて

1

プロジェクト設定は、どの設定をいつ使用するかを判断するための優れたツールです。プロジェクト構成名は、ターゲット環境と1対1の関係にある必要はありません。より多くの(または少ない)環境を持つことができます。だからではなく、前後に1つのコンフィギュレーション設定で "QA" のデバッグ設定を変更する

、あなたは次のような構成を用意している可能性:

  • ローカル
  • QAデバッグ
  • QAは
を最適化

..またはあなたが必要とする多くの異なる構成。

デフォルトでは、CIツールセットは、設定「QA最適化」を使用してQA環境に展開するように設定できます。トラッキングが困難な問題に遭遇し、リモートでデバッグする必要がある場合は、代わりに、「QA with debugging」設定を使用してビルドしてデプロイできます。

+0

本当ですが、それは混乱を招きます。このような状況では、これが最善のことかもしれません。 – user2326106

関連する問題