将网站项目迁移到 VS2008 中的 Web 应用程序






2.33/5 (3投票s)
逐步说明如何在 VS2008 中将网站项目迁移到 Web 应用程序。
介绍和问题陈述
我使用 VS2005 创建了我们的网站。 如您所知,VS2005 处理网站解决方案的方式略有不同,因为它没有网站的项目文件。 除非另有排除,否则文件夹中的所有内容都包含在构建/站点中。
参考文献
Web 应用程序功能现在已返回到 VS2008 中。 本文将帮助您将 VS2005 中创建的网站项目升级到 VS2008 中的 Web 应用程序项目。 您可能需要这样做才能充分利用 VS2008 的新功能,或者您可能正在将您的站点升级到更高版本的 .NET (3.0 或更高版本)。
您可以查看以下文章,其中详细介绍了 VS2008 中的增强功能
- http://msdn.microsoft.com/en-us/library/bb386063.aspx
- http://weblogs.asp.net/scottgu/archive/2007/11/19/visual-studio-2008-and-net-3-5-released.aspx
解决方案
我在升级时搜索了一些快速参考,本文适用于那些想要快速升级步骤的人。
范围
正如标题所暗示的,我们将使用 .NET 2.0 开发的 VS2005 网站升级到 VS2008,同时保持 .NET 版本不变。
开始之前
确保您手头有最新的代码并且已编译没有错误。 最好创建一个新文件夹并将代码复制到新位置。
Migration
步骤 1:将网站升级到 VS2008
- 启动 2008
- 选择“文件”->“打开”->“网站”
- 导航到新创建的文件夹或网站代码所在的文件夹,选择它,然后按“打开”按钮
- 系统会提示您升级 .NET 版本。 现在,只需单击“否”即可保留在 .NET 2.0 版本中。
- 编译并确保您的网站运行良好。 您可能需要设置一些引用,例如,对 AJAX 库的引用。
步骤 2:将网站项目更改为 Web 应用程序
迁移的最简单方法是创建一个新的解决方案/项目,并将站点复制到其中,或者将一个新的 Web 应用程序项目添加到我们在先前步骤中创建的项目中
- 启动 VS2008
- “文件”->“新建”->“项目”
- 从对话框中选择“ASP.NET Web 应用程序”
但是,如果要将 VS2008 Web 应用程序项目添加到现有解决方案中,请右键单击解决方案节点并选择“添加”->“新建项目”。
创建 VS2008 Web 应用程序项目后,删除 "default.aspx" 和 "web.config" 文件; 这些文件是默认情况下由向导添加的。 这是因为您将使用自己的文件。
如果您创建了一个新项目,请在同一解决方案中打开该网站:“文件”->“添加”->“现有网站”。
移动文件
现在,在 Visual Studio 中同时打开 Web 应用程序和网站,选择网站中的所有文件和文件夹,然后将它们拖放到 Web 应用程序中。 如果在此过程中启动了“数据源配置向导”,请取消该对话框,并允许放置其余文件。 现在,将引用添加到您新创建的 Web 应用程序,并从解决方案中删除该网站。
转换背后的想法
网站项目和 Web 应用程序的主要区别在于,网站项目会动态生成页面的工具生成的局部类,并且不会将它们持久保存在磁盘上。 另一方面,Web 应用程序会将这些局部类保存在磁盘上,存储在扩展名为 * .designer.cs * 的文件中,并在构建时使用内存中的 VS 编译器对其进行编译。
转换
现在,右键单击“解决方案资源管理器”中的节点,然后选择“转换为 Web 应用程序”。
您会注意到“解决方案资源管理器”中的更改
designer.cs 文件已添加到页面。
我的 App_Code 文件夹在哪里?
ASP.NET 2.0 动态编译 App_Code 文件夹下的类。 将您的类保存在此文件夹下将会导致类被编译两次; 导致“无法加载类型”运行时异常 -- 这是因为类型名称在应用程序中重复。 我建议使用 Classes 文件夹来存储您的类; 但是,“转换为 Web 应用程序”命令会将文件夹重命名为 Old_App_Code。
编译并运行
您几乎完成了,只需编译并运行该站点,以确保您已成功将您的网站项目迁移到 Web 应用程序项目。