幾天前,我已將MVC 4應用程序升級到MVC 5,因爲這些instructions現在出現以下錯誤。我使用Nuget(v4.3.3.13295)將DotNetOpenAuth更新爲最新的位,但它仍然會拋出此錯誤。派生類型必須匹配基類型的安全可訪問性或不易訪問
我該如何解決這個問題?
違反類型的繼承安全規則: 'DotNetOpenAuth.Messaging.OutgoingWebResponseActionResult'。派生的 類型必須匹配基類型的安全可訪問性,否則不易訪問。
幾天前,我已將MVC 4應用程序升級到MVC 5,因爲這些instructions現在出現以下錯誤。我使用Nuget(v4.3.3.13295)將DotNetOpenAuth更新爲最新的位,但它仍然會拋出此錯誤。派生類型必須匹配基類型的安全可訪問性或不易訪問
我該如何解決這個問題?
違反類型的繼承安全規則: 'DotNetOpenAuth.Messaging.OutgoingWebResponseActionResult'。派生的 類型必須匹配基類型的安全可訪問性,否則不易訪問。
最後解決了這個問題。原來,我需要對DotNetOpenAuth的源代碼進行一些更改並重新編譯它。這並不容易,因爲源代碼在從github下載後不能編譯。我不得不花費大約3天的時間嘗試各種各樣的東西,並學習構建系統,直到我終於編譯完成,纔將它們網格化爲DotNetOpenAuth的項目文件。似乎這個項目的作者已經放棄了它。查看更多關於此問題here。
刪除所有AssemblyInfo.cs下的所有文件/src/目錄下的文件。
[組件:AllowPartiallyTrustedCallers]
我不得不更動在兩個項目的Microsoft.Contracts參考並將其指向/tools/Contracts/PublicAssemblies/v3.5/Microsoft。 Contracts.dll,然後使用別名從該程序集中獲取類以正確解析。一些Requires.NotNull()行拒絕編譯,所以我只是評論出來......這就是生活..
運行以下命令跳過這些組件的驗證:sn.exe -Vr *,2780ccd10d57b246
一旦組件建造我引用的那些,重新添加Microsoft.AspNet.WebPages.OAuth 3.0從的NuGet,重建我的解決辦法,最後我的應用程序啓動並在MVC 5.運行
謝謝你這麼多分享這一點,從大量的問題中拯救了我女士。我必須使用以下命令跳過強名稱驗證:sn.exe -Vr「*,2780ccd10d57b246」 – eadam
不幸的是我不得不運行它。將它添加到我上面的答案中。強大的命名密鑰文件使用密碼進行加密,因此您無法重新編譯並將輸出傳遞爲真正的交易。有意義,但如果項目被放棄,如果作者要解密密鑰以便有人拿起火炬,那將是非常好的。 – TugboatCaptain