2017-04-08 55 views
1

我想用最新版本的ADAL包(3.13.9)生成具有以下代碼的authcontext我收到異常。但是,我將ADAL版本降級到v2.22.302111727,它沒有問題。我正在使用visual studio 2017. 3.13.9有什麼問題?最新的ADAL不能生成不記名令牌

authContext = new AuthenticationContext(authority, true); 

System.TypeInitializationException發生的HResult = 0x80131534
消息=的類型初始爲 'Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext' 引發了異常。
源= Microsoft.IdentityModel.Clients.ActiveDirectory堆棧跟蹤:
在 Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext..ctor(字符串 權限,布爾validateAuthority)在 DestinationProvider.AADToken.d__4.MoveNext()中 d:\回購\ 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:\回購\ 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,文化=中性公鑰= 31bf3856ad364e35' 存在

內部異常3:FileNotFoundException異常:無法加載文件或 集「 Microsoft.IdentityModel.Clients.ActiveDirectory.Platform, 版本= 3.13.8.999文化=中性公鑰= 31bf3856ad364e35' 或它的一個依賴。該系統找不到指定的文件。

+0

你現在解決這個問題之前?如果沒有,請不要猶豫,讓我知道哪一步阻止你。 –

+0

實際上,我切換到了v2.22.302111727這是有效的。 3.13.9和3.13.8都給出相同的錯誤。 –

+0

這個問題是由不正確的程序集引用產生的。爲了縮小問題的範圍,您可以創建一個新項目並只安裝ADAL的3.13.9版本並比較程序集的版本,然後逐個添加庫到檢查哪個庫會導致此問題。如果您仍然遇到問題,可以在GitHub上共享代碼項目以幫助重現此問題。 –

回答

0

根據錯誤消息,引用不正確。如果您參考了ADAL的3.13.9版本,則不應嘗試加載版本的Microsoft.IdentityModel.Clients.ActiveDirectory.Platform

請確保不依賴於該庫你指的其他組件。然後你可以使用Nuget將ADAL更新到最新版本(3.13.9.1126)。升級後,版本Microsoft.IdentityModel.Clients.ActiveDirectoryMicrosoft.IdentityModel.Clients.ActiveDirectory.Platform應該是3.13.9.1126

請讓我知道它是否有幫助。