當我嘗試將Web API項目部署到雲WebSites和雲託管服務時,出現此錯誤天青:Azure WebSites或Azure雲服務上的MVC4 API [錯誤]:'System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption'
"{"ExceptionType":"System.TypeLoadException","Message":"Could not load type 'System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption' from assembly 'System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.","StackTrace":"\r\nServer stack trace: \r\n at System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly assembly, ObjectHandleOnStack retTypes)\r\n at System.Reflection.RuntimeAssembly.GetExportedTypes()\r\n at System.Web.Http.Dispatcher.DefaultHttpControllerTypeResolver.GetControllerTypes(IAssembliesResolver assembliesResolver)\r\n at System.Web.Http.WebHost.WebHostHttpControllerTypeResolver.GetControllerTypes(IAssembliesResolver assembliesResolver)\r\n at System.Web.Http.Dispatcher.HttpControllerTypeCache.InitializeCache()\r\n at System.Lazy`1.CreateValue()\r\n\r\nException rethrown at [0]: \r\n at System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly assembly, ObjectHandleOnStack retTypes)\r\n at System.Reflection.RuntimeAssembly.GetExportedTypes()\r\n at System.Web.Http.Dispatcher.DefaultHttpControllerTypeResolver.GetControllerTypes(IAssembliesResolver assembliesResolver)\r\n at System.Web.Http.WebHost.WebHostHttpControllerTypeResolver.GetControllerTypes(IAssembliesResolver assembliesResolver)\r\n at System.Web.Http.Dispatcher.HttpControllerTypeCache.InitializeCache()\r\n at System.Lazy`1.CreateValue()\r\n at System.Lazy`1.LazyInitValue()\r\n at System.Web.Http.Dispatcher.DefaultHttpControllerSelector.InitializeControllerInfoCache()\r\n at System.Lazy`1.CreateValue()\r\n\r\nException rethrown at [1]: \r\n at System.Web.Http.Dispatcher.DefaultHttpControllerSelector.SelectController(HttpRequestMessage request)\r\n at System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsyncInternal(HttpRequestMessage request, CancellationToken cancellationToken)\r\n at System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)"}"
這裏只是消息:
"Could not load type 'System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption' from assembly 'System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'."
,當我試圖從遠程站點打我的任何API的它發生。我知道它不是我的500錯誤,因爲我的一些API不會拋出它們,無論發生什麼。
有一件事需要注意,我不確定這是否會影響任何事情是我開始的這個項目針對.NET 4.5,但當Azure網站表示他們不支持4.5時將其切換到4.0。
我找不到這事,除了該鏈接: http://support.appharbor.com/discussions/problems/4822-internal-server-error-500-mvc-4-web-api
除了那傢伙正在使用的應用程序,海港,andeven仍然仍然沒有解決。感謝任何幫助。
發現這種寶石在http://www.asp.net/白皮書/ mvc4-release-notes 將ASP.NET MVC 4項目從4.5更改爲目標4.0不會更新EntityFramework程序集引用:如果在將目標設置爲4.5之後將ASP.NET MVC 4項目更改爲目標4.0,則對EntityFramwork的引用程序集仍然會指向4.5版本。要解決此問題,請重新安裝EntityFramework NuGet軟件包。 – d4rklit3