我有一个检查更新的应用程序。要检查更新,我需要获取用户计算机上的文件版本。我使用了这段代码:
if (File.Exists(dataFile))
{
var verLocal = Version.Parse(FileVersionInfo.GetVersionInfo(dataFile).FileVersion);
if (verSite > verLocal)
{
needToAdd = true;
}
}
今天发现FileVersionInfo.GetVersionInfo(String)方法可能获取不到文件版本!以下是帮助中的描述:
如果文件不包含版本信息,则 FileVersionInfo 仅包含所请求文件的名称。
为了没有错误,我这样做了:
if (File.Exists(dataFile))
{
if (Version.TryParse(FileVersionInfo.GetVersionInfo(dataFile).FileVersion, out var verLocal))
{
if (verSite > verLocal)
{
needToAdd = true;
}
}
}
但是现在有一个问题——如果用户这个方法永远不会返回文件的版本,那么用户永远不会收到更新!所以我需要一种方法来获取始终有效的文件版本。
在 c# 中是否有此方法的替代方法?