你如何找出Windows服务的.NET版本

本文关键字:NET 版本 服务 Windows 何找出 | 更新日期: 2023-09-27 18:32:52

这里有很多关于找出安装了什么.NET框架的问题。我知道我已安装 .NET v4.6.1。

我想了解服务是在哪个版本的 .NET 上构建的。

假设我安装了 .NET v2.0 的服务 (XYZ.exe)。我对代码进行了更改,并生成了另一个同名但使用 .NET v4.6.1 的可执行文件,并替换了现有的可执行文件(停止服务后)。重新启动服务时,服务是使用新的可执行文件 (.NET v4.6.1),还是具有它使用的旧可执行文件 (.NET v2.0) 的预加载代码?

你如何找出Windows服务的.NET版本

所以我认为这就是答案。如果有人评论它,我会很高兴。

我们可以进入注册表到这个级别:

HKEY_LOCAL_MACHINE'SYSTEM'ControlSet001'services'eventlog'Application'<your_service_name>

然后,我们查看密钥EventMessageFile的值,它将显示已安装服务的 .NET 版本。

编辑:

仅当使用 InstallUtil.exe 安装 Windows 服务时,才会存在此注册表项。但是,如果 Windows 服务是使用 SC.exe 安装的,则注册表项将出现在以下位置:

HKEY_LOCAL_MACHINE'SYSTEM'ControlSet001'services'<your_service_name>

右键单击相关的DLL并在属性中找到其版本。另外,如果您正在开发 - 所以请注意DLL可能会从GAC而不是从DLL加载