Control de versiones: files svcmap, disco, xsd, wsdl, svcinfo y datasource

Tenemos un service web llamado, digamos Foo.

Entonces, hay un file Foo.svc y un código detrás de Foo.svc.cs.

Agregamos un proyecto Silverlight y deseamos utilizar los services de Foo.svc, por lo que agregamos una reference de service y llamamos a su espacio de nombres FooBar.

Esto crea los siguientes files:

  • Reference.cs
  • Reference.svcmap
  • Foo.xsd
  • Foo.disco
  • configuration.svcinfo
  • Foo.wsdl
  • También varios files * .datasource.

Con el time actualizamos el Foo.svc y agregamos más web services (methods e interfaces) y la cantidad de files en el directory de FooBar está creciendo.

Tengo 26 files Foo (nn) .xsd en este directory, donde nn = 1 a 26.

Mi configuration.svcinfo depende de configuration91.svcinfo.

Mi pregunta es esta? ¿Alguno de estos files necesita ser controlado por la versión? ¿Pueden eliminarse todos ellos cada vez que realice una build \ deploy (siempre que haga una reference de service de actualización)?

Esos files xsd son solo metadatos de su service que se acababan de utilizar cuando creó o actualizó una reference de service. En realidad, puede eliminarlos ya que solo se usaron cuando se está generando el file de reference. No es necesario controlar la versión de esos files.

El file Reference.svcmap es prácticamente la definición de la reference del service. Contiene las diferentes configuraciones y enlaces de origen. Reference.svcmap definitivamente debe estar controlado por fuente porque en realidad es LA reference de service en el sentido de elementos de proyecto.

Reference.cs contiene los contratos generados y el proxy contra el cual se comstack su código. Ya sea para controlar la fuente o no para controlar la fuente, el file depende de usted. Generalmente, esto es parte del código del proyecto y debe ser controlado por la fuente, pero al ser generado automáticamente, a veces puede ocasionar un check-in accidental.

Todos los demás files son files TEMPORALES que se utilizan al generar el contrato y el código proxy. Juntos forman la sum de los metadatos expuestos por el service que incluye contratos de service (* .wsdl), contratos de datos (* .xsd) e información de configuration (* .svcinfo).