我想通过程序集来检查其他.NET应用程序正在使用的框架版本。我发现两种方法得到的框架(首先通过ImageRunetimeVersion与组件的全名)的版本,但我从中得到两个不同的值,我不知道这是正确的:c#从程序集中获取框架/运行时版本
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。现在我不知道这两个是由应用程序 – dontcare 2012-04-11 12:12:07