我有一个使用Web API 2并在本地Azure仿真器中运行的.Net 4.5.1应用程序。我安装了一些OWIN组件,并且在Configuration(IAppBuilder app)函数的Startup.cs文件中,我具有以下代码块,最后一行导致异常:

HttpConfiguration httpConfiguration = new HttpConfiguration();
WebApiConfig.Register(httpConfiguration);
app.UseWebApi(httpConfiguration);
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);

该行导致异常“无法加载文件或程序集'System.Web.Cors,版本= 5.0.0.0,文化=中性,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一。”

我很难弄清楚为什么NuGet如果没有依赖关系就没有安装它。另外,我找不到自己已经安装的用于添加引用的相应dll,也找不到要安装以提供所述dll的正确NuGet软件包。

有没有人遇到过类似的问题?如果是这样,也许您可​​以为我指明正确的方向。

最佳答案

这肯定是由于您的DLL版本不同或该环境上缺少DLL而引起的。

您需要检查的几个步骤:

  • Cors DLL应该存在于您的BIN目录中[在Azure上]
  • 如果存在,则服务器上部署的DLL版本和您的本地应相同。 [您可以 checkin 属性]
  • 如果您在Azure服务器上的Cors DLL版本更高,则与本地版本比较,则可以



  • 您的新版本可以是BIN目录中可用的DLL版本。

    关于asp.net - 无法在Owin Startup.cs中加载System.Web.Cors,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25980010/

    10-14 12:01