2010-03-15 28 views
20

我們有一個名爲的web服務,比如說Foo。版本控制:svcmap,迪斯科,xsd,wsdl,svcinfo和數據源文件

所以有一個Foo.svc文件和Foo.svc.cs後面的代碼。

我們添加一個silverlight項目並希望使用Foo.svc服務,所以我們添加一個服務引用並調用它的名稱空間FooBar。

這將創建下列文件:

  • Reference.cs
  • Reference.svcmap
  • Foo.xsd
  • Foo.disco
  • configuration.svcinfo
  • Foo.wsdl
  • 還有各種* .datasource文件。

隨着時間的推移,我們更新Foo.svc並添加更多Web服務(方法和接口),並且FooBar目錄中的文件數量不斷增加。

我有26美孚(NN)該目錄中xsd文件 - 其中nn = 1至26.

我configuration.svcinfo是高達configuration91.svcinfo。

我的問題是這樣的嗎?是否需要對這些文件進行版本控制?每次構建\部署時(只要您執行更新服務參考),它們都可以被刪除嗎?

+0

我不會把這作爲答案,因爲我不知道。但只有reference.cs文件對我來說是最重要的文件。有時,slsvcutil.exe不能正常工作,所以當我使用它來生成silverlight的引用時,只會生成Reference.cs。 – 2010-03-15 02:36:10

+0

謝謝!我剛剛在silverlight論壇上看到了David的同一個問題。當然無用的答案。上帝保佑堆棧溢出! – 2011-08-14 17:53:57

回答

14

這些xsd文件僅僅是您在創建或更新服務引用時使用的服務的元數據。您可以實際刪除它們,因爲它們僅在生成參考文件時使用。 Theres不需要版本控制這些文件。

+7

是否有這些文件是必需的?或者是ServiceReferences.config中包含的所有內容?刪除所有.datasource,所有.diso,所有.svcinfo,甚至是references.cs都可以嗎? – 2011-08-14 17:58:54

23

Reference.svcmap文件實際上是服務引用的定義。它包含不同的設置以及源鏈接。 Reference.svcmap應該是源代碼控制的,因爲它實際上是項目項目意義上的服務引用。

Reference.cs包含您的代碼編譯時生成的合約和代理。無論是源代碼管理還是源代碼管理,文件都由您決定。一般來說,這是項目代碼的一部分,應該是源代碼控制的,但是自動生成它有時會導致意外中斷簽入。

所有其他文件都是在生成合同和代理代碼時使用的TEMPORARY文件。它們一起構成服務公開的元數據的總和,包括服務契約(* .wsdl),數據契約(* .xsd)和配置信息(* .svcinfo)。