C# 您会选择什么工具来为WCF合同版本控制生成多个C文件?

C# 您会选择什么工具来为WCF合同版本控制生成多个C文件?,c#,powershell,versioning,C#,Powershell,Versioning,我有一些突破性的变化,以WCF合同,我想能够支持两个版本的合同,从同一个网站 somewhere.com.catalog.v1 class A class B... somewhere.com.catalog.v2 class A class B 我希望有一个实用程序将文件从v1复制到v2,并更改所有名称空间引用,这样我就不必手动复制并查找和替换 T4模板-需要对此进行参数化。我在codeplex上找到了一个项目。 PowerS

我有一些突破性的变化,以WCF合同,我想能够支持两个版本的合同,从同一个网站

    somewhere.com.catalog.v1
      class A
      class B...

    somewhere.com.catalog.v2
      class A
      class B
我希望有一个实用程序将文件从v1复制到v2,并更改所有名称空间引用,这样我就不必手动复制并查找和替换

T4模板-需要对此进行参数化。我在codeplex上找到了一个项目。 PowerShell脚本。找到了似乎接近我想要的东西,但我遇到了PowerShell最严重的问题,并出现了编译错误。我尝试下载一些VisualStudio2010的PowerShell扩展以获得自动完成,但遇到了扩展冲突。 剃刀模板。从我所读到的内容来看,它似乎是针对单个文件生成的。 使用TextTransform实用程序执行MSBuild任务。 只需创建一个命令行C程序,该程序接受输入文件夹、输出文件夹和新名称空间。 其他_______
只是在为工作选择最好的工具时遇到困难,并且想学习一些可以应用于其他情况的新东西

为什么你不正确地版本化你的服务,然后只添加新的和旧的服务引用。@DustinDavis:既然这似乎是一个有趣的问题,你能给我们一个正确版本化服务的例子吗?发布你的服务。例如:domain.com/services/2011/05/14/service.svc然后根据需要更新您的服务,并再次发布domain.com/services/2011/04/15/service.svc使用您喜欢的任何版本控制方案。我喜欢约会,但有些人不喜欢。无论哪种方式,只要为项目中的每个服务添加一个新的服务引用,并根据需要使用它们。我不知道你做了什么改变,但你也可以使用适配器模式。好的,谢谢你的回答。这听起来确实是提问者应该做的事情。您只需使用不同的契约名称,然后为每个契约公开端点。这就是WCF的魅力所在。两个svc文件。v1.svc和v2.svc。如果更改太多以致于中断,则需要对其进行版本转换。为公共逻辑创建共享库,然后在两个独立的项目中实现您的更改。