有谁知道检测哪个版本的Office的最佳方法是什么?另外,如果安装了多个版本的Office,我想知道它们是什么版本.如果我能够检测到(/)安装的Excel的特定版本,则会获得奖励.
鉴于Blah.dll的AssemblyInfo.cs的这个片段:
[assembly: AssemblyVersion("3.3.3.3")]
[assembly: AssemblyFileVersion("2.2.2.2")]
Run Code Online (Sandbox Code Playgroud)
然后在一个单独的.exe中:
var fileInfo = FileVersionInfo.GetVersionInfo("/path/to/Blah.dll");
fileInfo.ProductVersion == fileInfo.FileVersion == true;
Run Code Online (Sandbox Code Playgroud)
其他SO问题显示ProductVersion是"正确的",如果对我如何使用它有些奇怪的话会很奇怪.
ProductVersion不应该是"3.3.3.3"而FileVersion应该是"2.2.2.2"吗?什么会导致它将这两个属性报告为AssemblyFileVersion?
请建议哪个是最好的执行装配位置.
Assembly.GetAssembly(typeof(NUnitTestProject.RGUnitTests)).Location
Run Code Online (Sandbox Code Playgroud)
要么
Assembly.GetExecutingAssembly().Location
Run Code Online (Sandbox Code Playgroud)
请建议哪个更好.我GetEntryAssembly()也可以用吗?