如何确定Compact Framework 3.5中dll文件的文件版本

本文关键字:文件 dll 版本 何确定 Compact Framework | 更新日期: 2024-07-10 19:36:59

当指定路径时,我想确定'c#'中dll文件的文件版本。假设路径="''x''y''z.dll".

当给定路径时,如何找到z.dll的文件版本

注意:我使用Compact Framework 3.5 SP1

如何确定Compact Framework 3.5中dll文件的文件版本

// Get the file version for the notepad.
FileVersionInfo myFileVersionInfo = FileVersionInfo.GetVersionInfo(Environment.SystemDirectory + "''Notepad.exe");
// Print the file name and version number.
Console.WriteLine("File: " + myFileVersionInfo.FileDescription + ''n' +
                  "Version number: " + myFileVersionInfo.FileVersion);

发件人:http://msdn.microsoft.com/en-us/library/system.diagnostics.fileversioninfo.fileversion.aspx

所以对你来说:

FileVersionInfo myFileVersionInfo = FileVersionInfo.GetVersionInfo(@"'x'y'z.dll");

如果dll是.net或Win32,则此操作有效。反射方法仅在dll为.net.

时有效

正常框架

如果是.NET DLL,则可以使用反射。

using System.Reflection;
Assembly assembly = Assembly.LoadFrom("'x'y'z.dll");
Version ver = assembly.GetName().Version;

如果没有,您可以使用System.Diagnostics:

using System.Diagnostics;
static string GetDllVersion(string dllPath)
{
  FileVersionInfo myFileVersionInfo = FileVersionInfo.GetVersionInfo(dllPath);
  return myFileVersionInfo.FileVersion;
}
// Sample invokation
string result = GetDllVersion(@"C:'Program Files (x86)'Google'Chrome'Application'20.0.1132.57'chrome.dll");
// result value **20.0.1132.57**

紧凑框架

如果您使用.NET Compact Framework,则您无法访问FileVersionInfo

你可以查一下这个叠流问题。在唯一的答案中,你有一个指向博客的链接,其中包含修复问题的代码。