中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

VS2003和VS2005的區別是什么

發布時間:2021-06-18 09:50:43 來源:億速云 閱讀:208 作者:chen 欄目:編程語言

這篇文章主要介紹“VS2003和VS2005的區別是什么”,在日常操作中,相信很多人在VS2003和VS2005的區別是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”VS2003和VS2005的區別是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

目前在用VS2005寫asp.net程序,發布時遇到很多麻煩,覺得和VS2003發布有好多差別,以前還一直抱怨Boland的Delphi 2005難用,很喜歡VS2005呢,現在覺得VS2005也有很多不盡人意的地方。下面就拿VS2003發布出來給大家探討下

早知道當初還選擇dotnet1.1了,現在用VS2005+dotnet2.0,發布時真是多花了好多力氣,且聽一一道來。

首先,一開始我還以為VS2005和VS2003一樣,可是無論我怎樣點擊生成網站卻始終找不到生成的dll,后來才知道,要用發布網站才可以的。可是對于一個web應用程序進行發布時,VS2005卻生成了多個由隨機字符命名的dll文件,看上去就很難受,而其管理維護起來十分不方便,更讓人不能接受的是在發布webservice 的時候,對于每一個webservice網站應用程序VS2005生成一個名為App_Code.dll 的文件,找不到可以修改生成文件名的地方。

無奈之中,只好上網找資料。后來了解到WebDeployment  (點擊這里進入WebDeployment下載頁面)這個小插件可以解決上述問題,于是就下載來看看。是e文的,用起來不是很方便,但確實可以解決問題。

有關WebDeployment的參考請查閱一下網址

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/web_deployment_projects.asp

http://msdn.microsoft.com/asp.net/reference/infrastructure/wdp/default.aspx

可我在使用過程中又發現許多新的問題,WebDeployment用起來十分不穩定,會莫名其妙的出現錯誤,同樣的代碼有時能通過編譯有時不能,錯誤提示十分含糊籠統,總是提示:

錯誤1     “aspnet_merge.exe”已退出,代碼為 1。

而且這些代碼在不使用WebDeployment  的時候都很正常,都能編譯通過。

相信許多朋友都遇到過這種問題,實在讓人迷茫阿,于是筆者自己手用命令行動執行aspnet_merge.exe      對dll進行管理合并。

得到以下信息:

Utility to merge precompiled ASP.NET assemblies.
Copyright (c) Microsoft Corporation. All rights reserved.
An error occurred when merging assemblies: 索引超出了數組界限。

IMG alt="" src="https://cache.yisu.com/upload/information/20210607/332/4413.gif" width=550>

怎么會有數組越界錯誤,讓人迷茫,于是又上網查資料,有人遇到同樣的問題,可是沒人知道是什么問題。筆者這時又查到另外一個卡一對.net assembly 進行管理的工具 ILMerge.exe 有關ILMerge.exe 的參考請瀏覽以下網址

http://research.microsoft.com/%7Embarnett/ilmerge.aspx

它目前支持.net1.1和2.0,可以把多個.net assembly合并成一個,筆者在想可不可以用它對VS2005生成的dll進行合并,于是下載了ILMerge.exe試試看,他只支持命令行方式,有點麻煩,我還是按幫助試試看了,結果是讓人失望的,在我對aspnet_merge.exe 無法合并的dll進行合并時,出現同樣的錯誤An error occurred when merging assemblies: 索引超出了數組界限。極度迷茫…….,該怎么辦呢?問題沒有解決,不能放棄。于是筆者把自己寫的程序代碼全都注釋掉,一點一點放開,慢慢尋找問題所在。

終于,讓我找到了我的程序的“bug”(其實不能稱作為我的bug,因為他在VS2005和.net2.0中都能正確執行只是進行合并時有問題)我寫了一個webservice,可以通過編譯同過WebDeployment生成也沒為題,

指定服務說明

[WebMethod(Description ="")]

仍然沒有問題

改為:

[WebMethod(Description ="sdfdfsdfsdfsdfsdfsfsf")] 即Description = 英文字符串

仍然沒有問題

改為:

[WebMethod(Description ="包括漢子的字符串..SSSsds ")],即Description =包括漢子的字符串

問題出現了

當Description包含漢子時候,對于WebDeployment而言根據字符的長度不同和字符中英文字母的個數不同,有時候會出錯,有時候不會出錯。

看來是WebDeployment,ILMerge本身有一定的bug,筆者猜想可能是編碼問題造成的,WebDeployment,ILMerge都是英文版的,也許是在計算字符串長度時由于漢子和英文字母不同,而造成的錯誤吧,這只是我的猜想,大家僅作參考。

經過反復試驗,筆者找到了一種不是辦法的辦法,就是在字符串后邊狂加 空格由于筆者的WebMethod Description 在web上輸出,因此***多些空格不太影響效果。暫且這樣解決巴。無奈啊。

希望我的一點經驗能給大家帶來幫助,導致WebDeployment出錯的原因也許還有很多,不過在你遇到錯誤時,可以先檢查一下你程序中的字符串,暫時把他們置為””,試試看。沒準就是他引起的問題啊。

到此,關于“VS2003和VS2005的區別是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

利川市| 佛山市| 商洛市| 房山区| 河北区| 高陵县| 宁波市| 云龙县| 盘锦市| 类乌齐县| 齐河县| 阿坝| 庆安县| 青阳县| 贵州省| 武隆县| 西充县| 鹤峰县| 临沭县| 舒兰市| 门头沟区| 弥渡县| 延津县| 南汇区| 高雄县| 安宁市| 镇江市| 六盘水市| 南丰县| 太仆寺旗| 呼图壁县| 岳阳县| 维西| 永安市| 毕节市| 盘锦市| 龙山县| 察隅县| 天镇县| 朝阳县| 闸北区|