0

我使用 Castle Windsor 的 3.2.0 版和 NServiceBus 的 3.3.5 版。

我在这样的控制台应用程序中配置我的总线:

    NServiceBus.Configure.With()
        .CastleWindsorBuilder(container)
        .Log4Net()
        .XmlSerializer()
        .MsmqTransport()
            .IsTransactional(true)
        .UnicastBus()
        .CreateBus()
        .Start(() => Configure.Instance.ForInstallationOn<NServiceBus.Installation.Environments.Windows>().Install());

此总线将仅由此控制台应用程序用于向总线发送消息,因此我不使用 nservice 总线主机。

浏览该行代码时,应用程序抛出异常,指出找不到 NServiceBus.Address 的处理程序。事实上,检查我的容器,我没有看到任何注册。

4

1 回答 1

1

您是否在配置文件中为 Castle.Windsor 和 Castle.Core 添加了绑定重定向?

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="Castle.Windsor" publicKeyToken="407dd0808d44fbdc" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-3.2.0.0" newVersion="3.2.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-3.2.0.0" newVersion="3.2.0.0" />
  </dependentAssembly>
</assemblyBinding>

于 2013-02-18T23:10:58.157 回答