代码之家  ›  专栏  ›  技术社区  ›  cori

在同一站点上运行asp.net 3.5和asp.net 2.0

  •  1
  • cori  · 技术社区  · 14 年前

    我们正在公司网站上运行asp.net 2.0,我希望尽可能顺利地将它升级到asp.net 3.5。vs 2005中的项目/解决方案体系结构是一个asp.net 2.0web项目和一个由站点代码使用的.net2.0数据访问层项目。

    在一个新的VS2008解决方案中打开项目时,它们似乎被转换成了.NET3.5,只需最少的麻烦——它们是现成的、成功部署的,并且工作得很好,这正是我所期望的,因为.NET2.0和3.5共享一个公共运行时。转换后的主要区别是web.config文件引用的dll现在是3.5版本。

    我想做的是逐段更新站点;当我对给定页面进行修改时,将该页面的3.5版本发送到我们的Web服务器,而不是立即更新整个站点。在我们的dev box上进行测试时,这种方法似乎运行得很好——站点代码与.net 3.5数据访问层交互没有任何困难,少数页面在代码后面运行3.5页(我的意思是,它们运行的是在vs 2008中构建的程序集——站点使用的是单个pag用于代码隐藏的e程序集),3.5web.config已经就位,站点的大部分运行的是在vs2005中构建的代码隐藏程序集。一切看起来都很好。

    这让我担心我错过了什么。这个架构是可行的,还是存在一个问题,就是我没有考虑等待m?

    2 回复  |  直到 14 年前
        1
  •  5
  •   John Saunders Tony    14 年前

    实际上,实际上,没有asp.net 3.5这样的东西。它只是带有一些附加程序集的asp.net 2.0。如果查看IIS中“ASP.NET 3.5”站点的脚本映射,您会发现它们指向完全相同的文件(C:\ Windows\Microsoft.NET\Framework\v2.0.50727\asp net_isapi.dll)。

    唯一需要注意的是web.config的继承。如果父虚拟目录具有包含.NET 3.5特定项的web.config,则子.NET 2.0应用程序将无法读取这些配置节,并将引发异常。

    请注意,这与.net 1.1与.net 2.0升级失败不同。.NET1.1使用的CLR与.NET2.0不同,因此脚本映射将不同。更糟糕的是,只要在服务器上安装.net 2.0,脚本映射就会更新为指向.net2.0!由于.NET2.0破坏了一些.NET1.1应用程序,这可能会导致问题。

    事实上,当我在生产服务器上安装.NET2.0Winforms应用程序时,这让我感到非常尴尬。繁荣。

        2
  •  1
  •   tvanfosson    14 年前

    .NET3.5在很大程度上是.NET2.0的超集。可能会有一些小的调整,将抓住人们依赖模糊的功能,但在大多数情况下,你应该是好的。我的网站在同一个Web服务器上运行.NET3.5和.NET2.0代码,没有问题。