C# 性能计数器与.Net Core的兼容性

C# 性能计数器与.Net Core的兼容性,c#,windows,.net-core,etw,C#,Windows,.net Core,Etw,在.Net Core中是否有用于控制自定义性能计数器的nuget软件包或帮助程序?我正在使用System.Diagnostics.PerformanceCounter包 Visual Studio有PerfWatson2(开发人员分析工具)扩展,它在调试时运行,因此我可以更改计数器值 但如果我将该代码作为服务安装在该机器上并启动它,则性能计数器值不会更改(始终为零)。服务用户添加到“性能监视器用户” 如果我将服务用户添加到“Administrators”组。然后性能计数器工作 也许“性能监视器用

在.Net Core中是否有用于控制自定义性能计数器的nuget软件包或帮助程序?我正在使用System.Diagnostics.PerformanceCounter包

Visual Studio有PerfWatson2(开发人员分析工具)扩展,它在调试时运行,因此我可以更改计数器值

但如果我将该代码作为服务安装在该机器上并启动它,则性能计数器值不会更改(始终为零)。服务用户添加到“性能监视器用户”

如果我将服务用户添加到“Administrators”组。然后性能计数器工作

也许“性能监视器用户”组没有与.Net Core一起工作?由于性能计数器的原因,我不想运行具有管理员权限的服务

尝试了Microsoft.Windows.Compatibility nuget软件包,但仍然没有成功。。

不幸的是,移植System.Diagnostics.PerformanceCounter nuget包的人员删除了为性能计数器在内存映射文件上设置正确权限的行。如果查看SharedPerformanceCounter.Initialize,端口中的原始行“sECURITY\u ATTRIBUTES.lpSecurityDescriptor=pSecurityDescriptor;”已被删除。

您不能为项目使用完整的框架吗?性能计数器实际上仅限于windows。你们必须使用性能计数器,还是只想使用一些计数器?我同意这是windows唯一的功能。我的代码是基于AspNetCore的,所以如果我更改了完整的框架,那么我的代码就会崩溃。性能计数器用于监视,因此它是强制的。错误组“用户”只提供读取权限,而不提供创建/更新计数器的权限。将帐户添加到“性能日志用户”将是下一个最佳猜测,serverfault.com是查找人员的正确位置。与“性能日志用户”相比,运气不佳:(