类型或命名空间名称'协议'在命名空间Microsoft.IdentityModel.Protocol.E

本文关键字:命名空间 Microsoft IdentityModel Protocol 协议 类型 | 更新日期: 2023-09-27 18:02:51

当我在Microsoft.IdentityModel.Protocol.Extensions:

的nuget包中包含using语句时,我无法获得我的Visual Studio 2013 MVC项目编译

名称空间'Microsoft '中不存在类型或名称空间'Protocol'。IdentityModel'(是否缺少程序集引用?)

可能需要注意的是,我使用了类似命名但不相关的包,如下所示:

using Microsoft.IdentityModel.Protocol.Extensions;
using Microsoft.IdentityModel.Clients.ActiveDirectory;
using Microsoft.IdentityModel.Protocols;
using Microsoft.Owin.Security;
using Microsoft.Owin.Security.Cookies;
using Microsoft.Owin.Security.Notifications;
using Microsoft.Owin.Security.OpenIdConnect;
using Owin;

我已尝试更新软件包。配置网络。Config和csproj文件,以确保版本都是相同的,是最新的,并且提示路径正确地指向我的包文件夹(它是)。我还尝试通过nuget控制台(Update-Package - install)重新安装它,并确保对system . identitymodel . token . jwt的依赖已安装并且是最新的,但仍然没有运气。

我想知道这是否与其他类似名称的Microsoft的使用有关。IdentityModel包和Visual Studio很容易混淆,因为Extensions包确实存在:https://www.nuget.org/packages/Microsoft.IdentityModel.Protocol.Extensions/

节选自my packages.config

<package id="Microsoft.IdentityModel.Protocol.Extensions" version="1.0.2.206221351" targetFramework="net451" />
<package id="Microsoft.IdentityModel" version="6.1.7600.16394" targetFramework="net451" />
<package id="Microsoft.IdentityModel.Clients.ActiveDirectory" version="2.16.204221202" targetFramework="net451" />
<package id="System.IdentityModel.Tokens.Jwt" version="4.0.2.206221351" />

还应该注意的是,我正在通过包使用nuget包恢复策略。配置文件。

类型或命名空间名称'协议'在命名空间Microsoft.IdentityModel.Protocol.E

Microsoft.IdentityModel.Protocol.Extensions NuGet包包含一个名为Microsoft.IdentityModel.Protocol.Extensions.dll的程序集,但该程序集可用的命名空间如下:

  • Microsoft.IdentityModel.Extensions
  • Microsoft.IdentityModel.Protocols
  • Microsoft.IdentityModel.Tokens

以上名称空间取自NuGet包中包含的Microsoft.IdentityModel.Protocol.Extensions.xml文件,但您也可以从GitHub上的源代码中获得它们。

所以在Microsoft.IdentityModel.Protocol.Extensions NuGet包中没有Microsoft.IdentityModel.Protocol.Extensions命名空间,用法应该是:

using Microsoft.IdentityModel.Extensions;
相关文章: