У меня есть проект .net, в котором есть веб-ссылка на службу. Я хотел бы обновить эту веб-ссылку как часть каждой сборки. Это возможно?
Вы можете использовать скрипт MSBuild с задачей, которая вызывает wsdl.exe
<Target Name="UpdateWebReference"> <Message Text="Updating Web Reference..."/> <Exec Command="wsdl.exe /o "$(OutDir)" /n "$(WebServiceNamespace)" "$(PathToWebServiceURL)""/> </Target>
Вы можете сделать это, используя методы, предоставленные другими ответчиками, но вы должны знать, что это может привести к сбою сборки. Если WSDL был изменен, сгенерированный код также изменится, и ваш код больше не будет компилироваться.
Кроме того, при развертывании веб-сервисов в рабочей среде убедитесь, что они установлены как динамические, а не статические.
Вы можете использовать svcutil (http://msdn.microsoft.com/en-us/library/aa347733.aspx), чтобы сгенерировать для вас веб-ссылку. Инструмент сгенерирует надлежащие классы прокси-клиентов и соответствующую конфигурацию (и даже может объединить их в конфигурации вашего приложения). Имейте в виду, что инструмент требует .Net 3.0 и будет генерировать клиентские прокси в стиле WCF и конфигурацию.