将网站项目转为 Web form应用程序(转)

转自 http://blog.sina.com.cn/s/blog_53729e4601014ze9.html

本文介绍如何将现有的 Microsoft Visual Studio 2005 网站项目转换为 Microsoft Visual Studio 2005 Web 应用程序项目。Web 应用程序项目模型使用的概念方法与 Visual Studio .NET 2003 中的 Web 项目相同。该概念方法包括一个项目文件,用于将文件和编译包含到单个程序集中,或将它们排除在外。

要完成转换操作要进行以下步骤:

  • 打开并验证 Visual Studio 2005 网站项目。
  • 创建新的 Visual Studio 2008 Web 应用程序项目。
  • 设置项目引用。
  • 将文件复制到新的 Web 应用程序项目。
  • 转换项目文件。
  • 运行 Web 应用程序项目。
  • 添加命名空间语法。
  • 转换声明性强类型数据集。
  • 转换配置文件对象代码。

若要完成转换,您需要:

  • Visual Studio 2008 或 Microsoft Visual Studio 2005 Service Pack 1 (SP1)
  • .NET Framework 2.0 版。

    转换项目之前,应验证项目是否可以正确运行。这有助于防止在转换期间发生错误。

    打开并验证 Visual Studio 2005 Web 项目

    1. 打开现有的 Visual Studio 2005 解决方案。
    2. 在“文件”菜单中单击“打开”,再单击“网站”。

      将显示“打开网站”对话框。

    3. 选择要打开的项目文件夹,然后单击“打开”。
    4. 在“生成”菜单上单击“生成网站”。
    5. 在“调试”菜单中单击“启动调试”。也可以按 F5。
    6. 验证项目是否按预期运行。

创建新的 Visual Studio 2008 Web 应用程序项目

转换现有 Visual Studio 2005 网站项目的最佳策略是先在单独的目录中创建一个新的空白 Visual Studio 2008 Web 应用程序项目。这样可避免现有网站文件的任何部分发生更改。它还有利于将现有功能复制到新的 Web 应用程序项目中。

您可以将新项目添加到现有解决方案中,当存在多个要使用的类库项目时,这将是理想的方案。另外,也可以启动 Visual Studio 的新实例并创建新的解决方案和项目。

在新解决方案中创建新的 Visual Studio 2008 Web 应用程序项目

  1. 在 Visual Studio 2008 中,关闭所有打开的解决方案。
  2. 在“文件”菜单中单击“新建”,再单击“项目”。

    将显示“新建项目”对话框。

  3. 在“新建项目”对话框的“项目类型”部分中,展开要使用的语言,然后选择“Web”以显示与 Web 相关的模板。
  4. 选择“ASP.NET Web 应用程序”。
  5. 键入“名称”、“位置”和“解决方案名称”的值,然后单击“确定”以创建 Web 应用程序项目。
  6. 创建项目后,请删除自动创建的 Default.aspx 和 Web.config 文件。

将网站项目复制到 Web 应用程序项目中

  1. 在“解决方案资源管理器”中,右击网站项目,然后选择“在 Windows 资源管理器中打开文件夹”。
  2. 选择要复制网站项目的文件。
  3. 右击选定的文件,然后选择“复制”。
  4. 在 Web 应用程序项目中,右击该 Web 应用程序项目,然后选择“在 Windows 资源管理器中打开文件夹”。
  5. 将网站项目文件粘贴到 Web 应用程序目录中。
  6. 在 Web 应用程序项目的“解决方案资源管理器”中,单击“显示所有文件”按钮。
  7. 在“解决方案资源管理器”中选择新的文件。
  8. 右击选定的文件,然后单击“包括在项目中”。

Visual Studio 2008 网站项目与 Visual Studio 2008 Web 应用程序项目的一个区别是,网站项目模型会动态生成由工具生成的分部类。

将文件从网站项目复制到 Web 应用程序项目之后,您会发现每个页和用户控件的代码隐藏文件仍与 .aspx、.master 和 .ascx 文件关联。此过程并未生成 .designer.cs 或 .designer.vb 文件。在下一步中,您要转换这些页,以便将其分部类保存在 .designer.cs 或 .designer.vb 文件中。

转换项目文件

Visual Studio 包括一个用于转换 Web 应用程序项目中的页和类以使用其分部类的选项。分部类用于分隔页或用户控件代码隐藏代码中的标记。这些由设计器生成的类都保存在代码隐藏文件之外的一个单独的文件中。

在转换过程中,Visual Studio 2008 将以递归方式检查项目中的每个页、母版页和用户控件,并自动为它们中的每一项生成一个 .designer.cs 文件。此外,Visual Studio 还会更改 .aspx 或 .ascx 文件,以使用 codeBehind 属性代替 codeFile 属性。此命令还会将 App_Code 文件夹重命名为 Old_App_Code。

