我正在寻找一种方法来根据指定的配置选择性地包含一组第三方DLL。版本1和版本2的引用不需要更改,只需要更改构建中包含的DLL。
更具体地说,Version1和Version2都包含相同的DLL,只是不同的版本。所以他们都有例如库:
我的代码然后引用这些DLL中定义的接口/类/命令。我希望能够轻松地将这些DLL的Version1版本用作内容,并将这些DLL的Version2版本用作内容。
理想情况下,我可以做类似的事情:
<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>
有人对此提出了很好的建议吗?
答案 0 :(得分:1)
根据您的代码,您似乎希望为每个ItemGroup
元素添加与$(Configuration)
的值相关的条件。
<ItemGroup Label="Version1" Condition=" '$(Configuration)' == 'Release_Version1' ">
<Content Include="lib\Version1\*.dll" />
</ItemGroup>
<ItemGroup Label="Version2" Condition=" '$(Configuration)' == 'Release_Version2' ">
<Content Include="lib\Version2\*.dll" />
</ItemGroup>