我有幾個WCF服務(.net 4.0)通過我的Web服務器上的IIS託管。這些服務由我的winforms客戶端應用程序(vb.net 4.0)使用。我的測試機器上一切正常(一個XP,一個Win7和一個Win8.1)。我已經將我的應用程序部署到了我的客戶端,並且實現了這個新功能,並且我的客戶已安裝它的前100臺計算機的一切都很順利。「找不到默認端點元素...」,僅在某些客戶端機器上
我今天有一個客戶發現這個錯誤。以下是完整的錯誤僅供參考:
找不到在ServiceModel客戶端配置部分中引用合同'NetworkTimeCheck.INetworkTimeCheck'的默認端點元素。這可能是因爲沒有找到適用於您的應用程序的配置文件,或者因爲在客戶端元素中找不到匹配此合同的端點元素。
我遠程登錄到他的機器,發現<appname>.exe.config
文件已舊(來自過去的版本),並且msi安裝程序沒有用新文件覆蓋舊配置。我不確定爲什麼會發生在這臺特定的機器上(它在其他機器上的所有以前的安裝中已被覆蓋)。無論如何,我可以通過卸載並重新安裝應用程序來輕鬆解決該問題。我把它寫成一個怪胎,然後繼續前進。
我有第二個客戶端,有三個運行Win7的筆記本電腦,他得到了完全相同的錯誤(他的其他三臺機器,他沒有錯誤,一切正常!)。我遠程登錄到其中一臺有問題的計算機,發現<appname>.exe.config
文件是最新的,並且確實包含<system.serviceModel>
部分。我已卸載/重新安裝沒有成功。我也在Visual Studio中更新了我的服務參考,只是爲了咯咯笑,並在他的機器上安裝了一個新版本......仍然沒有快樂......
我確定我的應用程序能夠訪問這些問題機器上的<appname>.exe.config
文件因爲我在<applicationSettings>
部分設置了幫助名稱空間,並且應用程序在打開幫助文件時沒有問題。
所以,我的問題是,爲什麼我得到這個錯誤!?
PS我正在考慮在代碼中在運行時手動配置端點和綁定,但這是我的最後手段。我真的很想知道爲什麼這會讓我適合幾臺客戶機,而在其他地方工作的很好。
謝謝你的時間!