你如何找到Windows版本的Windows服务?

时间:2016-02-01 22:03:54

标签: c# .net windows c#-4.0 service

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

我想找出构建服务的.NET版本。

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

2 个答案:

答案 0 :(得分:3)

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

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

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

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

编辑:

仅当使用InstallUtil.exe安装Windows服务时,才会显示此注册表项。但是,如果使用SC.exe安装了Windows服务,则注册表项将出现在:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\<your_service_name>

答案 1 :(得分:1)

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