[英]Is it possible to change a web reference URL at compile time
当前,我们有一个使用Web服务的应用程序。 对于我们的DEV,UAT和LIVE环境,Web服务URL是不同的,因为Web服务与不同的数据库通信(我不是这样设计的)。
我希望能够从一个源代码库构建所有三个版本。 目前,我需要在Visual Studio中手动编辑Web参考URL。 最好在编译时以某种方式指定Web参考URL。 我在想,也许我可以使用预构建钩子或其他方法来更改Web参考URL,但是如果可能的话,我不确定该怎么做。
我们的构建是从CruiseControl.NET触发的,只是为了向您提供整体信息。
您可以使用不同的构建配置来做到这一点吗?
我目前没有提供带有网络参考的示例,但是它将位于.csproj文件中。 您可以使用如下语法在csproj文件中有条件地包含注释:
<Choose>
<When Condition=" '$(Configuration)'=='Release' ">
<!-- add the reference, web reference etc node here -->
</When>
</Choose>
您必须手动编辑.csproj文件才能执行此操作
您如何触发这些构建? 力。 更改网址。 力。 更改网址。 力? 如果是这样,请使用cruisecontrol参数选择所需的URL。 例如,将选择发送给您正在使用的任何构建任务,例如Nant。 在Nant中,使用所需的URL编辑代码文件并进行构建。 您必须从Nant中进行一些文件编辑才能更改URL。
如果您希望每次都构建所有三个版本,则不需要该参数。 第一次构建将触发其他两个,而不同的url将在构建任务中的某个位置进行硬编码。
我在Nant中使用过C#脚本,然后针对特定的构建风格编辑文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.