2

我们最近开始支持多年前编写的针对 .net 框架 v1.1 的 Web 应用程序。它在 Windows Server 2003/IIS 6 环境下运行。

查看 IIS 中站点的配置后,目标框架设置为 2.0。

鉴于对 .net 1.1 的扩展支持将于今年 10 月停止 ( http://support.microsoft.com/lifecycle/?p1=1249 ),我正在尝试确定该站点是否仍将使用任何 .net 1.1假设应用程序是在 Visual Studio 2003 中构建和编译的,则框架程序集。

我假设是这种情况,因为尽管 ASP.net 2 被设置为 IIS 中的目标框架(因此调用的 aspet_isapi.dll 是 .net 2 等),但程序集是 .net 1.1 程序集,因此仍将使用1.1 框架。然而,这个假设真的是真的吗?

该网站只有一年左右的时间才能完全被新的解决方案取代,所以如果可能的话,我宁愿不升级它,并冒着这些变化带来的风险。

但是,如果实际使用了该框架的任何元素,我们显然不能在不受支持的框架版本上运行某些东西。

任何想法将不胜感激。

更新:

.net 1.1 似乎是 WS2k3 的核心组件,因此您不能直接卸载它。我本可以尝试删除 ASP.net 组件,但我认为这不会完全卸载所有内容,并且鉴于开发环境是共享的,我现在不能冒险造成任何问题。

但是我之前已经在我的本地机器(Windows 7/IIS 7)上设置了所有东西,所以我将应用程序池更改为指向 .net 2(它已经在经典管道模式下运行),卸载了 .net 框架 1 和 1.1 和清理之后留下的文件。

结果是该站点运行得非常好,这表明至少在 IIS 7 环境中我不需要担心升级,因为我们在 IIS 中的 .net 2 下运行。

这不是一个理想的测试,因为它不是我们生活环境的模仿。我将在 MSDN 和 asp.net 上发布一个问题,看看是否有任何 Microsoft 人员可以添加更明确的内容。我会在这里发布任何更新。

4

2 回答 2

1

仅仅因为官方支持将结束并不意味着微软会拔掉插头并通过 Windows 更新强制卸载 .NET 1.1。这只意味着:

  • 如果在框架的安全性中发现了一个巨大的漏洞,他们将不会修复它;
  • 下一个版本的 Windows 将不再有可再发行组件,下一个版本的 IIS 也不会运行它。

因此,该应用程序仍将在一年内运行。如果您不理会服务器,则应用程序可能会一直运行到机器老化为止。

所以我的建议是放松,更多地关注新的解决方案。

于 2013-06-06T13:53:35.680 回答
0

阅读此链接后,我得到了这个问题的答案(在 ASP.net 论坛上作为这个问题的答案提供)

http://msdn.microsoft.com/en-us/library/ms994381.aspx

在“应用程序加载机制和可能的问题”下,它指出:

默认情况下,使用 .NET Framework 构建的应用程序将使用构建它所针对的 Framework 版本(如果该版本安装在计算机上)运行

然后继续详细介绍(至少对于 .net 1.1 和 2.0)何时使用特定版本的框架。

本质上,因为我们的服务器同时安装了 1.1 和 2.0,所以应用程序仍将使用 1.1 版本。如果未安装 1.1,则默认情况下它将在 2.0 下运行,这解释了为什么在我从本地计算机上卸载 .net 1.0 和 1.1 后 Web 应用程序仍然可以运行。

鉴于实时服务器是 W2K3 并且我无法删除 .net 1.1,我将重建我的应用程序以定位 .net 4.0。

于 2013-06-13T10:20:03.840 回答