首页 > 解决方案 > PackageReference 的条件包含

问题描述

我们需要在发布版本中包含 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,

亚当。

标签: msbuild

解决方案


推荐阅读