自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

讀者對于VS2003發(fā)布的看法與理解

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

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

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

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

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

有關(guān)WebDeployment的參考請查閱一下網(wǎng)址

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#可我在使用過程中又發(fā)現(xiàn)許多新的問題,WebDeployment用起來十分不穩(wěn)定,會莫名其妙的出現(xiàn)錯誤,同樣的代碼有時能通過編譯有時不能,錯誤提示十分含糊籠統(tǒng),總是提示:

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

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

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

得到以下信息:

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

IMG alt="" src="http://images.51cto.com/files/uploadimg/20091126/0920200.GIF" width=550>

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

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

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

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

指定服務說明

[WebMethod(Description ="")]

仍然沒有問題

改為:

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

仍然沒有問題

改為:

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

問題出現(xiàn)了

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

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

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

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

VS2003發(fā)布以后用的還可以,但是VS2005確實還有很多不盡人意的地方阿。。。

責任編輯:chenqingxiang 來源: SXF的專欄
相關(guān)推薦

2009-11-25 13:35:05

VS2003使用

2009-11-25 13:57:25

VS2003發(fā)布

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系統(tǒng)

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-12-01 15:32:48

VS2003配置

2009-11-30 16:50:26

VS2003調(diào)試

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-27 16:25:54

2009-11-30 13:51:28

VS2003 Acti
點贊
收藏

51CTO技術(shù)棧公眾號