C# 如何正确找到生成程序集所依据的.NET运行时?

C# 如何正确找到生成程序集所依据的.NET运行时?,c#,.net,runtime,.net-assembly,C#,.net,Runtime,.net Assembly,我正在尝试查找程序集的.NET运行时版本。我看了两个最重要的答案:但他们似乎没有报告正确的版本 我正在运行.NET 4.6.1的机器上构建程序集,在Visual Studio中,该项目的目标是.NET 4.5.1。但是,当我使用另一个问题的答案查看程序集时,我得到: v4.0.30319 而不是按照 v4.5.1***** 发生了什么事?看看微软的官方博客: 为了使事情更具挑战性,.NET 4.5、4.5.1和.NET 4.5.2与.NET 4.0共享相同的版本号,即4.0.30319。那么,

我正在尝试查找程序集的.NET运行时版本。我看了两个最重要的答案:但他们似乎没有报告正确的版本

我正在运行.NET 4.6.1的机器上构建程序集,在Visual Studio中,该项目的目标是.NET 4.5.1。但是,当我使用另一个问题的答案查看程序集时,我得到:

v4.0.30319

而不是按照

v4.5.1*****


发生了什么事?

看看微软的官方博客:

为了使事情更具挑战性,.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
的内部版本号


您是否阅读了与您所链接的问题完全相同的答案?是的,我知道了,但我需要知道为什么@Kaspars Ozlos刚刚回答了这个问题,正如这里所解释的,这个方法不适用于<4的程序集。