c# - 在任何框架中运行 NET 2.0 应用程序

标签 c# .net

假设我希望我的 NET 2.0 exe 在 :

  • 只安装了 NET 2.0 的 XP
  • 仅安装 NET 4.0 的 XP(或未启用 NET 2.0 的 Windows 8)

一个解决方案是创建一个 MyProgram.exe.config 文件,我编写这个实体

<supportedRuntime version="v4.0.30319"/>
<supportedRuntime version="v2.0.50727"/>

可以将这些条目(或 MyProgram.exe.config)嵌入到 exe 中吗? 谢谢。

最佳答案

A .NET .exe 称为 assembly。除了程序数据之外,它还包含有关程序的元信息,因此 CLR 可以使用它,因此您可以执行诸如 reflection 之类的操作。
你可以在程序集中提供信息,但恐怕你不能那么容易地做你想做的事。您需要让您的 .exe 检查安装的 .NET 版本并最终对其使用react。

此外,您一定不要忘记,在创建程序集时,您指定了 .NET-targetframework,即 .NET 3.5、.NET 4.0 等……所以 .NET 的程序集由于向下兼容性,2.0 无论如何都将在 .NET 4.0 上运行。

参见 here 程序集及其使用方式和here对于 System.Reflection.Assembly 类。

关于c# - 在任何框架中运行 NET 2.0 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15613260/

相关文章:

C# TCP 服务器无法响应客户端

C#:定期检查文件夹的变化?

c# - 允许 C# 编译器优化局部变量并从内存中重新获取值

c# - 在 C# 中开发 HTTP 监视器

c# - Silverlight 中的 BigEndianBitConverter?

c# - MySql 数据库中的 EF 重命名列

c# - 可调整大小的网格列

c# - 如何从 SOAP 响应 XML 创建 WCF 消息对象

c# - Reporting Services 2005 报告各部分后带有免责声明页面

.net - 如何使用Windows服务中的代码获取tiff文件中的页数