我下了很多基于vs2003(以及vs2002)的asp.net的demo。而我用的是vs2005,我在使用這些demo時,基本上絕大部分基于vs2003的asp.net工程都因為少數文件無法轉換而無法加載工程,我也為些郁悶了好久,后來終于讓我找到了解決辦法:
asp.net基于vs2005的工程與以往版本的工程的最大區別就是用分部類(partial)取代了代碼隱藏(codebehind)。
于是我采取的方法是:
1. 用打開網站的方式打開這個工程。這樣vs2005也會進行轉換,而且也會報錯,但與直接打解決方案無法加載不同的是,這一次它展開了網站的所有文件。如果你現在運行工程,也不會成功的。
2. 打開filename.aspx文件到源代碼視圖,將@page指令中的屬性“codebehind”改為“codefile”,
3. 將與這對應的codebehind文件filename.aspx.cs,將繼承于system.web.ui.page的類定義class前加上partial關鍵字。
4. 運行該工程,它會提示你在filename.aspx中已經包含controlname的定義,跟蹤錯誤到filename.aspx.cs,將那些被指示錯誤的重復定義刪去。
5. 然后重復2-4步直至所有的文件都改過來,再運行工程應該就可以運行成功了。不過也許會報幾個警告說某某已經過時,不用去管它。
我用這個方法將那些老頑固(包括2003以及2002的工程)都成功轉換了,真的是屢試不爽。這只不過是我自己總結出來的方法,也許有人有更好的辦法,如果有更好的方法也請指點。
新聞熱點
疑難解答
圖片精選