将页和类转换为使用 Web 应用程序项目中的分部类

  1. 在“解决方案资源管理器”中,右击包含要转换的页和类的项目根文件夹,然后单击“转换为 Web 应用程序”。
  2. 生成项目,以查看是否存在任何编译错误。

如果您看到错误,则可以检查两个最常见的原因,如下所述:

  • 缺少必须添加到项目中的程序集引用。
  • 动态生成的类型(例如 Profile 对象或类型化数据集)存在问题。

如果缺少程序集引用,请打开引用管理器并进行添加。如果使用的是动态生成的类型,请参见本主题后面的“转换声明性强类型数据集” 和“转换配置文件对象代码”。

由于 ASP.NET 2.0 会动态编译 App_Code 文件夹中的所有类,因此不应将编译为 Visual Studio 2008 Web 应用程序的一部分的类存储在该文件夹中。否则,该类将被编译两次。第一次将作为 Visual Studio 2008 Web 应用程序项目程序集的一部分编译,第二次则是由 ASP.NET 在运行时编译。这可能导致“未能加载类型”异常。之所以出现此异常,是因为应用程序中存在重复的类型名称。

正确的方法应是将类文件存储在 App_Code 文件夹之外的项目文件夹中。此操作是通过“转换为 Web 应用程序”命令自动完成的,此命令可将该文件夹重命名为 Old_App_Code。

运行 Web 应用程序项目

现在可以编译并运行应用程序。默认情况下,Visual Studio 2008 将使用内置的 ASP.NET Development Server 运行网站。您也可以将项目配置为使用 Internet 信息服务 (IIS)。若要管理 Web 应用程序项目设置,请右击该项目,再单击“属性”。随后,可以选择“Web”选项卡来配置这些运行时设置。

其他转换选项

将项目转换为 Web 应用程序项目时,还需要考虑其他一些转换选项。这些选项如下:

  • 添加命名空间语法。
  • 转换声明性强类型数据集。
  • 转换配置文件对象代码。

添加命名空间语法

默认情况下,使用 Visual Studio 2008 网站项目模型生成的页和类不会自动包含代码命名空间。但是,使用 Visual Studio 2008 Web 应用程序项目模型生成的页、控件和类会自动包含代码命名空间。将网站项目转换为 Web 应用程序项目时,必须向代码添加命名空间。

例如,当您使用 C# 时,可通过 C# 代码编辑器中的“外侧代码”快捷菜单命令向 Visual Studio 中的现有类添加命名空间。

向现有类添加命名空间

  1. 打开要修改的代码文件。
  2. 在源编辑器中选择一个类(或多个类),右击所选的代码,然后单击“外侧代码”。
  3. 在列表中选择“命名空间”项。

扩展名为 .aspx、.ascx、.master、.ashx、.asmx 和 .asax 的文件包含带有 Inherits 或 Class 属性的指令(例如 @ Page指令),当这些文件是代码隐藏页时,上述属性将列出它们调用的类名。如果向属于这些文件类型的代码隐藏文件中添加了命名空间,则还必须将该命名空间添加到 Inherits 和 Class 声明中。例如,如果向名为 Details.aspx 的代码隐藏文件中添加WebApplication5 命名空间,则还需要将 @ Page 指令的 Inherits 属性从 inherits=Details_aspx 更改为inherits=WebApplication5.Details_aspx。

转换声明性强类型数据集

如果 Visual Studio 2008 网站项目的 App_Code 文件夹中包含强类型数据集类,则还必须执行另一项更改才能修复 Web.config 文件中的 connectionString 元素。此外,还必须为数据集类中的每个 TableAdapter 对象设置connectionString 元素。

修复强类型数据集的 connectionString

  1. 在“解决方案资源管理器”的 App_Code 文件夹中,右击该数据集类,然后单击“视图设计器”。

    将显示该数据集的“设计器”窗口。

  2. 右击 TableAdapter 对象,然后单击“属性”。
  3. 选择“Connection”属性,然后通过选择一个可用选项来重置该连接。

    更新连接时,连接字符串也将随之更新。

  4. 对于每个数据集中的每个 TableAdapter 对象,请重复上述步骤。

转换配置文件对象代码

ASP.NET 2.0 增加了对配置文件属性的支持。利用此功能,可以在个性化数据库中存储和检索用户配置文件数据。在 Visual Studio 2008 网站项目中,ASP.NET 会自动向项目中的每个 ASP.NET 网页添加一个 Profile 对象(ProfileCommon 类的实例)。此对象可对应用程序 Web.config 文件的 profile 节中所定义的全部属性提供强类型访问。您可以获取此对象的 IntelliSense 数据,并自动在其中保存和检索值。

例如,应用程序的 Web.config 文件可能包含以下部分。

<profile defaultProvider="AspNetSqlProfileProvider"> <properties> <add name="Teachers" type="Teachers" allowAnonymous="true" /> </properties> </profile>

附记

