我知道如何获取正在执行的应用程序或dll的版本。 但是,我需要查找非正在执行的应用程序的属性。
我有一个小程序,用于为我的主要应用程序设置文件关联。老版本的用户运行此程序没有意义,因为该应用程序在启动时不接受参数。因此,当文件关联器启动时,它首先检查是否可以找到主应用程序。如果可以,则希望在不执行它的情况下检查其属性。如果版本早于可以接受参数的版本,则希望告诉用户更新而不是继续设置关联。
我已经查看了System.IO.FileInfo,但似乎没有包含任何版本信息。
谢谢
我知道如何获取正在执行的应用程序或dll的版本。 但是,我需要查找非正在执行的应用程序的属性。
我有一个小程序,用于为我的主要应用程序设置文件关联。老版本的用户运行此程序没有意义,因为该应用程序在启动时不接受参数。因此,当文件关联器启动时,它首先检查是否可以找到主应用程序。如果可以,则希望在不执行它的情况下检查其属性。如果版本早于可以接受参数的版本,则希望告诉用户更新而不是继续设置关联。
我已经查看了System.IO.FileInfo,但似乎没有包含任何版本信息。
谢谢
您可以使用 FileVersionInfo.GetVersionInfo()
方法:
FileVersionInfo vi = FileVersionInfo.GetVersionInfo("myfile.dll");
字符串showVersion = vi.FileVersion;
//showVersion是实际的版本号。
此代码返回文件/文档元数据,可用于非托管DLL甚至Word文档。
您还可以使用Assembly:
Version v = Assembly.ReflectionOnlyLoadFrom("myfile.dll").GetName().Version;
这将包含.NET版本信息。
exe
文件,目前并未作为进程在执行。 - Shadow The Spring Wizard