【发布时间】:2017-09-03 12:17:52
【问题描述】:
我正在尝试使用最新版本的 ADAL 包 (3.13.9) 使用以下代码生成 authcontext,但遇到异常。但是,我将 ADAL 版本降级到 v2.22.302111727,它可以正常工作。我正在使用 Visual Studio 2017。3.13.9 有什么问题?
authContext = new AuthenticationContext(authority, true);
System.TypeInitializationException 发生 HResult=0x80131534
Message=类型初始化器 'Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext' 抛出异常。
来源=Microsoft.IdentityModel.Clients.ActiveDirectory StackTrace:
在 Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext..ctor(字符串 权限,布尔 validateAuthority)在 DestinationProvider.AADToken.d__4.MoveNext() 在 D:\Repo\MyProjects\nv\nv\DestinationProvider\AADToken.cs:第 32 行 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 在 ReplLoop.ReplLoop.d__1.MoveNext() 中 D:\Repo\MyProjects\nv\nv\nvReplLoop\ReplLoop.cs:52 行内部异常 1:TypeInitializationException:类型初始化器 对于“Microsoft.IdentityModel.Clients.ActiveDirectory.PlatformPlugin” 抛出异常。
内部异常 2:AdalException:平台所需的程序集 未找到。确保组装 'Microsoft.IdentityModel.Clients.ActiveDirectory.Platform, 版本=3.13.8.999,文化=中性,PublicKeyToken=31bf3856ad364e35' 存在
内部异常 3:FileNotFoundException:无法加载文件或 程序集'Microsoft.IdentityModel.Clients.ActiveDirectory.Platform, 版本=3.13.8.999,文化=中性,PublicKeyToken=31bf3856ad364e35' 或其依赖项之一。系统找不到指定的文件。
【问题讨论】:
-
你现在解决这个问题了吗?如果没有,请不要犹豫,让我知道哪个步骤阻止了您。
-
实际上没有。我切换到 v2.22.302111727 有效。 3.13.9 和 3.13.8 都给出相同的错误。
-
问题是由不正确的程序集引用引起的。要缩小问题范围,您可以创建一个新项目并仅安装
3.13.9版本的 ADAL 并比较程序集的版本,然后添加库一个一个检查哪个库导致这个问题。如果问题仍然存在,您可以在 GitHub 上分享一个代码项目以帮助重现此问题。
标签: c# azure token azure-active-directory adal