2
我有兩個Visual Studio數據庫項目。MsBuild pass項目之間的PropertyGroup
Project A
Project B
- References: Project A
項目A爲indipendent數據庫項目,而項目B具有A. 參考當我建項目BI具有的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我有一個屬性定義如下:
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<MyProperty>MyValue</MyProperty>
</PropertyGroup>
現在,在這兩個項目中,我創建了一個簡單的任務th在之前我生成項目並打印變量的值執行: 項目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中?
沒錯,這就是我所做的。我創建了一個自定義Target來構建多個項目,並在每個項目中使用標記傳遞我需要的變量。 –
Raffaeu
你可以分享你的跨項目重用的項目文件嗎? – gap
其實沒什麼特別的,你只需要一個標準的MSBuild項目文件根元素 -'。然後你想要的任何屬性,比如'PropertyGroup'。 –
Snixtor