如何正确找到构建程序集的.NET运行时?

时间:2016-06-20 15:37:19

标签: c# .net runtime .net-assembly

我正在尝试查找程序集的.NET运行时版本。我查看了Determine framework (CLR) version of assembly的两个最佳答案,但它们似乎没有报告正确的版本。

我正在运行 .NET 4.6.1 的机器上构建程序集,而在 Visual Studio 中,项目的目标是 .NET 4.5.1 但是,当我使用其他问题的答案来查看装配时,我得到了:

  

v4.0.30319

而不是

的内容
  

V4.5.1。*****

发生了什么事?

1 个答案:

答案 0 :(得分:4)

请查看官方微软博客:

https://blogs.msdn.microsoft.com/rodneyviana/2014/12/23/identifying-the-net-version-you-are-running-2-0-4-5-4-5-1-or-4-5-2/

  

为了使事情更具挑战性,.NET 4.5,4.5.1和.NET 4.5.2共享与.NET 4.0相同的版本号,即4.0.30319。那么,你怎么知道你正在运行哪个版本?您可以使用与.NET 2.0相同的方法,但感兴趣的文件通常位于C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319中的clr.dll。

显然,如何辨别差异的唯一方法是查看clr.dll的内部版本号。

build number map to versions