FIX: 您一個 System.ArgumentException 例外狀況時,收到錯誤訊息您使用 Sgen.exe 工具和 XmlSerializer JIT 編譯器產生的 Web 服務 Proxy XmlSerializer 組件在.NET Framework 2.0

文章翻譯 文章翻譯
文章編號: 950230 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

徵狀

您有一個 Microsoft.NET Framework 2.0 架構的專案,使用 Web 服務 Proxy。當您使用 Sgen.exe 工具和 XmlSerializer 剛的時間 (JIT) 編譯器來為其中一個 Web 服務 Proxy 產生 XmlSerializer 組件時,您會收到下列的例外狀況錯誤訊息:
System.ArgumentException: 已經加入項目。在字典中索引鍵: **** 所要加入的金鑰: ****
當下列條件的其中一個成立,就會發生這項問題:
  • 在專案擁有從 Web 服務 Proxy 類別衍生的類別。
  • 在專案擁有兩個 Web 服務 Proxy 在相同的組件中使用相同的自訂資料型別。

發生的原因

之所以發生這個問題,因為是在.NET Framework 2.0 的程式碼問題。

解決方案

Hotfix 資訊

一個支援的 Hotfix 現在已可從 Microsoft取得。不過,它只修正本文中所述此問題。請只在發生此特定問題的系統上套用。此 Hotfix 可能會接受其他測試。因此,如果您不會嚴重影響這個問題,我們建議您等候下一個的.NET Framework 2.0 Service Pack 包含此 Hotfix。

如果要立即解決這個問題,請聯絡 Microsoft 客戶支援服務 」,以取得該 Hotfix。如需 Microsoft 客戶支援服務電話號碼及支援成本的相關資訊的完整清單,請造訪下列 Microsoft 網站]:
http://support.microsoft.com/contactus/?ws=support
附註 在特殊情況下通常會因支援電話所產生的費用可能就不收取如果 Microsoft 支援人員認為某特定更新程式可以解決您的問題。平常的支援成本將會套用到其他支援問題是所做不限定特定有問題的更新程式。

必要條件

您必須擁有在.NET Framework 2.0 Service Pack 1 若要套用這個 Hotfix 安裝。

重新啟動需求

您沒有套用此 Hotfix 之後重新啟動電腦。

Hotfix 取代資訊

此 Hotfix 不會取代任何其他的 Hotfix。

檔案資訊

此 Hotfix 的全球版本具有檔案屬性 (或較新的檔案屬性) 中如下表所列。這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。若要到 UTC 與當地時間差異使用在 [日期及時間 中項目控制台中的 [時區] 索引標籤]。
x86 版.NET Framework 2.0
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
System.Xml.dll2.0.50727.18322,052,0962008 年五月 14 日02: 43x86
.NET Framework 2.0 Itanium 架構版本
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
System.Xml.dll2.0.50727.18322,052,0962008 年五月 14 日02: 43x86
System.Xml.dll2.0.50727.18322,052,0962008 年五月 14 日01: 38x86
x x64 版.NET Framework 2.0
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
System.Xml.dll2.0.50727.18322,052,0962008 年五月 14 日02: 43x86
System.Xml.dll2.0.50727.18322,052,0962008 年五月 14 日01: 38x86

其他可行方案

若要解決這個問題,分割 Web 服務參考到不同的.dll 檔。當您執行這項操作時沒有每組件只能有一個 Web 參考。

狀況說明

Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。

其他相關資訊

如需有關 Sgen.exe 工具的詳細資訊,請造訪下列 Microsoft 開發 o 人 h 員 ? 工 u 具 ? 網路 (MSDN) 網站]:
http://msdn.microsoft.com/en-us/library/bk3w6240(VS.80).aspx
如需有關軟體更新術語的詳細資訊,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
824684用來描述 Microsoft 軟體更新標準術語的說明

屬性

文章編號: 950230 - 上次校閱: 2008年5月29日 - 版次: 1.0
這篇文章中的資訊適用於:
  • Microsoft .NET Framework 2.0
關鍵字:?
kbmt kbfix kbexpertiseinter kbqfe kbhotfixserver KB950230 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:950230
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com