获取特定项目的文件版本

时间:2018-10-12 07:30:39

标签: c# wpf visual-studio version fileversioninfo

我有一个函数,该函数返回C#项目的程序集文件版本(在Visual Studio中)。问题在于,它不在主项目中,因此,它不返回实际应用程序的版本,而是返回其所在的项目(程序集)的版本。我尝试使用GetCallingAssembly()获取主项目的版本,但是没有运气。即使我可以使用它,如果我通过多个项目链接我的调用,我也可以想象它很容易损坏。是否可以通过名称来获取项目的版本?例如,如果我的主项目名为SolutionName.ProjectName,主窗口(这是WPF项目)则称为MainWindow.xaml(如果有任何不同)。

我当前的代码:

private string GetFileVersion()
{
    System.Reflection.Assembly assembly = System.Reflection.Assembly.GetCallingAssembly();
    FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(assembly.Location);
    return fvi.FileVersion;
}

1 个答案:

答案 0 :(得分:0)

您可以尝试通过Assembly.Load按名称手动加载程序集,以获取AssemblyName Object。这将为您提供一些version informations

如果您想获取current executable, check this out