2010-11-10 79 views
25

在Windows 2003和Windows XP中,您可以右键单击程序集(.dll)转至属性,单击版本选项卡,然后您会看到3个不同的版本号:程序集版本,文件版本和产品版本。如何在Windows Vista和更新版本(Windows 7,2008)中查看.NET程序集的程序集版本?

如果您在Windows 2008中使用同一个文件并查看其属性,则只能看到文件版本和产品版本。

有没有办法在Windows Vista和更高版本(无第三方工具)中看到.NET程序集的程序集版本?

回答

29

不是从资源管理器。这是微软有意的举动(虽然我不喜欢它)。

你可以从PowerShell的,但:

[Reflection.AssemblyName]::GetAssemblyName('xxxx.dll').Version

此外,如果文件版本未明确设置,则默认为程序集的版本。

下面是一些信息: http://all-things-pure.blogspot.com/2009/09/assembly-version-file-version-product.html

+0

很好的回答。谢谢..你知道微软为什么这么做吗? – Mark 2010-11-10 17:54:14

+0

不知道。这当然是一个痛苦。如果有一个很好的理由我也想知道。 – 2010-11-10 17:59:36

+3

我完全不理解这一点。微软的.NET开发如此强大基于程序集版本,现在他们需要像那个属性不存在一样行事? – xr280xr 2013-04-24 15:37:34

2

在Windows 7企业版,您可以使用Windows资源管理器右键单击该组件,单击属性,然后单击详细信息选项卡。

“产品版本”属性的程序集版本格式为major.minor.build#.revision#。属性“文件版本”也有它。

不知道这是否正常工作在Windows 7

+2

那些只有在程序集版本没有被明确设置的情况下才会匹配。 – xr280xr 2013-04-24 15:36:25

5

的其他版本看看https://powerext.codeplex.com/

我知道这是迟到的方式,但我发现试图找到延长再这样其他人可能在这个问题找到它...

0

感谢Ramesh Srinivasan,至少有一种方法可以将文件版本添加到资源管理器窗口的详细信息窗格。使用值prop:System.FileVersion; System.FileDescription; System.DateModified; System.Size将一个字符串值添加到名为PreviewDetails的HKEY_CLASSES_ROOT \ dllfile。这样,如果你正在处理文件版本与程序集版本相匹配的程序集,就像Jerome建议的那样,至少你可以通过选择程序集来看到它。我找不到可用的系统文件属性记录在任何地方。

0

你总是可以编写一个Shell扩展添加属性页文件的属性,如已经在这里完成http://sbytestream.pythonanywhere.com /软件/ asmprops

+0

我的不好,你说没有第三方工具:( – 2017-03-31 11:51:56

相关问题