C# NServiceBus.IStartableBus未在容器中注册。N服务总线4.6.3

C# NServiceBus.IStartableBus未在容器中注册。N服务总线4.6.3,c#,ninject,nservicebus,C#,Ninject,Nservicebus,我正在尝试使用NServiceBus和Ninject实现一个非常简单的应用程序 我正试图将Ninject用作NServiceBus的容器,但出现以下错误-“NServiceBus.IStartableBus未在容器中注册。” 我相信答案很明显。。。只是不适合我 我的代码如下 public class StartApp : IWantCustomInitialization, IWantToRunWhenBusStartsAndStops { private static IKernel

我正在尝试使用NServiceBus和Ninject实现一个非常简单的应用程序

我正试图将Ninject用作NServiceBus的容器,但出现以下错误-“NServiceBus.IStartableBus未在容器中注册。”

我相信答案很明显。。。只是不适合我

我的代码如下

public class StartApp : IWantCustomInitialization, IWantToRunWhenBusStartsAndStops
{
    private static IKernel _kernel;
    public IBus Bus { get; set; }

    public void Init()
    {
        Configure.Serialization.Json();
    }

    public void Start()
    {
        _kernel = new StandardKernel();

        Configure.With()
            .NinjectBuilder(_kernel)
            .CreateBus()
            .Start();

        Bus.Send(new TestMessage {Id = Guid.NewGuid(), MessageText = "Bloop"});
    }

    public void Stop()
    {

    }
}

谷歌集团的讨论也是关于同样的问题

似乎您在错误的位置创建了配置。 应该是这样的:

public abstract class DefaultEndpointConfig
    : IConfigureThisEndpoint
    , IWantCustomInitialization
{
  IWantCustomInitialization.Init()
  {
    Configure
      .With()
      .NinjectBuilder();
      // + any other config;

    // Call optional endpoint specific config
    Init();
  }

  public virtual void Init()
  {
  }
}

它需要在端点配置中完成(对于每个端点,这就是他建议使用基类的原因),并且需要实现
IConfigureThisEndpoint

google groups讨论的问题是相同的

似乎您在错误的位置创建了配置。 应该是这样的:

public abstract class DefaultEndpointConfig
    : IConfigureThisEndpoint
    , IWantCustomInitialization
{
  IWantCustomInitialization.Init()
  {
    Configure
      .With()
      .NinjectBuilder();
      // + any other config;

    // Call optional endpoint specific config
    Init();
  }

  public virtual void Init()
  {
  }
}

它需要在端点配置中完成(对于每个端点,这就是他建议使用基类的原因),并且需要实现
IConfigureThisEndpoint

google groups讨论的问题是相同的

似乎您在错误的位置创建了配置。 应该是这样的:

public abstract class DefaultEndpointConfig
    : IConfigureThisEndpoint
    , IWantCustomInitialization
{
  IWantCustomInitialization.Init()
  {
    Configure
      .With()
      .NinjectBuilder();
      // + any other config;

    // Call optional endpoint specific config
    Init();
  }

  public virtual void Init()
  {
  }
}

它需要在端点配置中完成(对于每个端点,这就是他建议使用基类的原因),并且需要实现
IConfigureThisEndpoint

google groups讨论的问题是相同的

似乎您在错误的位置创建了配置。 应该是这样的:

public abstract class DefaultEndpointConfig
    : IConfigureThisEndpoint
    , IWantCustomInitialization
{
  IWantCustomInitialization.Init()
  {
    Configure
      .With()
      .NinjectBuilder();
      // + any other config;

    // Call optional endpoint specific config
    Init();
  }

  public virtual void Init()
  {
  }
}


它需要在端点配置中完成(对于每个端点,这就是他建议使用基类的原因),并且需要实现
IConfigureThisEndpoint

您使用的是什么包和版本?您使用的是什么包和版本?您使用的是什么包和版本?您使用的是什么包和版本?