Autofac.Webapi在应用程序启动时在运行时失败

时间:2012-10-23 10:28:02

标签: dependency-injection asp.net-web-api autofac

我正在尝试将Autofac.WebApi与ASP.NET MVC4 WebApi项目一起使用。我使用Nuget安装了最新的Autofac和Autofac.WebApi,但是在尝试注册GlobalConfiguration DependencyResolver时在应用程序启动时运行时,我抛出了这个异常:

  

无法加载文件或程序集'Autofac,Version = 2.6.2.859,   Culture = neutral,PublicKeyToken = 17863af14b0044da'或其中一个   依赖。定位程序集的清单定义没有   匹配程序集引用。 (HRESULT异常:0x80131040)

2 个答案:

答案 0 :(得分:2)

最新版本的Autofac是2.6.3,而Autofac.WebApi是2.6.2。似乎Autofac.WebApi尝试调用特定版本2.6.2但无法找到它。我的web.config中的bindingRedirect从任何版本到2.6.3但问题仍然存在。

要解决此问题,我卸载了两个软件包,然后安装了Autofac指定版本2.6.2和Autofac.WebApi忽略依赖项(否则它将卸载旧的autofac并安装2.6.3)。

Install-Package autofac -version 2.6.2.859
Install-Package autofac.WebApi -version 2.6.2.859 -IgnoreDependencies

答案 1 :(得分:2)

Autofac.WebApi有一个匹配的2.6.3软件包,但它被标记为预发布。使用以下命令安装预发布版本。这将阻止您必须添加绑定重定向。

Install-Package Autofac.WebApi -Pre