我正在尝试通过程序集检查其他 .NET 应用程序正在使用的框架版本。我找到了两种获取框架版本的方法(首先通过 ImageRunetimeVersion 和程序集的 FullName),但是我从中得到了两个不同的值,我不知道哪个是正确的:
Assembly ass = Assembly.LoadFrom(autPath);
string imageRuntimeVersion = ass.ImageRuntimeVersion;
Console.WriteLine("ImageRunetimeVersion: " + imageRuntimeVersion);
Console.WriteLine("FullName: " + ass.FullName);
Console.WriteLine("");
Console.WriteLine("----");
Console.WriteLine("Referenced Assemblies: ");
Console.WriteLine("");
AssemblyName[] referencedAssemblies = ass.GetReferencedAssemblies();
foreach (AssemblyName a in referencedAssemblies)
{
Console.WriteLine(a.FullName);
}
如果我要使用我的应用程序和例如paint.net 进行测试,结果是:
就像你看到的那样,我不能说哪个“版本”是正确的。最大的问题是,如果我要查看我的 .net 应用程序的项目属性,目标平台是 3.5 而不是 2.0 或 1.0-