我正在嘗試將我的ASP.Net MVC4應用程序部署到Azure,但它在部署期間崩潰。顯然這是因爲某些程序正在請求程序集'System.Web.Mvc,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'。這一切都在本地完美運行,並且對於調試Azure來說是一場噩夢,因爲部署需要25-30分鐘。如何找出爲什麼在ASP.Net MVC4項目中需要程序集?
我原以爲我已經配置了CLR不要求MVC3即使一些想它使用:
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
如果我看ObjectBrowser似乎沒有什麼可以要求MVC3。找出什麼是要求它的最好方法是什麼?項目中有各種Nuget包。我想其中之一是要求MVC3?無論如何看到所有依賴關係列表等?
我得到:
CLR異常類型:「無法加載請求的類型中的一種或多種檢索有關更多信息, LoaderExceptions財產」 System.Reflection.ReflectionTypeLoadException Microsoft.WindowsAzure.ServiceRuntime嚴重:201:ModLoad: 000007fc
906a0000 000007fc
907a9000
d:\ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \ diasymreader.dll角色 入口點無法創建:System.TypeLoadException:無法 由於以下例外情況加載角色入口點: - System.IO.FileLoadException:無法加載文件或程序集「System.Web.Mvc,Version = 3.0.0.0,Culture = neutral, PublicKeyToken = 31bf3856ad364e35」或它的一個依賴。位於程序集清單定義中的 與程序集 的引用不匹配。 (從HRESULT異常:0x80131040)文件名: 'System.Web.Mvc,版本= 3.0.0.0,文化=中性 公鑰= 31bf3856ad364e35'WRN:集綁定日誌記錄被關閉。要啓用程序集綁定 故障日誌記錄,請將註冊表值 [HKLM \ Software \ Microsoft \ Fusion!EnableLog](DWORD)設置爲1.注意:有 會造成與程序集綁定失敗 日誌記錄相關的一些性能損失。要關閉此功能,請刪除註冊表值 [HKLM \ Software \ Microsoft \ Fusion!EnableLog]。
---> System.Reflection.ReflectionTypeLoadException:無法加載一個或多個請求的類型。檢索LoaderExceptions屬性 以獲取更多信息。在 System.Reflection.RuntimeModule.GetTypes(RuntimeModule模塊)處 System.Reflection.Assembly.GetTypes() System.Reflection.RuntimeModule.GetTypes()在 Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.GetRoleEntryPoint(大會 entryPointAssembly )---內部異常堆棧跟蹤的結尾---
處 微軟在 Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.CreateRoleEntryPoint(角色類型 roleTypeEnum Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.GetRoleEntryPoint(大會 entryPointAssembly)) .WindowsAzure.ServiceRuntime.RoleEnvironment。InitializeRoleInternal(角色類型 roleTypeEnum)ModLoad:000007fca2f00000 000007fc
a2f96000
d:\ WINDOWS \ SYSTEM32 \ clbcatq.dll的NTDLL ZwTerminateProcess +是0xA: 000007fc`a2fa2eaa C3 RET
和
- System.IO.FileLoadException:由於下列異常Exception object: 00000000017e0070 Exception type: System.TypeLoadException Message: Unable to load the role
切入點無法加載文件或程序集「System.Web.Mvc,版本= 3.0.0.0,文化=中立, P ublicKeyToken = 31bf3856ad364e35'或它的一個依賴關係。該 位於集清單定義不匹配裝配 參考。 (從HRESULT異常:0x80131040)文件名: 'System.Web.Mvc,版本= 3.0.0.0,文化=中性 公鑰= 31bf3856ad364e35'
WRN:集綁定日誌記錄被關閉。要啓用程序集綁定 故障日誌記錄,請將註冊表值 [HKLM \ Software \ Microsoft \ Fusion!EnableLog](DWORD)設置爲1.注意:有 會造成與程序集綁定失敗 日誌記錄相關的一些性能損失。要關閉此功能,刪除註冊表值 [HKLM \ SOFTWARE \微軟\融合!EnableLog。
InnerException:System.Reflection.ReflectionTypeLoadException,使用 !PrintException 00000000017dcf08查看更多。堆棧跟蹤(產生): StackTraceString:HRESULT:80131522
順便說一句 - 你真的應該看看使用Azure的網站通過到位桶或TFS部署Git的部署 - 我有同樣的噩夢部署時間 - 一分鐘之內發生,如果你使用的網站:http://www.windowsazure.com/en-us/develop/net/common-tasks/publishing-with-git/ – levelnis
是的,我正在考慮的網站,而不是Web角色。然而,主要問題是我們的通信是什麼造成了延遲。我們在接下來的幾周內獲得新的高速通信,所以應該改進。肯定會更多地考慮持續部署的想法等,並希望能夠達到目標。 – GraemeMiller