我正在尋找一種方法來選擇性地包含一組第三方DLL基於指定的配置建立。版本1和版本2的引用無需更改,只需構建中包含的DLL即可。VB.Net - MSBuild配置 - 有選擇地包括文件建立與
更具體地說,版本1和版本2都包含相同的DLL,只是不同的版本。因此,他們都具有例如庫:
- Library.Common.dll
- Library.Orange.dll
- Library.Red.dll
我的代碼然後引用接口/類/在這些DLL中定義的命令。我希望能夠輕鬆切換使用Version1版本的這些DLL作爲內容,並使用版本2的這些DLL版本作爲內容。
理想情況下,我可以這樣做:
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release_Version1|AnyCPU'">
<OutputPath>bin\Release_Version1\</OutputPath>
<!-- Looking for the correct way to do the line below -->
<IncludeItemGroup name="Version1"/>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release_Version2|AnyCPU'">
<OutputPath>bin\Release_Version2\</OutputPath>
<!-- Looking for the correct way to do the line below -->
<IncludeItemGroup name="Version2"/>
</PropertyGroup>
<ItemGroup Label="Version1">
<Content Include="lib\Version1\*.dll" />
</ItemGroup>
<ItemGroup Label="Version2">
<Content Include="lib\Version2\*.dll" />
</ItemGroup>
有誰有這個好的建議?
「包含在構建中」非常模糊。您只顯示標記爲''的文件。沒有什麼特別的事情發生在他們身上,他們不包括在構建中。只有安裝者關心內容。他們應該發生什麼? –
2014-10-29 00:08:27
感謝您的評論。我修改了一下以擴展我的意思,但我很可能錯誤地處理了這種情況。目前,我有兩個Project文件夾,一個用於Version1中的DLL,另一個用於Version2中的DLL。然後,我將Include \ Exclude這些Project文件夾,具體取決於我要構建的DLL版本。 – 2014-10-29 00:43:34