如何检查 DLL 文件编译所依据的 .NET Framework 版本?
可能的重复:
确定程序集的框架 (CLR) 版本
我有一个库/DLL 文件,其中在 .NET Framework 中编译。
现在(无需任何编码)我想检查 .NET Framework 版本 用于编译该库。我需要知道它是 2.0、3.5 还是 4.0。 有没有任何工具可以帮助我实现这一目标? (我知道它应该在框架的4.0版本下编译,但我需要100%确定使用了框架的4.0版本)。
Possible Duplicate:
Determine framework (CLR) version of assembly
I have a library/DLL file which is compiled in the .NET Framework.
Now (without any coding) I would like to check the .NET Framework version
which was used to compile this library. I need to know was it 2.0, 3.5, or 4.0.
Is there any tool that help me to achieve this?
(I know that it should be compiled under version 4.0 of the Framework, but I need to be 100% sure that version 4.0 of the Framework was used).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您必须使用 ILDASM。双击清单,您将获得
// 元数据版本:v2.0.50727
或
// 元数据版本:v4.0.30319
Framework 3.0 和 3.5 并不是真正的 CLR 新版本,因此您将继续使用 V2.0。最多,您可以通过检查依赖关系来猜测您将需要哪个框架。有些 dll 仅在 3.5 中可用,但如果您在仅 2.0 的 PC 中手动复制它们,该应用程序将可以运行。
检查 C:\windows\Microsoft.NEt\Framework,您将在相应的文件夹中找到它们。
希望这有帮助
You must use ILDASM. you double click the manifest and you get
// Metadata version: v2.0.50727
or
// Metadata version: v4.0.30319
Framework 3.0 and 3.5 are not really new releases of the CLR, so you will keep having V2.0. At most, you can guess which framework you will need by cheching the dependencies. Some dlls are available only in 3.5, but if you manually copy them in a 2.0 only PC the app will work.
Check C:\windows\Microsoft.NEt\Framework and you will find them in their according folder.
Hope this helps
如果您将其作为项目中的参考。您应该能够在属性下查看该参考的运行时版本。无需编码 =-)
If you have it as a reference in a project. You should be able to look at the Runtime version under properties for that reference. No coding required =-)
使用 ILDASM 或 Reflector 用于检查程序集清单并查看引用的 System.* 程序集的版本。
例如,使用 ILDASM 查看 .NET 程序集的清单,我可以看到它是针对 Framework 1.1 构建的
Use ILDASM or Reflector to inspect the assembly manifest and see the version of the System.* assemblies that where referenced.
For example, using ILDASM to view the manifest of a .NET assembly I can see that this was built targeting Framework 1.1
我会使用 Reflection:
但是,我'我是一名程序员。我不知道如何“无需任何编码”来确定这些类型的事物。
I would use Reflection:
But, I'm a programmer. I don't know how to determine these types of things "without any coding".