版本控制:svcmap,disco,xsd,wsdl,svcinfo和datasource文件

时间:2010-03-15 02:29:09

标签: web-services version-control service-reference

我们有一个名为的网络服务,让我们说Foo。

因此,有一个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个Foo(nn).xsd文件 - 其中nn = 1到26.

我的configuration.svcinfo符合配置91.svcinfo。

我的问题是这个?这些文件中的任何一个都需要进行版本控制吗?每次执行build \ deploy时都可以删除它们(只要您执行更新服务引用)吗?

2 个答案:

答案 0 :(得分:28)

Reference.svcmap文件实际上是服务引用的定义。它包含不同的设置以及源链接。 Reference.svcmap肯定应该是源代码控制的,因为它实际上是项目项意义上的服务引用。

Reference.cs包含生成的合同和代理编译的代理。是否源控制来源控制文件取决于您。通常,这是项目代码的一部分,应该是源代码控制的,但是自动生成它有时会导致意外中断签到。

所有其他文件都是生成合同和代理代码时使用的TEMPORARY文件。它们共同构成服务公开的元数据的总和,包括服务合同(* .wsdl),数据合同(* .xsd)和配置信息(* .svcinfo)。

答案 1 :(得分:14)

这些xsd文件只是您在创建或更新服务引用时使用的服务的元数据。您实际上可以删除它们,因为它们只是在生成参考文件时使用。没有必要对这些文件进行版本控制。