带有NServiceBus的ASP.NET MVC 2无法加载请求的类型

dp.*_*dp. 2 asp.net-mvc nservicebus .net-4.0

我试图使用NServiceBus与ASP.NET MVC 2网站(使用VS 2010和.NET 4.0框架).但是,当我在本地计算机上运行该站点时,出现以下错误:

无法加载一个或多个请求的类型.检索LoaderExceptions属性以获取更多信息.

以下是我采取的相关步骤:

  • 下载了NServiceBus.2.0.0.1145二进制文件
  • 在我的asp.net mvc应用程序中,我添加了对NServiceBus.dll和NServiceBus.Core.dll的引用
  • 在Global.asax.cs中我添加了:
public static IBus Bus { get; private set; }
protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();
    RegisterRoutes(RouteTable.Routes);

    Bus = NServiceBus.Configure
        .WithWeb()
        .Log4Net()
        .DefaultBuilder()
        .XmlSerializer()
        .MsmqTransport()
            .IsTransactional(false)
            .PurgeOnStartup(false)
        .UnicastBus()
            .ImpersonateSender(false)
        .CreateBus()
        .Start();
}
Run Code Online (Sandbox Code Playgroud)
  • 在web.config中,我添加了:
<MsmqTransportConfig 
  InputQueue="MyWebClient" 
  ErrorQueue="error" 
  NumberOfWorkerThreads="1" 
  MaxRetries="5"/>

<UnicastBusConfig>
  <MessageEndpointMappings>
    <add Messages="Messages" Endpoint="MyServerInputQueue"/>
  </MessageEndpointMappings>
</UnicastBusConfig>
Run Code Online (Sandbox Code Playgroud)

该错误表明问题出在Global.asax.cs文件的第一行.NS 4.0是否可能在.NET 4.0下运行NServiceBus?

Udi*_*han 7

检查LoaderExceptions并查看它所抱怨的程序集,然后通过调用Configure.With(AllAssemblies.Except("problematicAssembly.dll")而不是Configure.WithWeb()将其排除,并保留其余的流畅初始化代码.