我们有一个应用程序,它查看共享文件夹以获取更新版本的应用程序。
我们提出以下代码来检查程序集版本是否不同(在客户端运行,以及在服务器共享文件夹中运行)
//Obtains the current version of the Entry Assembly
versaoAtual = Assembly.GetEntryAssembly().GetName().Version;
//Path for the the new Assembly at a shared folder at server
string arquivoServidor = Path.Combine(maquinaCliente.DiretorioDeploy, @"SAMEDigital.Client.exe");
//If the file does not exist, the version is the same, so it would not be updated
if (!File.Exists(arquivoServidor))
{
versaoNova = versaoAtual;
}
else
{
//Creates a temporary AppDomain for loading the server assembly
AppDomain ad = AppDomain.CreateDomain("TempAppDomainSAMEDigitalClient");
//Obtains the server version of the server assembly
versaoNova = ad.Load(File.ReadAllBytes(arquivoServidor)).GetName().Version;
//Unload the the temporary AppDomain
AppDomain.Unload(ad);
}
但结果不是预期的,两个变量都显示相同的版本(实际运行的版本)。这不应该吗?当我们获得正在运行的程序集的版本,然后加载另一个程序集并获取该程序集的版本时。
请有人澄清我们做错了什么吗?
提前致谢。