严格依赖Microsoft.IdentityModel.Clients.ActiveDirectory 3.14.2

时间:2018-07-02 07:39:17

标签: c# adal azure-msi

我正在尝试将Azure托管服务身份与Azure函数和KeyVault结合使用。我希望能够从Vault中获取机密,并且还可以使用ADAL来通过证书进行身份验证以访问SharePoint Online。我正在使用Visual Studio 2017在本地进行开发。

我想使用Microsoft.IdentityModel.Clients.ActiveDirectory的3.19.8,以及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,则会发现找不到使用证明说方法进行身份验证的异常。

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

谢谢

2 个答案:

答案 0 :(得分:0)

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

请手动编辑csproj以将其删除。

答案 1 :(得分:0)

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