2012-02-11 7 views
11

私のソリューションには2つのプロジェクトがあります。私は現在、デフォルトの設定モードである「デバッグ」を使用しています。私は 'リリース'のビルドをしたいとき、私はリリースモードに切り替えると私はすべての私の以前のプロジェクトのプロパティがデフォルトに設定されて、私はこのモードに手動ですべてのプロパティを追加する必要があることを意味します。Visual Studio 2010 - 異なるビルド構成間でプロジェクトプロパティを保持しますか?

たとえば、インクルードパス、プリプロセッサマクロ、ビルドマクロなどのすべてのプロパティを 'Debug'モードから 'Release'モードにコピーするなど、VS2010でこれを解決する便利な方法はありますか?

答えて

11

構成設定は.vcproj/.vcxprojファイルに格納されます。いくつかのテキストエディタでそれを開き、いくつかの設定を手動でコピーできますが、それは便利ではありません。今のところ、プロジェクトのプロパティを開いて、そのウィンドウの左上隅にあるDebug/Releaseの設定を切り替えるだけで、これらの設定をコピーできます。

次回は、すべての構成で同じになるように設定されているプロパティを設定する場合は、問題を回避するためにConfiguration:All Configurationsを選択してください。

0

構成マネージャーを使用して新しいモードを再作成し、すべての設定をコピーする構成を選択することもできます。

5

プロパティシートでは、これとプロパティに関するいくつかの問題を簡単に解決できます。

要するに、プロジェクトのすべてのプロパティはXMLドキュメント内のノードだけであり、プロパティグループノードはcondition属性を持つことができます。どのテキストエディタでも簡単に変更できますが、あまり知られていない機能は他のXMLドキュメントをインポートする機能です(いくつかのプロジェクト固有のものを除く)。

This blog postには、プロジェクトシートの使用に関するチュートリアルがあり、さらに詳しい情報はthis questionです。 Visual Studioで作成し、既存のプロジェクト設定をコピーして編集してから、プロジェクトに追加することができます。マネージャ(プロパティウィンドウではありません)。

プロパティシート内のグループは、通常の設定と同じ構文を使用し、すべての設定に対して設定することも、一部の設定にのみ適用することもできます。また、VS '変数と条件システムを使用して、プロジェクト名や他のいくつかのものでフィルタリングすることもできます。例えば、私が使用:私のビルドの一部について

<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 
    <ClCompile> 
    <WarningLevel>Level4</WarningLevel> 
    <TreatWarningAsError>true</TreatWarningAsError> 
    <Optimization>Disabled</Optimization> 
    <EnablePREfast>true</EnablePREfast> 
    <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> 
    </ClCompile> 
</ItemDefinitionGroup> 

、すべてのプロジェクト(full file here)に同じ設定を適用します。

最も便利な用途の1つは、ファイル内にビルドディレクトリを指定することです。そのため、すべてのプロジェクトが同じディレクトリに均一に構築されます(出力にはプロジェクト名を使用してください)。

1

複数の異なるビルド(デバッグ、リリース、win32、x64など)のほぼすべてのプロパティを、マクロを使用して単一の設定の集まりで管理できます。

したがって、プロジェクトの設定を編集する前に、コンフィグレーションをAll Configurationsに設定し、プラットフォーム:All Platformsに設定してください。これで、ほとんどすべての設定が、このように、すべての異なる構成にわたって実行できます。さまざまなバージョンのさまざまなライブラリを使用するためには、さまざまな設定とプラットフォームが必要です。

追加のライブラリディレクトリを:..\..\foo\bar\lib\$(Platform)_$(Configuration)

あなたが編集ボタンを押すことで、に展開し、次にクリックしますどのようなマクロ見ることができますあなたはあなたがして使用することができ、すべてのプロジェクト全体で一貫性のある命名規則を使用していると仮定すると、 Macros>>ボタン。

関連する問題