我如何知道我的程序运行在哪个版本的.NET Framework上?

hal*_*ton 4 .net clr

我有一个程序,我认为它在.NET 4.0中运行,但我无法进行混合模式调试(对于64位应用程序,新的.net 4.0)

我想确认我是否真的在.NET 4.0中运行,或者它是否运行.NET 3.5

有没有办法查看内存空间或其他什么?

Gon*_*alo 10

不同的选择是:

  • 检查Environment.Version的值
  • typeof(int).Assembly.GetName().Version:这将为您提供正在运行的mscorlib.dll程序集版本.
  • 如果无法更改代码,请使用Process Explorer.然后检查加载了哪个版本的mscorlib以及从哪里加载.

  • 请注意,这将返回运行该程序的*CLR*的哪个版本.我现在无法验证它,但这应该意味着它为在.NET Framework 2和3.5上运行的应用程序报告2.0..NET framework 4附带了一个新的CLR,因此可以通过检查正在使用的CLR版本来确认. (2认同)