2010-01-12 48 views
1

我有一個Web服務,當它在VS2008的一臺計算機上更新時工作得很好,但在另一臺計算機上卻沒有。關鍵的區別是自動生成的Reference.cs的內容。VS2008更新Web引用在Reference.cs中創建命名衝突

在正確運行的環境中,這些方法具有完全限定的類名,引用類庫中的類。但是,在問題環境中,類名稱是不合格的,部分類在文件結尾處聲明。例如。

public string MyMethod(MyClass pr_Class) 
... 
public partial class MyClass { 
} 

public string MyMethod(Class.Library.Namespace.MyClass pr_Class) 

這導致錯誤,如:

'<ClassType>' is an ambiguous reference between <ClassLibraryNamespace>.ClassType and <WebReferenceNamespace>.ClassType

該代碼是源控制之下。退出到工作環境可以馬上工作,只有在reference.cs被手動編輯爲工作環境時才能檢查問題環境。將項目從問題環境手動傳輸到工作環境只需要執行「更新Web引用」即可進行編譯。這兩個Reference.cs文件聲稱是由相同的工具版本自動生成的。良好環境中的設置已導出到另一個環境。目前爲止沒有成功...

任何想法將不勝感激!

馬特

+0

聽起來這兩個環境有不同版本的VS.NET。也許一個人擁有2008年,另一個擁有2008 SP1? – 2010-01-13 02:10:25

+0

感謝您的回覆。不幸的是,它們與SP1的版本相同。但是,一個不同之處在於,工作環境也具有現有的VS2005安裝。 – Matt 2010-01-13 09:36:39

回答

1

好的,所以我有答案。工作環境中有一個長期被遺忘的用於導入Web引用的擴展庫。 Customizing generated Web Service proxies解釋程序。我對這個項目很陌生,所以對此一無所知!