NServiceBus - 启动端点时出现异常。值不能为空。参数名称:端点

NServiceBus - Exception when starting endpoint. Value cannot be null. Parameter name: endpoint

我正在使用 NServiceBus 6.4.3 和 RabbitMQ 传输 4.4.5

我在尝试 运行 我的项目时遇到此异常:

FATAL: NServiceBus.Logging.NLog.Logger.Fatal - Exception when starting endpoint. System.ArgumentNullException: Value cannot be null.
    Parameter name: endpoint
       at NServiceBus.Receiving.<>c.<.ctor>b__0_1(SettingsHolder s) in C:\BuildAgent\work\a93f853f0c1b9532\src\NServiceBus.Core\Transports\Receiving.cs:line 17
       at NServiceBus.Features.Feature.ConfigureDefaults(SettingsHolder settings) in C:\BuildAgent\work\a93f853f0c1b9532\src\NServiceBus.Core\Features\Feature.cs:line 213
       at NServiceBus.Features.FeatureActivator.SetupFeatures(IConfigureComponents container, PipelineSettings pipelineSettings, RoutingComponent routing) in C:\BuildAgent\work\a93f853f0c1b9532\src\NServiceBus.Core\Features\FeatureActivator.cs:line 53
       at NServiceBus.InitializableEndpoint.<Initialize>d__1.MoveNext() in C:\BuildAgent\work\a93f853f0c1b9532\src\NServiceBus.Core\InitializableEndpoint.cs:line 60
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at NServiceBus.GenericHost.<Start>d__1.MoveNext() in C:\Build\src\NServiceBus.Hosting.Windows\GenericHost.cs:line 48

我不知道从哪里开始调查这个错误。

我回答这个问题只是为了让其他人偶然发现这个错误,这样您就不会浪费时间来弄清楚这意味着什么。

我在 EndpointConfig.cs:

中误接了这个电话
endpointConfiguration.DefineEndpointName(ConfigurationManager.AppSettings["EndpointName"]);

而且我的 app.config 中没有那个 EndpointName 的密钥。 就我而言,我只是删除了对 DefineEndpointName 的调用,因为它是错误添加的,但是如果您确实需要为端点定义名称,请确保您拥有正确的名称。

您使用的是旧版本 NServiceBus.Host。 NullReferenceException 已在最新版本中修复,如果您升级到 NServiceBus 7,那么您也将升级 NServiceBus.Host。