有条件包括PackageReference

时间:2018-05-25 16:33:19

标签: msbuild

我们需要为发布版本包含StackExchange.Redis.StrongName,但为调试版本添加StackExchange.Redis。我们的项目是.NET 4.71。

我试图在我们的csproj中实现这个:

  <Choose>
    <When Condition="'$(Configuration)' == 'Release'">
        <ItemGroup>
            <PackageReference Include="StackExchange.Redis.StrongName" Version="1.2.6" />
        </ItemGroup>
    </When>
    <Otherwise>
        <ItemGroup>
            <PackageReference Include="StackExchange.Redis" Version="1.2.6" />
        </ItemGroup>
    </Otherwise>
  </Choose>

但我仍然收到这个错误:

Error   CS0433  The type 'ConnectionMultiplexer' exists in both 'StackExchange.Redis.StrongName, Version=1.2.1.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46' and 'StackExchange.Redis, Version=1.2.6.0, Culture=neutral, PublicKeyToken=null'

我是否误解了选择是如何运作的,还是我错过了其他的东西?你能做我想做的事吗?如果没有,还有其他方法吗?

TVMIA,

亚当。

0 个答案:

没有答案