現在我們一直在與一個奇怪的問題鬥爭了幾天。已經搜索網絡的答案,但似乎沒有解決這個錯誤。Silverlight Web服務更新無法導入wsdl
我們的場景是:我們的組織有一個Silverlight 5應用程序,它是在VS 2010中開發的,並且一切正常。它實際上在我們的生產服務器上運行。
最近我們將我們的開發機器遷移到了VS 2015以及機器本身(新的機器部分)。操作系統是Windows 7,和以前一樣。
起初,我們與那個討厭的MatchTimeoutInMilliseconds錯誤受到歡迎,由於MS框架。最終MS發佈了涵蓋此問題的4.6.2預覽版。
好的。所以回到實現所要求的更改,我們在我們的web服務中創建了一個新方法,並且它很好。我們確實有[OperationContract]
和[DataContract]
標籤。有一個問題發佈和解答這些標籤丟失的理由。
但是,當我們轉到SL應用程序並更新WS引用時,我們得到此「自定義工具錯誤:無法爲服務引用生成代碼...」
自定義工具警告消息包括
「無法導入wsdl:綁定...「
」無法導入wsdl:port ...「
」無法導入wsdl:portType ...「
」找不到與Silverlight 5兼容的端點,生成的客戶端類將不可用,除非端點信息通過構造函數提供。「
我們很納悶,因爲那時我們認爲我們可能會做錯事,所以我們回滾的變化,並更新不改變服務的參考,我們得到了同樣的錯誤。 Referece.cs文件是在沒有代碼的情況下生成的,並且所有對web服務的引用都不再被編譯器識別。
我們也看了一些帖子說提供最便捷的解決方案取消選中「在引用的程序重用類型」。這樣做的確清除了這些錯誤,只是爲了生成其他錯誤,因爲我們的應用程序是建立在這個前提之上的。
我們也嘗試刪除服務引用並將其添加回去,但無濟於事。
最終,我們將SL應用程序還原到了編譯的位置,這是在更新Web服務引用之前,用新方法重新發布了WS,並手動將新方法添加到Reference.cs文件中,對其進行了測試並有用。
但是,這不應該是 - 解決方案。這是一個麻煩,容易出錯。 我們希望在解決此問題方面提供任何幫助,或者瞭解爲什麼會發生這種情況。
感謝
您的服務是否通過驗證保護? – BugFinder
不是,它很簡單,並在同一臺機器上運行 –
那麼我有點難倒那麼,因爲我做了同樣的事情,我有一個vs2010,雖然我經歷了2013年,但移動到2015年,沒有遇到這個。然而我沒有搬到4.6.2即時4.5,因爲我可以:P – BugFinder