10

我已将 MS Visual Studio 应用程序从 VS 2003 升级到 VS 2008(面向 .NET 2.0)。作为转换过程的一部分,向导说我需要采取额外的步骤,通过右键单击将我的项目转换为网站,等等等等。

我没有按照指示进行操作,Web 应用程序似乎运行良好。

我的问题是,我应该担心将其推送到生产系统吗?这里到底发生了什么?

4

5 回答 5

8

ASP.NET 中有两种类型的 Web 应用程序:网站和 Web 应用程序项目。两者的区别在这里讨论:

Visual Studio 2005 中网站和 Web 应用程序之间的区别

转换为网站允许您将 Web 应用程序项目转换为网站。

Visual Studio 2003 使用 Web 应用程序项目样式,但最初 VS2005 仅支持网站。VS2005 SP1 带回了 Web 应用程序。

如果您不想将项目转换为网站,如果您使用的是 VS2005,请应用 SP1。VS2008 都可以支持。

于 2008-09-04T01:48:34.433 回答
3

转换为网站将所有控件声明从主页类移动到辅助文件 (yourpage.aspx.designer.cs)。

它通过使用部分类来做到这一点。也就是说,您的页面使用相同的类,但拆分为两个单独的文件。

这允许 VS2k5(和 VS2k8)设计器为您的页面生成代码,而无需将生成的代码意大利面条转储到主类文件中。

您不需要执行此步骤来构建项目,但如果您继续维护该项目,您也会想要。

编辑

嘿,看,MSDN 支持我:

将代码转换为使用部分类模型

  1. 确保代码编译没有错误。
  2. 在解决方案资源管理器中,右键单击项目名称,然后单击转换为 Web 应用程序。此命令遍历项目中的每个页面和用户控件。它将所有控件声明移动到 .designer.cs 或 Designer.vb 文件。它还将事件处理程序声明添加到 .aspx 和 .ascx 文件中的服务器控件标记。
  3. 该过程完成后,检查“任务列表”窗口以查看是否报告了任何转换错误。
  4. 如果任务列表显示错误,请右键单击解决方案资源管理器中的相关页面,然后选择查看代码和查看代码生成文件以检查代码并修复问题。
  5. 重新编译项目以确保它编译时没有错误。
于 2008-09-04T01:48:56.913 回答
1

ASP.NET 中有两种类型的 Web 应用程序:网站和 Web 应用程序项目。转换为网站允许您将 Web 应用程序项目转换为网站。

据我所知,转换为网站不会这样做,Web 应用程序项目是一个常规的应用程序结构,具有典型的 \bin 等。

相反,WebSite 项目基于类的 App_Code 目录和数据的 App_Date 目录的概念,您的常规 ASPX 文件可以放在任何地方。这个想法是避免在部署之前必须预编译成 DLL,这在某些共享主机情况下会更容易。

我不知道有任何向导会在这些类型之间重组项目,但我可能错了。

于 2008-09-04T01:51:10.280 回答
1

您可能错过的唯一一件事是您是否要备份 2003 年的项目(以防万一)。这没什么大不了的。

查看:
将 Visual Studio .NET 2003 Web 项目转换为 Visual Studio Web 应用程序项目

Visual Studio 转换向导

于 2008-09-04T01:52:36.687 回答
1

转换为网站将所有控件声明从主页类移动到辅助文件 (yourpage.aspx.designer.cs)。

我为什么要这样做?每个页面都有一个 .js .css .vb .aspx 文件已经够糟糕了。我真的需要将 .vb 拆分为另外两个文件以便隐藏声明吗?page.designer.aspx.vb.h 有人吗?

于 2008-09-04T04:04:02.970 回答