我们最近接受了多年前编写的Web应用程序的支持,并针对.net框架的v1.1。它在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 frameworks 1和1.1并清理了之后留下的文件。
结果是该网站运行得非常好,这表明在IIS 7环境中至少我不需要担心升级,因为我们在IIS中运行.net 2。
这不是一个理想的测试,因为它不是我们的现场环境的模仿。我将在MSDN和asp.net上发布一个问题,看看是否有任何微软人员可以添加任何更明确的内容。我会在这里发布任何更新。
答案 0 :(得分:1)
仅仅因为官方支持将结束并不意味着微软将拔掉插件并通过Windows Update强制卸载.NET 1.1。它只意味着:
因此该应用程序仍将在一年内运行。如果您单独离开服务器,则应用程序可能会运行,直到机器中断了老年。
所以我的建议是放松,更专注于新的解决方案。
答案 1 :(得分:0)
我在阅读此链接后获得了这些问题的答案(在ASP.net论坛上作为this问题的答案提供)
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为目标。