Rebus:是否不能将 Rebus.Castle.Windsor 与 Rebus 5.3 一起使用

Rebus: Is it not possible to use Rebus.Castle.Windsor along with Rebus 5.3

尝试将 rebus castle windsor 与 rebus 5.3 一起使用时出现编译时错误,即 "IHanlderActivator" 在未引用的程序集中定义,必须添加对程序集 rebus 4.0

的引用

rebus castle windsor现在只兼容rebus 4.0吗?

当然有可能。

我刚刚创建了一个控制台应用程序 (.NET 4.7.2) 并安装了

  • Rebus
  • Rebus.Castle.Windsor
  • Rebus.XmlConfig(因为我可以看到你正在使用它)

NuGet 包,这又导致了以下 packages.config:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Castle.Core" version="4.2.0" targetFramework="net472" />
  <package id="Castle.Windsor" version="4.1.0" targetFramework="net472" />
  <package id="Newtonsoft.Json" version="11.0.1" targetFramework="net472" />
  <package id="Rebus" version="5.3.1" targetFramework="net472" />
  <package id="Rebus.Castle.Windsor" version="4.1.0" targetFramework="net472" />
  <package id="Rebus.XmlConfig" version="4.0.0" targetFramework="net472" />
</packages>

有了这个小程序:

namespace ConsoleApp1
{
    class Program
    {
        static void Main()
        {
            using (var container = new WindsorContainer())
            {
                Configure.With(new CastleWindsorContainerAdapter(container))
                    .Transport(t => t.UseInMemoryTransport(new InMemNetwork(), "windsor-test"))
                    .Routing(r => r.TypeBasedRoutingFromAppConfig())
                    .Start();

                Console.WriteLine("Press ENTER to quit");
                Console.ReadLine();
            }
        }
    }
}

我明白了:

你能试着检查一下吗?你的 packages.config 和我的有什么不同?