【发布时间】:2013-03-04 20:43:03
【问题描述】:
我正在开发一个在 .NET 4.5 项目中使用 NServiceBus 的示例消息处理程序服务。只要使用 DefaultBuilder,它就可以正常工作。要在添加对 Autofac 的引用并将 DefaultBuilder 更改为 AutofacBuilder 后立即使用 Autofac 为其他服务配置容器,我得到如下所示的异常。对 NServiceBus.ObjectBuilder.Autofac.dll 的引用已经在项目中。
启动端点时出现异常,已记录错误。原因:可以 不加载文件或程序集'Autofac,Version = 2.6.1.841, Culture=neutral, PublicKeyToken=17863af14b0044da' 或其之一 依赖关系。定位程序集的清单定义不 匹配程序集引用。 (HRESULT 异常:0x80131040)
警告:比较程序集名称导致不匹配:主要版本
ERR:无法完成程序集的设置(hr = 0x80131040)。探测终止。
我做错了什么?我已经尝试过 Nuget,手动参考,将目标框架更改为 4.0。
编辑
添加绑定重定向后,错误信息变为
Method not found: 'Autofac.Builder.IRegistrationBuilder`3<!0,!1,!2>
Autofac.Builder.IRegistrationBuilder`3.PropertiesAutowired(Autofac.PropertyWiringFlags)'.
at NServiceBus.Hosting.GenericHost.Start() in c:\BuildAgent\work\nsb.master_6\src\hosting\NServiceBus.Hosting\GenericHost.cs:line 43
at NServiceBus.Hosting.Windows.WindowsHost.Start() in c:\BuildAgent\work\nsb.master_6\src\hosting\NServiceBus.Hosting.Windows\WindowsHost.cs:line 55
at NServiceBus.Hosting.Windows.Program.<>c__DisplayClass8.<Main>b__4(WindowsHost service) in c:\BuildAgent\work\nsb.master_6\src\hosting\NServiceBus.Hosting.Windows\Program.cs:line 97
at Topshelf.Internal.ControllerDelegates`1.StartActionObject(Object obj) in c:\Projects\TopShelfForNSB\src\Topshelf\Internal\ControllerDelegates.cs:line 17
at Topshelf.Internal.IsolatedServiceControllerWrapper`1.<>c__DisplayClass2.<set_StartAction>b__1(TService service) in c:\Projects\TopShelfForNSB\src\Topshelf\Internal\IsolatedServiceControllerWrapper.cs:line 65
at Topshelf.Internal.ServiceController`1.<.cctor>b__1(ServiceController`1 sc) in c:\Projects\TopShelfForNSB\src\Topshelf\Internal\ServiceController.cs:line 35
at Magnum.StateMachine.LambdaAction`1.Execute(T instance, Event event, Object parameter) in :line 0
at Magnum.StateMachine.EventActionList`1.Execute(T stateMachine, Event event, Object parameter) in :line 0
App.Config
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
【问题讨论】:
标签: nservicebus .net-4.5 autofac