首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >StackExchange.Redis.StrongName被重新定义,但不作为包包含。

StackExchange.Redis.StrongName被重新定义,但不作为包包含。
EN

Stack Overflow用户
提问于 2017-09-05 05:44:29
回答 4查看 7.3K关注 0票数 15

我正在使用StackExchange.Redis和.Net Core2.0启动一个新项目。但我有个矛盾:

ConnectionMultiplexer类型同时存在于“StackExchange.Redis.StrongName,Version=1.2.4.0,Culture=neutral,PublicKeyToken=c219ff1ca8c2ce46”和“StackExchange.Redis,Version=1.2.6.0,Culture=neutral,PublicKeyToken=null”中。

为什么这个显示,即使你,我没有引用StackExchange.Redis.StrongName,它甚至不是相同的组装版本?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-09-06 06:02:34

我在"StackExchange.Redis“包中添加了一个条件标志,这使得它能够工作。我在两台机器上的两个新项目上尝试了这个解决方案。别问我为什么会这样。

代码语言:javascript
复制
    <Project Sdk="Microsoft.NET.Sdk.Web">
      <PropertyGroup>
        <TargetFramework>netcoreapp2.0</TargetFramework>
      </PropertyGroup>

      <ItemGroup>
        <Folder Include="wwwroot\" />
      </ItemGroup>

      <ItemGroup>
        <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
      </ItemGroup> 
      <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
        <PackageReference Include="StackExchange.Redis" Version="1.2.6" />
      </ItemGroup>

    </Project>
票数 4
EN

Stack Overflow用户

发布于 2018-02-13 03:29:06

我找到了我的解决方案这里

将以下内容添加到csproj中:

代码语言:javascript
复制
<Target Name="ChangeAliasesOfStrongNameAssemblies" BeforeTargets="FindReferenceAssembliesForReferences;ResolveReferences">
  <ItemGroup>
    <ReferencePath Condition="'%(FileName)' == 'StackExchange.Redis.StrongName'">
      <Aliases>signed</Aliases>
    </ReferencePath>
  </ItemGroup>
</Target>
票数 17
EN

Stack Overflow用户

发布于 2017-11-14 07:41:33

可以在整个应用程序中使用Strongname,1.2.6是更新的,将被使用。问题是,当您添加Redis.Stackexchange时,您将从两个不同的dll的. .Net编译器中得到相同的名称空间,不知道要使用哪个名称空间。如果您需要1.2.6,请在整个应用程序中使用StrongName版本,没有更多的问题.

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46047718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档