提问人:Damo 提问时间:3/18/2012 最后编辑:Daniel MannDamo 更新时间:3/18/2012 访问量:1007
.NET 2 / 3 应用程序拒绝在 .NET 4 下运行
.NET 2 / 3 application refuses to run under .NET 4
问:
我编写了一个小实用程序来收集系统数据并将其输出到文本框中。一点也不复杂,目的是审核用户机器,为软件推出做准备。
我无法确定用户将运行哪个版本的 .NET,因此当我创建解决方案时,我选择了 framework 2.0。
在我的机器上调试和测试已发布的EXE是可以的。 当我将它加载到只有 .NET 4.0(完整)的 XP 机器上时,它拒绝运行,建议我需要安装 .NET 2.0。 然后我将版本更新到 3.0,但这做了同样的事情。
我的机器上有 .NET 4.0,为什么这个应用程序不能在安装更高版本的情况下运行,我怎样才能使应用程序在所有 .NET 版本下运行?
答:
9赞
Uwe Keim
3/18/2012
#1
我过去所做的是将以下设置添加到我的 .NET 2.0 应用程序的“*.exe.config”文件中:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/>
<supportedRuntime version="v4.0"/>
</startup>
</configuration>
supportedRuntime
元素指定应用程序可以在哪些版本的 .NET 运行时下运行。
评论
5赞
Daniel Mann
3/18/2012
请务必注意,如果您打算在 .NET Framework 4 上运行应用程序,则应在 .NET Framework 4 下测试该应用程序,因为 .NET 4 是该框架的主要版本,并且可能引入了重大更改。
1赞
3/18/2012
“可能有”?这就是为什么默认情况下不能将程序标记为兼容的原因。一个简单的例子是(例如)在 .NET 4 中实现,但不是之前。List<string>
IEnumerable<object>
评论