2

我刚刚安装了 VS2010 RC 并从 NServiceBus 2.0.0.1145 启动了 FullDuplex 示例,它运行良好。然后我将解决方案中每个项目的目标框架更改为“.NET Framework 4”,重新编译并在调试器中启动并收到以下异常:

System.InvalidOperationException 未处理消息=在扫描的程序集中找不到端点配置。这通常发生在 NServiceBus 无法加载包含 IConfigureThisEndpoint 的程序集时。尝试使用 appsetting 键在 NServiceBus.Host.exe.config 中明确指定类型: EndpointConfigurationTypeScanned 路径:C:\Development\Personal\ThirdParty\NServiceBus\samples\FullDuplex\MyClient\bin\Debug\ Source=NServiceBus.Host StackTrace:在 d:\BuildAgent-02\work\672d81652eaca4e1\src\host\NServiceBus.Host\Program.cs:NServiceBus.Host.Program.GetEndpointConfigurationType() 中的 NServiceBus.Host.Program.ValidateEndpoints(IEnumerable`1 endpointConfigurationTypes)在 d:\BuildAgent-02\work\672d81652eaca4e1\src\host\NServiceBus.Host\Program.cs:NServiceBus.Host.Program 的第 171 行。

4

4 回答 4

4

您必须在 NServiceBus.Host.exe.config中提供正确的受支持运行时版本

例如:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="EndpointConfigurationTypeScanned" value="d:\w\ServiceBusTest\"/>
  </appSettings>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
</configuration>
于 2010-05-19T14:44:00.917 回答
1

错误实际上说明了一切:)

通用主机找不到端点配置,可能是因为它无法动态发现和加载您的 .NET 4 程序集。

您可能需要查看 NServiceBus 源代码并自己针对 .NET 4 构建它才能正常工作。

于 2010-04-08T09:53:55.780 回答
1

我遇到了这个问题,发现我的 NServiceBus.Host.exe 的“启动外部程序”路径不是我的程序集所在的文件夹,因此这意味着它找不到任何端点。在这种情况下,两个选项是指向 bin 文件夹中的 NServiceBus.Host.exe 或使用menty 的答案并将 EndpointConfigurationTypeScanned 添加到配置中。

于 2011-10-12T16:27:07.717 回答
0

我永远无法完全解决这个问题。我首先必须转换所有 NSB 项目以将目标框架设置为 4.0。然后我升级到最新的 ilmerge 并将它的必要参数添加到构建脚本中。接下来,我必须更新 NAnt 和 NUnit 配置文件,使其也可以与 4.0 一起使用。我终于能够成功构建和 ilmerge,但现在在使用新编译的库执行升级的 FullDuplex 示例时,我收到与 TopShelf 框架版本相关的错误。

我假设我必须获得更新的 TopShelf 二进制文件或获取源代码并根据 4.0 框架自己构建它,但上周我无法查看它。

Andreas,有没有计划在不久的将来将 NSB 项目本身更新到 4.0 框架?

于 2010-04-15T17:45:51.140 回答