我使用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的处理程序。实际上,检查我的容器时,我看不到任何注册。
答案 0 :(得分: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>