4

我知道这是一个相当奇怪的问题,请不要喷我:)

我有一个具体的需要将当前的 Asp.Net Mvc 3(net framework 4)应用程序“降级”到 Asp.Net Mvc 2(net framework 3.5),因为我们的共享托管服务提供商不支持 .Net 4(我知道考虑到这很疯狂它自 2010 年 4 月 12 日以来一直在零售,第一个测试版于 2009 年 5 月发布,但这不是帖子的重点)。

是否有任何工具、指南或任何可以在此过程中提供帮助的东西?我有点迷失了,因为我升级了许多应用程序,但我从来没有降级过一个。

除了严格的 MVC 之外,我还使用 EF Code First 的数据层(也许 nhibernate 将是替代它的最佳工具?)

任何帮助,提示,信息,无论是赞赏。

谢谢。

编辑:更改托管服务提供商不是一种选择,否则我根本不会发布这个。我个人反对这种降级——我觉得它完全没有意义——但它仍然是唯一的选择。

4

3 回答 3

5

我会更改托管服务提供商。如果您的提供商现在不支持 .NET 4.0,那么您真的想与他们建立长期关系吗?下一个新的伟大功能发布会发生什么,他们需要多长时间来实现它?如果这是他们提供的那种服务,我认为那里没有任何未来。

这么说,如果你别无选择,只能留在他们身边,那么我认为你唯一的选择就是

  1. 在 Visual Studio 中将项目的目标框架设置更改为 3.5。
  2. 删除 MVC 3 并添加 MVC 2
  3. 将所有 Razor 视图更改为 Web 窗体视图引擎语法
  4. 重新编译并解决所有错误

对于您的 web.config 文件,我将创建一个新的 MVC 2 项目并从该 web.config 复制旧配置所需的任何额外设置。

根据项目的规模,这显然是一项艰巨的任务。

于 2011-03-28T10:30:02.023 回答
2

我能想到的唯一方法是安装一台安装了 MVC 2 的机器,获取项目并尝试编译它以 .NET 3.5 为目标。

产生很多错误。

实际上 - 这可能是说服那些持有您需要更改托管服务提供商的钱包的人的方法。您可以向他们展示错误列表并估计修复它们需要多长时间。如果这是很长一段时间(几周?),那么搬家可能更具成本效益。

于 2011-03-28T10:28:24.300 回答
0

您可以轻松地将 asp.net 4.0 网站转换为 asp.net 2.0

  1. 只做一个新网站
  2. 然后选择 .net Framework 2.0
  3. 从新网站文件夹中的 asp.net 4.0 网站文件夹中复制除 web.config 文件之外的所有文件
  4. 从所有 .vb 或 .cs 文件中删除未使用的使用
  5. 轻松运行网站
于 2011-07-21T15:26:20.517 回答