.NET Framework 和版本兼容性

发布于 2024-10-16 20:45:53 字数 229 浏览 2 评论 0原文

如果.NET应用程序(Form/Web)是使用Framework 2.0构建的,它是否可以在仅具有该框架版本4.0的计算机上运行?

例如,我安装了 Win Server 2003 的全新副本,并使用 .NET Framework v4.0 更新了系统(当时系统只有 .NET 1.0、1.1 和 4.0),但在安装 SQL Server 2008 R2 Express 时,安装程​​序要求安装该框架的另一个 v3.5 SP1。

If .NET application(Form/Web) is built with Framework 2.0, will it work with a computer having only version 4.0 of the framework?

For example I installed a fresh copy of Win Server 2003 and updated the system with v4.0 of the .NET framework(then system had only 1.0, 1.1 and 4.0 of .NET) but when installing SQL Server 2008 R2 Express the setup asked to install yet another v3.5 SP1 of the framework.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

爱她像谁 2024-10-23 20:45:53

是的,您的 2.0 应用程序将在具有 4.0 框架的计算机上运行。 dot net 4.0 具有向后兼容性。

有关详细信息,请参阅此 msdn 文章

MSDN 说

然而,在实践中,这
兼容性可能会被破坏
看似无关紧要的变化
.NET Framework 和变化
编程技术。例如,
.NET 中的性能改进
框架 4 可以暴露竞争
未发生的情况
早期版本。同样,使用
.NET Framework 的硬编码路径
集会,执行平等
与特定版本的比较
.NET Framework 的,并获取
使用私有字段的值
反射不向后兼容
做法。另外,每个版本
.NET Framework 的错误
修复和安全相关的更改
这可能会影响兼容性
一些应用程序和组件。

但是,您需要在 2.0 应用程序配置文件中将支持的运行时目标设置为 4.0。

Yes your 2.0 application will work on the computer which has 4.0 framework. Backward compatibility is there in dot net 4.0.

For more information have a look at this msdn article

MSDN says

However, in practice, this
compatibility can be broken by
seemingly inconsequential changes in
the .NET Framework and changes in
programming techniques. For example,
performance improvements in the .NET
Framework 4 can expose a race
condition that did not occur on
earlier versions. Similarly, using a
hard-coded path to .NET Framework
assemblies, performing an equality
comparison with a particular version
of the .NET Framework, and getting the
value of a private field by using
reflection are not backward-compatible
practices. In addition, each version
of the .NET Framework includes bug
fixes and security-related changes
that can affect the compatibility of
some applications and components.

However you need to target the supportedruntime to 4.0 in your 2.0 application configuration file.

穿越时光隧道 2024-10-23 20:45:53

您需要向 app.config 添加一个条目以选择在 CLRv4 上运行。

<configuration>
    <startup>
        <supportedRuntime version="v2.0.50727"  />
        <supportedRuntime version="v4.0"  />
    </startup>
</configuration>

(如果您不添加 v2 信息,它将在 v4 CLR 上运行!)

You need to add an entry to the app.config to opt-in to running on CLRv4.

<configuration>
    <startup>
        <supportedRuntime version="v2.0.50727"  />
        <supportedRuntime version="v4.0"  />
    </startup>
</configuration>

(If you don't add the v2 info it will only run on the v4 CLR!)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文