Asp.net-Mvc-4

如何解決錯誤“嘗試通過安全透明方法’System.Web.Http.GlobalConfiguration.get_Configuration()

  • August 27, 2013

我創建了一個包含兩個項目的解決方案:一個 MVC 4 和一個類庫。該解決方案編譯並執行良好。然後我 install-package ‘Microsoft.AspNet.WebApi.OData -pre 以引入 OData WebApi 功能。當我這樣做時,我在執行時收到以下錯誤:

嘗試通過安全透明方法“System.Web.Http.GlobalConfiguration.get_Configuration()”訪問安全關鍵類型“System.Web.Http.HttpConfiguration”失敗。

當 WebApiConfig.Register(GlobalConfiguration.Configuration) 在 Global.asax 中執行時

一旦我這樣做了,解除安裝包似乎並沒有解決。它顯然刪除了 OData 組件,但隨後留下了導致此問題的任何程序集。使用 -RemoveDependencies 刪除會刪除庫中的所有 WebApi 引用,並且我無法將其恢復為工作狀態。

我在什麼包中,如何在 vanilla MVC4 應用程序中啟用 WebApi OData?

如果您從其模板創建 MVC 4 應用程序,那麼您正在安裝 Web API 4.0。如果你使用

install-package 'Microsoft.AspNet.WebApi.OData -pre

您將依賴於 ASP.NET Web API 5.0 rc。

我的建議是使用“Empty ASP.NET web application”模板而不是 MVC 4.0 模板。

這是給定 WebAPI 版本的程序集不匹配。我的失敗是因為我引用了不匹配的System.Web.Http.WebHost. 這樣你就可以…

  1. 從 NuGet 安裝最新的 WebAPI

-要麼- 2. 確保你所有的Microsoft.AspNet.WebApi.*包都在同一個版本上

引用自:https://stackoverflow.com/questions/18476370