本人獨家提供對于VS2005工程的負責人的話術
原來上網我下了很多VS2003的Asp.net的Demo。而我用的是VS2005,我在使用這些小樣時,基本上絕大部分基于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步直至所有的文件都改過來,再運行工程應該就可以運行成功了。不過也許會報幾個警告說某某已經過時,不用去管它。
#t#我用這個方法將那些老頑固(包括2003以及2002的工程)都成功轉換了,真的是屢試不爽。這只不過是我自己總結出來的方法,也許有人有更好的辦法,如果有更好的方法也請指點。我的機子配置是:操作系統是Win2003,一開始裝的平臺是VS2005工程,.net2.0,由于項目的需要,所以裝了.net1.1,平臺用的是vs2003,在運行項目時,系統報錯:自動附加到計算機“SOFTSERVER”上的進程“[3940] w3wp.exe”失敗,后來發現原因是.net2.0和.net1.1有沖突,IIs中的Asp.net選項卡中的Asp.net版本默認為2.0。
解決方法:
需要在IIS中重新注冊一下ASP.NET,在MS-DOS中運行:
C:\windows\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i或在程序里面的Microsoft Visual Studio .NET 2003->Visual Studio .NET 工具->Visual Studio .NET 2003 命令提示執行aspnet_regiis.exe –i。
修復成功后,就可以在IIS中打到1.1的.net版本
選擇IIs中的Asp.net選項卡中的Asp.net版本默認為1.1。
自動附加到計算機“SOFTSERVER”上的進程“[3940] w3wp.exe”失敗的錯誤信息沒有了。
解后又出現了新問題,提示:
試圖運行項目時出錯:無法在WEB服務器上啟動調試.未能啟動ASP.NET或ATL SERVER 調試. 驗證服務器上是否正確安裝了ASP.NET或ATL SERVER
解決方法:
在IIS中的WEB服務擴展中,有兩項:asp.netv1.1.4322和asp.netv2.0.50727兩個選項,原來是asp.netv2.0.50727的狀況已經允許,而asp.netv1.1.4322的狀況是禁止的,VS2005工程原因找到了,
就是把asp.netv1.1.4322的狀況也改為允許狀態。
問題解決了!!!!