我最近在web.config文件中添加了一些命名空間,以便所有的aspx頁面都可以引用各種常量和枚舉,而無需在每個aspx頁面上添加導入語句。由於添加了這個,我們現在在嘗試測試一個asmx web服務時會出現錯誤。看來,WSDL生成過程中,我們得到以下錯誤:運行時編譯期間模糊引用錯誤
CS0104: 'Message' is an ambiguous reference between 'System.Web.Services.Description.Message' and 'InsTech.ForeSight.Message'
在研究這個,我發現DefaultWsdlHelpGenerator.asmx在運行時編譯期間調用並沒有在那裏的方法具有以下特徵:
void WriteSoapMessage(MessageBinding messageBinding, Message message, bool soap12) {
我們已經在我們的命名空間稱爲Message定義的對象,這是造成模糊的參考,因爲這個Web服務文件不完全限定它們的消息。
如何在不從web.config中刪除名稱空間的情況下解決此問題?我們在我們的虛擬目錄的另一個文件夾中有我們的Web服務,所以我嘗試添加一個web.config,它在命名空間上做了一個清除,但看起來沒有工作。
任何幫助,將不勝感激。 感謝 凱文
請參閱我的評論我留在下面。我應該澄清WriteSoapMessage不是我寫的函數,但它是.net框架的一部分。 – Kevin 2009-07-21 17:38:47