【问题标题】:.Net 1.1 upgrade to .Net 2 - Does it still use the .Net 1.1 framework.Net 1.1 升级到 .Net 2 - 是否仍然使用 .Net 1.1 框架
【发布时间】:2013-06-02 13:28:26
【问题描述】:

我们最近开始支持多年前编写的针对 .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 人员可以添加更明确的内容。我会在这里发布任何更新。

【问题讨论】:

    标签: asp.net iis-6 upgrade


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 嗨 Renan - 感谢您的回复。我很感激,但是如果发现了一个大洞怎么办?鉴于这是一个面向公众的网站,我宁愿不担任那个职位。
    • 如果任何地方都有大洞,很可能是在应用程序中,而不是在框架中。 .NET 1.1 已经存在了十年,无数系统都在使用它。如果框架本身有任何十年未修复的大洞,我们会注意到青蛙雨和河水变成了血。
    • 您可能是对的,尽管 Google 很快就会发现标记为严重的漏洞,这些漏洞最近才得到修补。
    • 你知道吗?你说得对。我刚刚检查过,直到 2012 年才有针对特权提升和远程代码执行的修复,这是一分钟的检查。我突然觉得也有必要检查我的旧应用程序。从好的方面来说,每当我必须从 1.0 或 1.1 过渡到 2.0 时,这并不是一件难事,即使对于一些非常大的系统也是如此。
    • 我同意,更新不应该带来任何问题,但它是测试以确保它不会耗费时间(而且你永远不能保证即使在最彻底的测试)。这就是为什么我想知道(鉴于我们的实时环境已经配置为使用 .net 2)我是否需要打扰?我刚刚有了从我们的一个开发环境中卸载 .net 1.1 并看看会发生什么的想法。
    【解决方案2】:

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

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

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

    默认情况下,使用 .NET 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 为目标。

    【讨论】:

      猜你喜欢
      • 2018-08-03
      • 1970-01-01
      • 2017-07-05
      • 2015-01-08
      • 2010-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多