私は2つのVisual Studioデータベースプロジェクトを持っています。 IプロジェクトBIを構築するときに、プロジェクトBはA. への参照を有しているMsBuildはプロジェクト間のプロパティグループ
Project A
Project B
- References: Project A
プロジェクトAは、インディペンデントデータベースプロジェクトでのMSBuildから次の期待される出力を有する:
------ Build started: Project: Project A, Configuration: Debug Any CPU
--------- Build started: Project: Project B, Configuration: Debug Any CPU ------
========== Build: 2 succeeded or up-to-date, 0 failed, 0 skipped ==========
プロジェクトB I Inをプロパティは次のように定義されています:
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<MyProperty>MyValue</MyProperty>
</PropertyGroup>
今、両方のプロジェクトで、私は簡単なタスク番目を作成しました私はプロジェクトをビルドし、それが変数の値を印刷する前に実行されます。 プロジェクトA、Bは:
<Target Name="Print" BeforeTargets="Build">
<Message Text="MyProperty is: $(MyProperty)" Importance="high" />
</Target>
残念ながら、私はMSBuildの上でこの動作を取得する:
------ Build started: Project: Project A, Configuration: Debug Any CPU
MyProperty is:
--------- Build started: Project: Project B, Configuration: Debug Any CPU ------
MyProperty is: MyValue
========== Build: 2 succeeded or up-to-date, 0 failed, 0 skipped ==========
私はへの参照を持っていますこの設定のプロジェクトBのプロジェクトA:
<ItemGroup>
<ProjectReference IncludeProjectA.dbproj">
<Name>ProjectA</Name>
<Project>{f6546bef-cea7-4e7f-b6f1-cce1c06c7b1a}</Project>
<Private>True</Private>
</ProjectReference>
</ItemGroup>
プロジェクトBのMyPropertyの値をプロジェクトAに挿入する方法はありますか?
正確には、これは私がやったことです。私は複数のプロジェクトをビルドするカスタムターゲットを作成し、それぞれがタグを使用して必要な変数を渡します。 –
Raffaeu
プロジェクト間で再利用されたプロジェクトファイルを共有できますか? – gap
本当に特別なことは何もないので、標準のMSBuildプロジェクトファイルルート要素( '')が必要です。そして、 'PropertyGroup'のような、あなたが望むどんなプロパティでも。 –
Snixtor