2012-08-14 44 views
0

MSDN,该clrver.exe工具将显示,如果你使用为什么Clrver显然没有显示所有CLR处理

clrver -all 

但是当我运行这个它不正在使用CLR的计算机上的所有进程不会显示我编写的.Net应用程序。我的应用程序必须使用CLR才能运行,所以看起来很奇怪它不在列表中。

你知道这是为什么发生吗?

回答

4

这无疑是一个版本问题。键入where clrver.exe以查看您正在使用哪一个,它应该向您显示一个或两个,存储在Windows SDK目录中。当您获得Bin\NETFX 4.0 Tools中的一个时,您将拥有一个可以检测运行CLR版本2以及CLR版本4的进程的版本。

但是,当您在Bin中得到一个版本时,或者只有旧版本的SDK安装(6.0或更早版本),那么你将运行一个clrver.exe版本,不知道任何关于.NET 4及以上的版本。因此,您只会看到运行CLR版本2的进程。

您需要clrver.exe的版本检查程序。有点讽刺,是不是;)

+0

感谢汉斯,我的确有两个版本,'bin'中只显示v2,'bin \ NETFX..'中显示v2和v4 - 但仍然他们都没有列出我的应用程序。奇怪的 – RichK 2012-08-15 12:50:13

+0

我看不到你的应用程序,你必须更好地描述它。为什么这是一个问题呢?你真的想用这个工具做什么? – 2012-08-15 12:52:30

+0

只是在C#中打开了一个WPF应用程序,并且它在运行时我期望'clrver -all'将它包含在使用CLR的进程列表中。我正在使用该工具在几台机器上检查CLR版本,然后检出'-all'模式,并认为使用C#编写的应用程序没有显示出来很奇怪。 – RichK 2012-08-15 12:55:31