0

我的应用程序有更新程序。当我检查更新时,我将服务器版本与应用程序主 .exe 文件的本地程序集版本进行比较。当从更新程序(更新程序是另一个 .exe 文件)获得我的应用程序主 .exe 文件的程序集版本时,该文件被阻止。我如何在不阻止重写的情况下获得我的项目的程序集版本?在 XML 文件中保留程序集版本不是一个好主意。谢谢

4

2 回答 2

1

一种快速(且肮脏)的方法是将主 exe 复制到一个临时文件并从那里加载它。

一个更优雅的解决方案是创建一个单独的 AppDomain 并在那里加载主 exe。由于您只关注版本,因此通过应用程序域之间的桥梁获取数据应该相当简单。获得版本后,可以卸载应用程序域。

我假设您正在加载程序集以检查版本。

于 2011-10-06T15:00:54.440 回答
1

您只需要 AssemblyName 即可获取版本:

AssemblyName.GetAssemblyName(filename);
于 2011-10-06T15:18:34.380 回答