打开一个 ASP.NET 网站,试图在“设计”视图中对内容页进行编辑时,竟然什么也看不到,不能进行可视化编辑,也无法在代码文件中创建事件处理程序。遇到了这种情况,令人非常困惑。因此想到把ASP.NET网站转换为ASP.NET Web应用程序项目是否能够解决这个问题,结果是肯定的。

时间: 2024-11-03 22:03:47

将网站项目转为 Web form应用程序(转)的相关文章

添加asp.net mvc到现有的asp.net web form 应用程序

前言 asp.net mvc的前一版本为asp.net web Form(Asp.net mvc之前称为asp.net),其第一个版本与2002年年初发布.asp.net web form 属于.net框架的一部分.在接下来的十余年,asp.net web form框架稳步发展,不去越来越多的网站均采用asp.net 框架.几年后,新的web开发框架asp.net mvc 发布.如果想将asp.net mvc添加到现有的asp.net web form 系统中怎么办呢? 正文 如果想避免风险,想

vs 2010 网站项目和asp.net 应用程序引用webservice

项目需要做对接,对方提供的是一个webservice接口,自己建了个网站项目,然后添加web 引用,一切正常. 当实际编码的时候,发现一些类.方法找不到. 百思不得其解,只得对照对方提供的demo 看,发现我们项目建的不一样,引用后的webservice服务显示也有 很大的差别,想着是不是这个原因.所以赶紧也建了个asp.net应用程序项目,代码拷贝过来,发现好了,找不到的 类.方法都有了,原因暂时不明,如果哪位朋友知道,给我留言,小生不胜感激!

从myeclipse导入eclipse,不能识别为web项目(java项目转为web项目)

1.进入项目目录,找到.project文件,打开. 2.找到<natures>...</natures>代码段. 3.在第2步的代码段中加入如下标签内容并保存: <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>        <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>      

普通java项目转为web项目

第一步:在web项目中拷贝org.eclipse.wst.common.project.facet.core.xml放到工程下.setting 的文件下: 第二步:在工程(.project)目录下的<natures></natures>节点上添加   <nature>org.eclipse.wst.common.project.facet.core.nature</nature>  <nature>org.eclipse.wst.common.m

Web应用程序与网站项目的区别 by: MSDN

经常看见有人问VS项目里新建网站和新建Web应用程序有什么区别,而回答也都很多很多. 我就再次引用下MSDN的回答吧! MSDN 官方的回答页面地址:http://msdn.microsoft.com/zh-cn/library/k33801s3(v=vs.100).aspx 原文如下: Web 应用程序项目与网站项目 .NET Framework 4 Web application projects or Web site projects.'>在 Visual Studio 中,可以创建&quo

Web 应用程序项目与 Visual Studio 中的网站项目的异同

要查看英语原文,请勾选“英语”复选框.也可将鼠标指针移到文本上,在弹出窗口中显示英语原文. 翻译 英语 本文档已存档,并且将不进行维护. Web 应用程序项目与 Visual Studio 中的网站项目 在Visual Studio可以创建 Web 应用程序项目 或 网站项目. 通过选择 新建项目 或 打开项目 创建或打开一个 Web 应用程序项目在Visual Studio 文件 菜单. 通过选择 新建网站 或 打开网站 创建或打开一个网站项目在"文件"菜单. 每种项目类型各有优缺点

Web Form 与 Asp.net MVC架构、开发之异同

本文所说的Web Form指的是基于.net 平台开发网站的框架(我们通常称之为:Asp.net),Web Form实际上分为两个部分:Web Form(可视化界面)和Asp.Net(后台web组件).所有System.Web.UI.*命名空间下的可以称为Web Form ,System.Web.*命名空间下的可以称为Asp.net.Asp.net诞生于2002年初,Web Form之前的微软Web 开发技术有ASP,ASP把业务逻辑和标语语言(html)代码混合在页面里,Web Form对AS

eclipse使用教程系列之三:导入maven项目转换web项目并打包编译图文详解

我的最新博客:http://write.blog.csdn.net/postlist 怎么把项目转换为动态web项目,并部署到tomcat?从图8开始看. 下面介绍从svn上导入maven项目并转换web项目. 在eclipse里右键: ---^图1^-------------------------------------------------- ---^图2^-------------------------------------------------- 转载请标明链接:http://

ASP.NET网站怎么发布 Web项目程序怎么发布部署(暂时收藏)

Web程序如何发布部署呢.网站项目做好了,需要发布出来,提交给客户,装上服务器.那怎么在ASP.NET开发环境中将网站程序发布出来呢 ^_^ 工具/原料 Visual Studio 2010  ( 其他 VS 开发环境类似 ) 完成的项目程序 方法/步骤 在要发布的项目上右击,选择[发布]   在发布Web对话框中,选择发布方法为文件系统   选择要发布的路径,点击[发布]   在发布路径下,已经生成了发布的文件系统 然后就可以在IIS上发布网站啦  #^_^# END 注意事项 发布好的程序,