【发布时间】:2020-05-28 07:09:55
【问题描述】:
我有一些使用 .net framework 4.5 或 .net core 2.1 或 .net core 3.1 创建的 exe 文件。
我想仅使用 c# 应用程序从此 DLL 获取框架名称和版本信息。
我在下面写了一段代码,它对 DLL 文件很有用,但对 exe 无效。
var dllInformation = Assembly.LoadFrom(@"D:\\MyProgram.dll");
Console.WriteLine(dllInformation.FullName);
Console.WriteLine(dllInformation.ImageRuntimeVersion);
Console.WriteLine(((TargetFrameworkAttribute)dllInformation.GetCustomAttributes(typeof(TargetFrameworkAttribute)).First()).FrameworkName);
我也浏览了这些链接,但我没有发现它们对 exe 文件有用:
Determine .NET Framework version for dll
如果有任何建议,请告诉我。
【问题讨论】:
-
Exe可以被其他编译器编译,与.NET/.NET Core不同
-
@mjwills 我在 Azure 中有几个可用的解决方案,我想立即知道哪些应用程序尚未在 .net 核心中迁移。我已被分配迁移所有尚未迁移到 .net core 3.1 的项目
-
@PavelAnikhouski 是的 exe 可以由另一个编译器编译,但 exe 可以使用 .net 框架构建。我想知道的只是