剖析Visual Studio2003開發(fā)種種錯誤
希望本文描述的Visual Studio2003開發(fā)程序能給大家?guī)韼椭?,導?FONT>Visual Studio2003開發(fā)出錯的原因也許還有很多,不過在你遇到錯誤時,可以先檢查一下你程序中的字符串,暫時把他們置為””,試試看。沒準就是它引起的問題啊。
我有一個網站,原先是用Visual Studio 2003開發(fā)的,現(xiàn)在把它移植到2005中,我發(fā)現(xiàn)選擇生成之后沒有發(fā)現(xiàn)生成dll文件,這是怎么回事?另外,生成選項里面也沒有release選項,只有debug。望各位大蝦指點一下,多謝! #t#
我選擇“生成”——〉“生成網站”,一切都正常,網站在本地也可以訪問。把它傳到遠程服務器上之后,由于缺少程序編譯的dll文件,網站不能訪問。我也感覺很奇怪,為什么Bin目錄下沒有編譯之后的dll文件呢?Top
生成網站的網站的時候提示你選擇個文件夾,上傳那個里面的Top
我選擇“發(fā)布網站”之后看到Bin目錄中多了幾個dll文件,我把其中的dll文件復制到遠程服務器上,不過網站訪問的時候仍然提示沒有找到.cs文件?不知道怎么回事?Top
我想問一下,我在Visual Studio2003開發(fā)的程序怎么發(fā)布啊,請教一下我吧Top
找到原因了,微軟真的很變態(tài),VS2005中站點不再像VS2003那樣在生成的時候自動把cs文件編譯成一個dll文件了,而是需要選擇“發(fā)布站點”來編譯程序,而且編譯之后的程序也不是一個dll文件了,變成一大堆動態(tài)取名的dll文件。最變態(tài)的是每次編譯都需要重新上傳整個aspx頁面文件,不知道是基于什么考慮。
看字面意思就明白原因了,就是一個程序集里發(fā)現(xiàn)了兩個類名一樣的類,這樣肯定是不行的,但編譯的時候又會過,因為放在不同的目錄,VS2005就可以編譯過了,真不明白VS2005是為什么要這么設計,因為VS2005在新建頁面的時候沒有把命名空間加上去,所以都是同一個命名空間下所以才會這樣,VS 2005的WEB項目默認的把命名空間給去掉了,只能手動增加一個命名空間,在cs文件代碼中加入namespace的語句塊,同時也在修改aspx文件的<@page>的Inherits中寫入對應的[namespace].[類名];
其實這個問題類似于Visual Studio2003開發(fā)程序中的發(fā)布問題。如果項目中有兩個文件名一樣的情況也會報錯,比如有兩個help.aspx文件分別在不同的目錄,或者a.gif文件在不同的目錄也會報錯。
難怪我也找不DLL,不過我覺得變成一大堆動態(tài)取名的dll文件更好。