使用WCF服务进行项目。该项目处于git源代码控制中。
为了使该项目正常工作,我必须对配置进行更改,基本上是对每个服务进行端点更改。
当前,似乎与服务相关的每个文件都在源代码控制中
* .wsdl,*。xsd,*。svcinfo,reference.cs,*。disco,*。svcmap等
当然,这是一场噩梦,因为我不想将这些文件推送到仓库中。那么可以从git中排除哪些与wcf服务相关的文件?
我们使用了两个选项:
通常,我们会忽略“服务引用”文件夹中的整个文件夹。
这意味着,当您提取存储库的干净副本时,您将在项目中看到服务引用(因为它是.csproj的一部分),但是如果您尝试更新或配置它,它将引发错误。任何开发人员第一次使用新计算机时,都必须删除服务引用并通过VS重新添加。
之所以这样设置我们的项目,是因为开发人员通常是根据自己的服务版本(或针对多个开发人员的常见问题)开发的。Reference.svcmap具有服务地址,因此这将显示为在使用与回购的Reference.svcmap不同位置托管的服务的任何开发者机器上git中的待定更改。
如果使用该存储库的每个人都在使用同一服务(或仅在分支之间更新服务位置),则可以保留Reference.svcmap文件。然后,开发人员只需从VS更新服务引用即可生成所有其他文件。
这些解决方案的一个警告是,以我的经验,生成的文件并不总是匹配的,即,当您更新/重新添加服务引用时,VS可能会将生成的文件命名为文件名1.xsd而不是文件名.xsd 。(也许其他人知道是什么原因造成的)。然后在带有服务引用的.csproj文件的git的未提交更改中,您将获得以下数目:
- <None Include="Service References\ServiceRef\System.Drawing.xsd">
+ <None Include="Service References\ServiceRef\System.Drawing1.xsd">
- <None Include="Service References\ServiceRef\service.xsd">
+ <None Include="Service References\ServiceRef\service1.wsd"/>
在我们的例子中,我们只是丢弃那些更改(到目前为止还没有破坏任何东西)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句