C# 使用WCF从.svc创建.cs文件的正确方法

C# 使用WCF从.svc创建.cs文件的正确方法,c#,web-services,C#,Web Services,A有一个带有webservice及其单元测试的.Net解决方案。 webservice有它的.svc,从测试项目中我需要.cs(据我所知,是从服务的url生成的。类似这样的svcutil.exe[WebServiceUrl]) 为了自动化单元测试,我需要在每个构建中更新这个.cs,因此我添加了一个预构建事件,调用svcutil.exe来获取wsdl并生成.cs。这一步需要运行服务,但我需要从项目本身创建它。我不希望运行服务来创建.cs。有办法做到这一点吗?或者另一种方法?您可以在单独的程序集中自

A有一个带有webservice及其单元测试的.Net解决方案。 webservice有它的.svc,从测试项目中我需要.cs(据我所知,是从服务的url生成的。类似这样的
svcutil.exe[WebServiceUrl]


为了自动化单元测试,我需要在每个构建中更新这个.cs,因此我添加了一个预构建事件,调用svcutil.exe来获取wsdl并生成.cs。这一步需要运行服务,但我需要从项目本身创建它。我不希望运行服务来创建.cs。有办法做到这一点吗?或者另一种方法?

您可以在单独的程序集中自托管WCF服务,该程序集仅用于此目的,然后运行svcutil.exe以获取WSDL输出并从中生成.cs文件


当然,这意味着您必须首先构建WCF主机程序集,然后运行svcutil.exe,然后构建单元测试程序集以及解决方案中的其余程序集。这一切都可以通过生成工作流中的预生成活动来完成。

如果服务未运行,您如何知道该服务是否已更新?您是在尝试对Reference.cs文件进行单元测试,还是在尝试对服务本身进行单元测试?