我最近继承了一个相当大的网站。该项目在Visual Studio中设置为Web站点,而不是Web应用程序。出于多种原因,我想将其转换为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,但我仍然遇到主页不再能够像以前那样访问控件的问题。
之前有人曾经这样做过,并且在不改变网站整体结构的情况下对如何进行有任何想法?
编辑:我决定暂时不进行转换,因为获得的任何好处都不值得。谢谢你的帮助。
答案 0 :(得分:1)
这应该是一个很好的启动器。稍后您可以根据自己的喜好重构。
希望它有所帮助。
答案 1 :(得分:0)
您需要将#included内容重构为可在主页中使用的类和控件。
ASP.Net将不执行#include。