VS 2008的"转换为网站"是什么意思?

时间:2020-03-05 18:47:25  来源:igfitidea点击:

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

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

我的问题是,我是否应该担心将其推向生产系统?这到底是怎么回事?

解决方案

回答

ASP.NET中有两种类型的Web应用程序:网站和Web应用程序项目。此处讨论了两者之间的区别:

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

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

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

如果我们不想将项目转换为网站,请在使用VS2005的情况下应用SP1. VS2008可以支持。

回答

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

它通过使用局部类来实现。也就是说,页面使用相同的类,但是分为两个单独的文件。

这使VS2k5(和VS2k8)设计器可以为页面生成代码,而无需将生成的代码细面条转储到主类文件中。

我们无需执行此步骤即可构建项目,但是如果我们继续维护该项目,则也将需要它。

编辑:

嗨,MSDN支持我:

转换代码以使用部分类模型

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

回答

There are two types of web applications in ASP.NET: The Web Site and Web Application Project.
  Convert to Website allows you to convert a Web Application Project to a Web Site.

据我所记得,"转换为网站"不执行此操作,Web应用程序项目是具有常规\ bin等的常规应用程序结构。

相反,WebSite项目基于用于类的App_Code目录和用于数据的App_Date目录的概念,常规ASPX文件可以在任何地方使用。这样做的目的是避免在部署之前必须预先编译到DLL中,这在某些共享托管情况下会更容易。

我不知道会在这些类型之间重新构造项目的任何向导,但是我可能错了。

回答

我们可能唯一想念的就是我们是否要备份2003项目(以防万一)。没什么大不了的。

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

Visual Studio转换向导

回答

Convert to Website moves all of your control declarations from the main page class to a secondary file (yourpage.aspx.designer.cs).

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