2013-11-15 52 views
0

我正在連接到Web服務。生成類時,它將創建兩個相同的屬性,一個System.CodeDom.Compiler.GeneratedCodeAttribute屬性爲「System.Xml」,一個具有System.Runtime.Serialization的System.CodeDom.Compiler.GeneratedCodeAttribute屬性」。自動生成的類的從Web服務生成兩次相同的屬性

例子:

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] [System.Runtime.Serialization.DataContractAttribute(Name="CountryCode", Namespace="http://schemas.datacontract.org/2004/07/")] public enum CountryCode : int

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.18408")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.datacontract.org/2004/07/")] public enum CountryCode

因爲這個解決方案將無法編譯,給我的錯誤:

CS0101:命名空間「TAP」已經包含了「COUNTRYCODE的定義'

任何想法將不勝感激。

+0

如何連接到Web服務?什麼是Web服務相關的代碼? – Szymon

回答

0

添加服務引用時,請確保檢查「引用程序集中的重用類型」。下面的鏈接應提供更多相關信息...

http://msdn.microsoft.com/en-us/library/vstudio/bb628653(v=vs.100).aspx

編輯:

下面的文章,可以揭示你所看到的一些更多的光線......

http://msdn.microsoft.com/en-us/library/bb907578(v=vs.110).aspx

特別是以下信息...

當服務參考添加到一個項目中,服務中定義的任何類型都在本地項目中生成。在許多情況下,當服務使用常見的.NET Framework類型或在共享庫中定義類型時,會創建重複類型。 爲避免此問題,默認情況下共享引用程序集中的類型。如果要禁用一個或多個程序集的類型共享,可以在「配置服務引用」對話框中執行此操作。 禁用單個程序集中的類型共享 在解決方案資源管理器中,選擇服務引用。 在「項目」菜單上,單擊「配置服務參考」。 在「配置服務引用」對話框中,選擇「在指定的引用程序集中重新使用類型」。 選中要啓用類型共享的每個程序集的複選框。要禁用組件的類型共享,請將該複選框清除。 禁用所有程序集中的類型共享 在解決方案資源管理器中,選擇服務引用。 在「項目」菜單上,單擊「配置服務參考」。 在「配置服務引用」對話框中,清除「引用程序集中的重用類型」複選框。

祝你好運!

+0

該標誌已設置。 –

+0

更新了答案。讓我知道它是否有幫助。 – gpmurthy

相關問題