成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

讀者對于VS2003發布的看法與理解

開發 后端
假期開始進行VS2003的學習,首先碰到的就是環境的配置。基本上一個星期的時間都是在用實踐著VS2003發布的東西,不知道Gates知道了,會不會有點郁悶。

目前在用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

#t#可我在使用過程中又發現許多新的問題,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="http://images.51cto.com/files/uploadimg/20091126/0920200.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確實還有很多不盡人意的地方阿。。。

責任編輯:chenqingxiang 來源: SXF的專欄
相關推薦

2009-11-25 13:35:05

VS2003使用

2009-11-25 13:57:25

VS2003發布

2009-11-26 11:05:59

VS2003控件

2009-11-30 10:34:28

VS2003編譯

2009-11-30 11:05:19

VS2003 WebS

2009-11-30 17:28:39

VS2003 ASP

2009-11-25 10:00:48

VS2003系統

2009-11-26 13:55:35

VS2003源代碼

2009-11-30 13:51:28

ActiveX控件

2009-11-30 13:51:28

2009-11-30 10:07:19

VS2003版本

2009-11-27 09:16:11

VS2003配置文件

2009-11-30 16:50:26

VS2003調試

2009-12-01 15:32:48

VS2003配置

2009-12-01 17:55:11

VS2003配置

2009-11-26 09:42:38

VS2003插件

2009-11-27 10:03:48

VS2003安裝失敗

2009-11-26 13:27:10

VS2003水晶報表

2009-11-26 09:20:27

VS2005發布

2009-11-27 16:25:54

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区高清 | 久久五月婷 | 日韩免费| 久久久91精品国产一区二区三区 | 成年人黄色一级片 | 欧美日韩在线高清 | 玖玖国产 | 一级片免费在线观看 | 天天干天天玩天天操 | 在线播放中文字幕 | 久久久久久成人 | 亚洲天堂精品一区 | 亚洲成av人片在线观看无码 | 91干b| 国产日韩一区 | 日韩有码一区 | 久久久综合精品 | 成人国产精品久久久 | 日本不卡一区二区三区 | 精品国产乱码久久久久久果冻传媒 | 久久久久久国产精品 | h视频免费在线观看 | 亚洲日韩中文字幕一区 | 国产日韩欧美在线 | 欧美乱大交xxxxx另类电影 | 国产精品视频免费观看 | 91精品一区| 日韩中文字幕在线视频 | 深爱激情综合 | www.亚洲精品 | av网站免费在线观看 | 亚洲国产aⅴ成人精品无吗 亚洲精品久久久一区二区三区 | 最新黄色在线观看 | 国产999精品久久久久久 | av网站免费观看 | 狠狠的日 | 色噜噜狠狠色综合中国 | 91观看 | 99pao成人国产永久免费视频 | 欧美一区二区三区在线观看视频 | 国产精品中文字幕在线 |