如何在构建时自动更新Web引用?

时间:2008-10-01 20:42:18

标签: .net web-services

我有一个.net项目,它有一个服务的Web引用。我想将该Web引用更新为每个构建的一部分。这可能吗?

4 个答案:

答案 0 :(得分:17)

您可以将MSBuild脚本与调用wsdl.exe

的任务一起使用
  <Target Name="UpdateWebReference">
    <Message Text="Updating Web Reference..."/>
    <Exec Command="wsdl.exe /o &quot;$(OutDir)&quot; /n &quot;$(WebServiceNamespace)&quot; &quot$(PathToWebServiceURL)&quot;"/>
  </Target>

答案 1 :(得分:1)

此外,在生产中部署Web服务时,请确保将它们设置为动态而非静态。

答案 2 :(得分:1)

您可以使用其他回答者提供的方法来执行此操作,但您必须知道这样做可能会导致构建失败。如果更改了WSDL,生成的代码也将更改,您的代码可能不再编译。

答案 3 :(得分:0)

您可以使用svcutil(http://msdn.microsoft.com/en-us/library/aa347733.aspx)工具为您生成Web引用。该工具将生成适当的客户端代理类和正确的配置(它甚至可以将其合并到您的应用程序配置中)。请记住,该工具需要.Net 3.0,并将生成WCF样式的客户端代理和配置。