通过 Visual Studio 或从命令提示符运行 nservicebus.host.exe 自托管时出现此异常。(尝试以管理员身份和我的普通用户从命令提示符运行):
2013-09-12 11:16:33,978 [1] FATAL NServiceBus.Hosting.GenericHost [(null)] <(nul l)> - System.InvalidOperationException:关键时间的 NServiceBus 性能计数器设置不正确。请运行 NServiceBus 基础设施安装程序来纠正这个问题。---> System.InvalidOperationException:无法读取类别索引:9340。
我试过运行似乎运行良好的“RunMeFirst.bat”:
C:\Program Files (x86)\NServiceBus\v3.3.4>runmefirst
C:\Program Files (x86)\NServiceBus\v3.3.4>echo off 1 个文件已复制。已复制 1 个文件。已复制 1 个文件。已复制 1 个文件。
运行基础设施安装程序并退出(如果存在则忽略其他命令行参数)。此计算机上已经安装了 RavenDB 服务,当前状态:Running 开始安装 PerformanceCounters 安装 PerformanceCounters 成功。检查是否安装了 MSMQ。已安装 MSMQ。检查是否只有需要的组件处于活动状态。安装很好。检查 DTC 是否配置正确。
该机器是带有终端服务的 windows server 2008 R2,它是多个开发人员的共享开发服务器。我怀疑win服务器上更严格的安全性应该归咎于此,因为它适用于我的win 7机器。
编辑 尝试在包管理器控制台中运行“Install-PerformanceCounters”,但同样的问题。仅供参考,包管理器控制台的输出是(我的命令在底部):
Package Manager Console Host Version 2.2.40116.9051
Type 'get-help NuGet' to see all available NuGet commands.
Type 'get-help about_NServiceBus' to see all available NServiceBus commands.
What if: Performing operation "Install-PerformanceCounters" on Target "DEV01".
Performance Counters is setup and ready for use with NServiceBus
What if: Performing operation "Install-Msmq" on Target "DEV01".
Msmq is installed and setup for use with NServiceBus What if:
Performing operation "Install-Dtc" on Target "DEV01".
DTC is not properly configured
What if: Performing operation "Install-RavenDB" on Target "DEV01".
PM> Install-PerformanceCounters
True
PM>