0

通过 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>
4

2 回答 2

1

感谢 John Simons 的评论,我在这个 SO 问题中找到了答案:损坏的性能计数器

在我的特殊情况下,运行

lodctr /R

在管理员命令提示符下就足够了。

于 2013-09-25T09:28:10.407 回答
1

尝试使用 powershell cmdlet,请参阅http://docs.particular.net/nservicebus/operations/management-using-powershell

于 2013-09-16T04:36:52.033 回答