【发布时间】:2021-06-21 00:09:11
【问题描述】:
我正在尝试通过程序集检查其他 .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-
【问题讨论】:
-
“ImageRunetimeVersion”中的版本与通过全名调用的版本不同。最后一张图片:第一个版本:v.2.0.50727 第二个版本:1.0.0.0。现在我不知道这两个中哪个是应用程序使用的正确框架版本
标签: c# frameworks runtime version