在C#中确定引用的dll文件版本

Pro*_*ard 13 .net c#

我有一个C#解决方案,它引用了我从不同的C#解决方案创建的DLL.

使用Application.ProductVersion确定我的解决方案的产品版本非常容易.但是,我真正需要的是一种在我的程序中单独确定exe文件版本和dll的方法.我想在我的关于对话框中显示dll和exe的文件版本.这样做的代码会是什么样的?

dtb*_*dtb 21

最简单的方法是,如果您知道引用的程序集中的类型:

AssemblyName name = typeof(MyCompany.MyLibrary.SomeType).Assembly.GetName();
Run Code Online (Sandbox Code Playgroud)

Assembly.GetName返回一个AssemblyName,它具有一个Version属性,指示程序集的版本.

或者,您可以获取执行程序集引用的所有程序集的程序集名称(即.exe):

AssemblyName[] names = Assembly.GetExecutingAssembly().GetReferencedAssemblies();
Run Code Online (Sandbox Code Playgroud)