2008-10-20 109 views
0

我最近继承了一个相当大的网站。该项目在Visual Studio中设置为网站,而不是Web应用程序。出于多种原因,我想将其转换为Web应用程序。如何将使用#include文件的网站升级到Web应用程序

我开始使用Scott Gu的这些指示转换应用程序:Migrating a VS 2005 Web Site Project to VS 2005 Web Application Project

在做转换时,我发现这个网站使用了大量的#include指令来包含其他.aspx文件。与此相关的主要问题是,目前每个代码隐藏文件都直接从它所包含的页面调用控件(使用这个)。

此行为似乎被编译器在编译时动态创建内存中的.designer文件的方式所允许。

问题是,因为我正在将应用程序转换为Web应用程序,所以我创建了.designer文件的物理版本。现在,对包含页面上的控件进行相同的调用(使用此方法)不再有效。

我已经尝试了几件事,试图解决这个问题:

首先,我注意到,在.aspx包含文件没有一个@ Page指令,所以我尝试添加一个。这阻止了应用程序编译,因为主页现在有多个@page指令。

其次,我试图只是将包含的.aspx文件重命名为.inc,但我仍然遇到同样的问题,即主页面不再能够像以前那样访问控件。

任何人都曾经这样做过,并有任何想法如何进行而不改变网站的整个结构?

编辑:我决定不在此时进行转换,只是因为获得的任何好处都不值得麻烦。谢谢您的帮助。

回答

1
  • 你应该包含的ASPX文件转换成类,如果它们被用作代码库中的旧局面
  • 应该转换的aspx文件,其中包含HTML,服务器端和/或HTML控件用户控件( ascx文件)

这应该是现在的一个好开始。稍后,您可以重构自己的品味。

希望它有帮助。

0

您需要将#included内容重构为可在主页面中使用的类和控件。

ASP.Net将不是做#include。

+0

ASP.Net没有#include。令人惊讶和几乎被遗忘,但它在那里。 – martin 2008-10-21 07:49:32

相关问题