2010-12-30 8 views
1

アセンブリをからDSLから生成しました。私はプロジェクトからそのアセンブリへの参照を作成する必要があります。構成依存のアセンブリ参照

しかし、デバッグプロジェクトの設定からデバッグアセンブリへの参照と、リリースからのリリースを参照したいと思います。

達成することは可能ですか?

+3

これは、両方のプロジェクトが同じソリューションにある場合に自動的に機能します。 –

+0

このアセンブリは、外部コンパイラによってDSLから生成されます。投稿する前にお読みください。 – user536232

+0

「外部コンパイラ」は返信のコメントにしか現れないものなので、VS SDKのDSLツールがVSとうまく統合され、DSLベースのプロジェクトと "通常の"プロジェクトを同一のソリューションで統合します。 DSLツール/コンパイラの詳細を質問に追加する必要があります。 DSLビルドが古くなった場合、ビルドプロセスをどのように機能させたいのですか? –

答えて

3

さて、私が見つけたのは...アセンブリ参照は "Debug"/"Release"パス部分の代わりに$(Configuration)を入れてプロジェクトファイルで手動で編集できます。問題なく動作します。

0

さて、ビルドイベントとしてDSLからアセンブリ生成を追加すると、正しいバージョン(デバッグ/リリース)のアセンブリを生成できます。設定名はマクロ[$(ConfigurationName)]として利用できます。また、すでに生成されていてDSLが変更されていない場合は、そのようなコマンドラインでスマートにアセンブリ生成をスキップする必要があります。つまり、構成に基づいて異なる中間ターゲット位置を持つ必要があり、その場所から別のメインロケーション(ファイルが変更されている場合)。この他の場所は、プロジェクトでアセンブリを参照する場所です。

+0

この場合、configを切り替えた後にビルドすると、生成されたアセンブリのバージョンが間違っているプロジェクトが作成されます。私はこの解決策が大好きだとは言えませんが、それ以上のものが得られない場合はうまくいくはずです。 – user536232

+0

@ user536232、Obj \ Debug \ dsl.dll、Obj \ Release \ dsl.dllなどの特定のフォルダ内に生成されたアセンブリを作成し、それを参照先のbinフォルダにコピーすることを提案しました。だからあなたは常にその特定の設定フォルダからアセンブリをコピーするので、設定を変更する必要はありません。 – VinayC

関連する問題