生成WCF代理作为构建过程的一部分

Ale*_*all 6 msbuild wcf proxy

我正在编写一个WCF服务,它将在我们公司内广泛使用,我想生成WCF客户端代理作为构建过程的一部分,并将它们打包在一个程序集中,以便服务的客户端不具备多次重复这个过程.有没有人知道要做到这一点?是否有任何预先存在的MSBuild构建任务?

Ale*_*all 3

这就是我最后做的事情:

1)创建具有我要为其生成客户端代码的服务的项目

2) 创建执行以下操作的 MSBuild 任务:

a) Takes the compiled WCF Service assembly, runs svcutil.exe on it to extract XSD and WSDL metadata for all the services in the Service assembly.

b) Runs svcutil.exe again, this time on the extracted XSD and WSDL files to generate a .cs file containing the client

c) Run csc.exe to compile the generated client code into a separate assembly.
Run Code Online (Sandbox Code Playgroud)

3) 将 MSBuild 任务插入包含服务的项目的“AfterBuild”目标中。

现在,每次构建服务时,我都会获得一个自动生成的程序集,其中包含我们公司中的多个其他项目可以引用的客户端代码,而无需在多个项目中重新/生成相同的 Web 引用。他们可以只引用单个程序集,并且更容易更新,只需更新项目文件中的一行,而不是由 Web 引用生成器生成的多个文件。如果有人感兴趣,我可以向他们发送 MSBuild 任务的代码以及使用它的 XML 片段。