如何将ASP.NET网站转换为ASP.NET Web应用程序

28 浏览
0 Comments

如何将ASP.NET网站转换为ASP.NET Web应用程序

我有一个ASP.NET 3.5网站(视觉工作室术语),但是这个网站不断增长,看起来有点混乱。我想把它转换成一个Web应用程序(包括命名空间等)。

这在Visual Studio中是否可以轻松完成?如果不行,是否有其他工具可以自动创建所有的命名空间等?

0
0 Comments

在将ASP.NET网站转换为ASP.NET Web应用程序时,可能会遇到以下问题:构建新的Web应用程序项目时遇到问题,可以检查Visual Studio中所有“helper”类的文件属性。对于我要转换的项目,构建操作是设置为Content,而应该设置为Compile。

解决方法:将所有“helper”类的构建操作从Content更改为Compile。

代码示例:


这样做可以确保所有的“helper”类在构建项目时会被编译。

0
0 Comments

如何将ASP.NET网站转换为ASP.NET Web应用程序

在使用ASP.NET开发网站时,有时需要将网站转换为Web应用程序。然而,从网站转换为Web应用程序并不是一件容易的事情。下面将介绍如何进行此转换的步骤和注意事项。

1. 首先,需要在Visual Studio中创建一个新的Web应用程序项目。在解决方案资源管理器中,选择“文件”->“添加”->“新建项目”->“C#”->“Web”->“ASP.NET Web应用程序”。

2. 将原有的网站的所有文件复制到新创建的Web应用程序项目中,并覆盖默认创建的文件。

3. 在原有的网站中,需要手动添加对新的Web应用程序项目的引用。这一步需要谨慎操作,特别是当网站中存在多个版本的同一个程序集或同时存在GAC和本地版本的程序集时。

4. 重复上一步骤并尝试构建Web应用程序。可能会出现类似“'....'是未知命名空间。是否缺少程序集引用?”的错误。确保只有由服务器控件引起的错误,而不是缺少设计文件(.DESIGNER.CS或.DESIGNER.VB)的错误。

5. 在Visual Studio的解决方案资源管理器中,右键单击Web应用程序的根项目节点,然后选择“转换为Web应用程序”。该选项将对页面和控件的""和""指令进行小的更改,并创建所需的.DESIGNER.CS或.DESIGNER.VB文件。

6. 再次尝试构建Web应用程序。如果出现错误,检查是否缺少引用,或者再次点击“转换为Web应用程序”。有时,除了由于缺少DESIGNER文件引起的错误之外,还可能存在其他错误。解决非DESIGNER问题并再次点击“转换为Web应用程序”应该可以解决该问题。

7. 完成成功的构建后,可以开始测试Web应用程序。如果需要,可以右键单击Visual Studio的解决方案资源管理器中的Web应用程序根项目节点,选择“属性”,然后切换到“Web”选项卡,将Web应用程序设置为IIS中的虚拟文件夹(可以在Visual Studio中创建新的虚拟目录)。如果要使用原有网站使用的IIS虚拟目录,则需要先从IIS中删除该虚拟目录。

8. 在测试页面时,特别注意“App_Code”文件夹中的类,尤其是没有命名空间的类。这可能会导致一些问题。例如,在同一个静态类中存在两个扩展方法重载,它们分别扩展了DateTime?(可为空的DateTime)并调用了另一个扩展方法重载,该重载扩展了DateTime本身。在VS 2008编译时,将另一个重载作为扩展方法调用可以通过编译,但在运行时(使用IIS)会产生编译错误。将对另一个重载的调用从扩展方法调用更改为普通的静态方法调用(仅在同一个类中更改调用,其他类中的调用仍然保持扩展方法调用)可以解决此问题,但显然,它不像在VS 2005中那样安全,特别是对于没有命名空间的类。

9. 在转换过程中,VS 2008会将“App_Code”重命名为“Old_App_Code”。虽然这个新名称听起来不好,但不要将其改回。在Web应用程序模型中,所有的代码都在一个程序集中。在运行时,Web服务器不知道你使用的是什么Web项目类型。它会获取“App_Code”文件夹中的所有代码,并为其创建一个新的程序集。因此,如果你在“App_Code”文件夹中放置了代码,你将会遇到运行时编译错误,因为相同的类型存在于由VS创建的程序集和由IIS/ASP.NET开发服务器创建的程序集中。为了避免这种情况,保持“Old_App_Code”名称不变,或者将其重命名为任何除了“App_Code”之外的名称。最好在Web应用程序中不要使用任何名为“App_Code”的文件夹。

将ASP.NET网站转换为ASP.NET Web应用程序需要手动添加引用,创建文件夹结构,并进行一些其他的调整。通过遵循上述步骤,可以成功地将网站转换为Web应用程序,并进行测试和部署。

0
0 Comments

将ASP.NET网站转换为ASP.NET Web应用程序的原因是当网站应用程序变得庞大时,将其拆分为几个项目会更好。从Web站点项目转换为Web应用程序项目并不能提供太多帮助。

解决方法:

1. 打开Visual Studio并选择要转换的Web站点项目。

2. 在“解决方案资源管理器”中,右键单击项目名称,然后选择“转换为Web应用程序”。

3. 在弹出的对话框中,选择保存转换后的项目的位置。

4. 单击“确定”按钮开始转换过程。

5. Visual Studio会执行一系列转换操作,包括创建新的项目文件和文件夹结构,以及更新项目文件的引用。

6. 转换完成后,您需要检查并解决任何可能的编译错误或警告。

7. 在转换后的Web应用程序项目中,您可以继续进行开发和维护,同时利用ASP.NET Web应用程序项目的更强大功能。

这些步骤将帮助您将ASP.NET网站转换为ASP.NET Web应用程序,使您能够更好地管理和扩展您的项目。

0