这是一个有趣的。我有一个针对.NET 2.0构建的小型可执行文件,以确保它可以在多种平台上运行。它是一个汇编程序,并且仅引用System。* namespace 。
当我在安装了.NET 2.0的操作系统上运行它时,它运行良好。由于.NET 4.0引入了新的运行时,因此它将无法在仅安装.NET 4.0的操作系统上运行。结果,我将受支持的运行时信息添加到了app.config文件中,如here所述。我添加了两个受支持的运行时:
<supportedRuntime version="2.0.50727" />
<supportedRuntime version="4.0" />
现在,当我在安装了.NET 2.0的系统上运行该应用程序时,它无法运行:
定义支持的运行时的顺序没有什么区别,除了错误消息中所请求版本的顺序更改(以反射(reflect)对app.config的更改)(因此CLR显然正确地获取了该信息)之外。我已经安装了.NET 2.0,并且声称我需要安装.NET 2.0!我试过修复.NET 2.0的安装,但是没有运气。我已经在第二台计算机上重现了此行为。
是什么导致此操作失败?
最佳答案
我相信您可能只是错过了v
:
<supportedRuntime version="v2.0.50727" />
<supportedRuntime version="v4.0" />
关于.net - 如何在一个应用程序中支持.NET 2.0和.NET 4.0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7321442/