【问题标题】:Hard dependency on Microsoft.IdentityModel.Clients.ActiveDirectory 3.14.2对 Microsoft.IdentityModel.Clients.ActiveDirectory 3.14.2 的硬依赖
【发布时间】:2018-07-02 07:39:16
【问题描述】:

我正在尝试将 Azure 托管服务标识与 Azure 功能和 KeyVault 一起使用。我希望能够从保管库中获取机密,并使用 ADAL 通过证书进行身份验证以访问 SharePoint Online。我正在使用 Visual Studio 2017 进行本地开发。

我想使用 3.19.8 的 Microsoft.IdentityModel.Clients.ActiveDirectory 和 Microsoft.Azure.Services.AppAuthentication 的 nuget 包声明依赖项 Microsoft.IdentityModel.Clients.ActiveDirectory (>= 3.14.2)。但是,它似乎与 3.14.2 硬链接。如果我尝试访问保管库,则会收到异常“无法加载文件或程序集 'Microsoft.IdentityModel.Clients.ActiveDirectory, Version=3.14.2.11'”。

如果我尝试使用 3.14.2,则使用 cert 进行身份验证时会出现异常,提示方法未找到。

所以我想知道 Nuget 中的描述是否不正确,或者是否可以在似乎不允许重定向程序集版本的 Azure 函数中使用更高版本的 Microsoft.IdentityModel.Clients.ActiveDirectory。

谢谢

【问题讨论】:

  • 嗯,看起来这是 Visual Studio 的问题。我在家里的电脑上试过了,没问题。

标签: c# adal azure-managed-identity


【解决方案1】:

旧版本的 NuGet / Visual Studio 使用项目提示路径来引用打包的依赖项。使用较新版本的 NuGet 升级似乎不起作用,因为旧提示路径未更新。

请手动编辑您的 csproj 以删除这些。

【讨论】:

  • 感谢您的信息。我检查了 csproj 文件,但没有任何要删除的内容。
【解决方案2】:

这很奇怪。在发现我可以在家中的 PC 上使用它后,我在 Visual Studio 中重新输入凭据并删除并重新添加了 Microsoft.Azure.Services.AppAuthentication 包,它也开始在我的工作 PC 上工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-27
    • 1970-01-01
    • 1970-01-01
    • 2019-10-18
    • 1970-01-01
    • 1970-01-01
    • 2011-11-05
    • 1970-01-01
    相关资源
    最近更新 更多