【问题标题】:running asp.net 3.5 and asp.net 2.0 in same site在同一站点中运行 asp.net 3.5 和 asp.net 2.0
【发布时间】:2011-01-26 16:00:22
【问题描述】:

我们在公司网站上运行 ASP.Net 2.0,我希望尽可能顺利地升级到 ASP.Net 3.5。 VS 2005 中的项目/解决方案架构是一个 ASP.Net 2.0 Web 项目和一个由站点代码使用的 .Net 2.0 数据访问层项目。

在新的 VS 2008 解决方案中打开项目后,它们似乎毫不费力地转换为 .Net 3.5 - 它们开箱即用地正确构建,成功部署,并且似乎工作得很好,这正是我希望 .Net 2.0 和 3.5 共享一个公共运行时。转换后的主要区别是web.config文件引用的dll现在是3.5版本了。

我想做的是零碎更新网站;当我对给定页面进行修改时,将该页面的 3.5 版本发送到我们的网络服务器,而不是立即更新整个站点。在我们的开发盒上进行测试时,这种方法似乎运行良好——站点代码与 .Net 3.5 数据访问层毫无困难地交互,少数页面正在运行 3.5 页面隐藏代码(我的意思是它们是运行在 VS 2008 中构建的程序集 - 该站点正在使用单页程序集作为代码隐藏),3.5 web.config 已经到位,并且该站点的大部分正在运行在 VS2005 中构建的代码隐藏程序集。一切看起来都很棒。

这让我担心我错过了什么。这种架构是否可行,或者是否存在我没​​有考虑过的等待 m 的问题?

【问题讨论】:

    标签: asp.net visual-studio-2008 .net-3.5 visual-studio-2005 .net-2.0


    【解决方案1】:

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

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

    请注意,这与 .NET 1.1 与 .NET 2.0 升级惨败不同。 .NET 1.1 使用与 .NET 2.0 不同的 CLR,因此脚本映射会有所不同。更糟糕的是,只需在服务器上安装 .NET 2.0 就会更新脚本映射以指向 .NET 2.0!由于 .NET 2.0 破坏了一些 .NET 1.1 应用程序,这可能会导致问题。

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

    【讨论】:

    • 这正是我的想法。已经走上了 .Net 1.1/2.0 的道路(不止一次,我很惭愧地承认)。不过,关于 web.config 继承的非常好的提示,谢谢!
    【解决方案2】:

    .NET 3.5 在很大程度上是 .NET 2.0 的超集。可能有一些小问题已经进行了一些小调整,这会吸引人们依赖晦涩的功能,但在大多数情况下你应该没问题。我的网站在同一台 Web 服务器上同时运行 .NET 3.5 和 .NET 2.0 代码,没有任何问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-27
      • 1970-01-01
      • 2010-11-19
      • 2010-12-17
      • 1970-01-01
      • 1970-01-01
      • 2010-09-12
      相关资源
      最近更新 更多