C# 具有相同简单名称的程序集';IdentityModel';已导入。请尝试删除其中一个引用或对其签名以启用并排

C# 具有相同简单名称的程序集';IdentityModel';已导入。请尝试删除其中一个引用或对其签名以启用并排,c#,asp.net-core,visual-studio-2017,identityserver4,openid-connect,C#,Asp.net Core,Visual Studio 2017,Identityserver4,Openid Connect,有人能帮我理解以下异常的根本原因吗?我不明白这是怎么发生的,因为它指的是我所消耗的能量 已导入具有相同简单名称“IdentityModel”的程序集。请尝试删除其中一个引用(例如“C:\Users\{MYUSERNAME}\.nuget\packages\identitymodel/3.7.0.\lib/netstandard2.0/identitymodel.dll”),或对其进行签名以同时启用 @使用{MYPROJECT.NAMESPACE}.ViewModels.Sport @型号列表 @

有人能帮我理解以下异常的根本原因吗?我不明白这是怎么发生的,因为它指的是我所消耗的能量

已导入具有相同简单名称“IdentityModel”的程序集。请尝试删除其中一个引用(例如“C:\Users\{MYUSERNAME}\.nuget\packages\identitymodel/3.7.0.\lib/netstandard2.0/identitymodel.dll”),或对其进行签名以同时启用

  • @使用{MYPROJECT.NAMESPACE}.ViewModels.Sport
  • @型号列表
  • @{
  • ViewBag.Title=“训练”
  • }
  • 异常指向我的一个视图的代码行。代码是通过使用NUnit的集成测试触发的

    IdentityModel是一个nuget包,所以我基本上无法控制它

    删除指定路径上的IdentityModel.dll无效,因为nuget包管理器会还原它,并引发相同的异常

    因此,我遵循了例外情况的第二个建议,它起了作用,但我对这种解决方法不满意:

  • 从下载源代码
  • 在完全不同的解决方案中打开下载的源代码
  • 在IdentityModel项目的项目设置中对其进行签名
  • 编译它
  • 将异常中提到的指定路径处的IdentityModel.dll替换为我自己的已签名和编译的IdentityModel.dll

  • 然而,我担心我现在必须为这个nuget包的每一个新版本,或者至少在我决定更新它的时候这样做。首先,我希望以适当的方式避免此异常。

    您访问过此链接吗:是的,我访问过。然而,我实际上不想以这种方式处理它,因为它需要我维护源代码。为了前进,我决定用这种方式解决它。但是,我仍然不是创建者,也不是贡献者,我只想通过nuget包管理器使用这个受影响的库。