2010-09-16 52 views
2

我想通過使用SvcUtil工具,因爲該解決方案有幾個項目,以更新的Visual Studio 2010解決方案服務的引用,這不是很好的得到刷新逐一引用。SvcUtil工具「更新服務引用」等價命令參數

我想知道你的觀點,因爲我必須確定我要執行的命令與Visual Studio 2010完全相同,或者即使Visual Studio 2010不使用SVCUtil,也是如此等同於IDE的行爲。

非常感謝。

回答

1

一些谷歌搜索herehere顯示了VS 2008的設置,雖然這將在中添加服務引用嚮導中的高級選項的選擇取決於課程。

編輯:同意 - 不要害怕下降,並從頭開始重新創建服務引用。當使用版本控制像TFS工作,「更新」服務引用經常會有相當混亂,因爲它其中數字WSDL,XSD和迪斯科文件等已被更改,添加或刪除等(並獲得文件名類似SomeXSD92.xsd)。一般來說,刪除並重新創建它們會更快。

Johan的帖子是一個很好的觀點(可以作爲標準設計模式的一部分,被稱爲Service Agent,它負責處理客戶端代理的實現)。 我不太清楚,當你說兩個層次需要引用相同的組件,你是什麼意思?如果您正在共享服務中調用的實體的類型,那麼無論如何您都需要在大多數層中引用實體程序集。對於您的服務代理程序集項目(其中包含所有服務引用),您可以重新公開由WCF服務器使用的同一服務合同,也可以將其包裝在新的界面中。

+0

謝謝您的回答。我不確定這是什麼我需要做參考更新。我在你的第一個鏈接之前發現,第二個是一個很好的信息,但無論如何,我不想「添加服務引用」,而是「更新服務引用」。也許我錯了,但有可能更新就像丟棄和重新創建所有,不是嗎? – 2010-09-16 09:23:39

+0

對不起,我遲到了。 – 2010-09-22 08:01:10

+0

對不起,我遲到了。我目前正在使用VS Automation(EnvDTE)來解決這個問題,它更加優雅,並且通過使用從UI引發的相同的VS命令來確保服務引用更新。 – 2010-09-22 08:36:28

2

刷新了許多服務引用的最簡單的方法就是把所有在一個專門的項目的。從需要使用它們的所有項目中引用此項目。 如果服務參考需要更新,您只能在一個地方完成。

+0

對,我相信這是一個很好的解決方案!謝謝!無論如何,問題是如果你有一個客戶 - 服務器的基礎結構,你不能這樣做,因爲你不想要一個項目對兩個層都有依賴。 – 2010-09-17 12:03:59