首页 > 解决方案 > 如何修复“找不到 IdentityModel.dll”?

问题描述

我正在尝试通过自定义类库使用 IdentityModel.dll。

我有一个 Web 服务(将作为 WSP 部署在 SharePoint 中),我想在其中使用 IdentityModel.Oidcclient DLL。此 DLL 未签名(没有强名称)。DLL 的签名版本要求更高版本的 .Net 框架。我们无法升级。

为了解决这个问题: 我在我的自定义类库 MyLibrary.dll 中引用了 IdentityModel.dll,并在我的原始项目“MyWebService”中引用了自定义类库 MyLibrary.dll。

按照计划,Identitymodel.OidcClient 的未签名问题已得到解决。但是我们收到 IdentityModel.dll 的错误。

现在我收到错误

{“无法加载文件或程序集'IdentityModel,Version = 3.10.6.0,Culture = Neutral,PublicKeyToken = e7877f4675df049f'或其依赖项之一。系统找不到指定的文件。”:“IdentityModel,Version = 3.10.6.0,文化=中性,PublicKeyToken=e7877f4675df049f"}

.

我在项目中添加了相同的版本。甚至公钥令牌也是一样的。我使用 GACUTIL 在 GAC 中部署了 DLL。但没有解决。我被困在这里。

标签: c#authenticationsharepointdllwsp

解决方案


将以下键添加到 web.config 中的部分:

<compilation debug="true" targetFramework="4.5" >    
    <assemblies>
      <add assembly="IdentityModel, Version=3.10.6.0, 
          Culture=neutral, PublicKeyToken=e7877f4675df049f" />
    </assemblies>
</compilation> 

推荐阅读