【问题标题】:How can I correctly find the .NET runtime against which an assembly has been built?如何正确找到构建程序集的 .NET 运行时?
【发布时间】:2016-06-20 15:37:19
【问题描述】:

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

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

v4.0.30319

而不是类似于

v4.5.1.*****

发生了什么事?

【问题讨论】:

  • 您是否阅读了与您链接的同一个问题的答案,该问题完全解决了您的问题? stackoverflow.com/a/18623516/1141432
  • 是的,我做到了,但我需要知道为什么 @Kaspars Ozlos 刚刚回答了问题,正如那里解释的那样,该方法不适用于程序集

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


【解决方案1】:

改为查看微软官方博客:

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 相同的方法,只是感兴趣的文件是 clr.dll,通常位于 C:\Windows\Microsoft.NET\Framework\v4.0.30319。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 1970-01-01
    相关资源
    最近更新 更多