Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure 使用外部文件设置Web部署参数_Azure_Deployment_Web Config_Msdeploy_Webdeploy - Fatal编程技术网

Azure 使用外部文件设置Web部署参数

Azure 使用外部文件设置Web部署参数,azure,deployment,web-config,msdeploy,webdeploy,Azure,Deployment,Web Config,Msdeploy,Webdeploy,我们有一个在Azure中托管的网站项目,我们使用Web.config转换来设置环境变量。然而,我们当前为不同环境构建系统的方法是多次构建项目(目前是3次),这是低效的 我们希望转向使用Web部署,因为这样我们就可以很好地使用Release Manager了 我们的问题是使用Web部署参数而不是Web.config转换;我们需要替换多个xml元素,而不是单个值 经过大量研究,我发现这两篇文章几乎完全详细地描述了我要做的事情 基本上,我尝试复制场景5,但使用一个单独的设置参数文件作为值 不幸的是,

我们有一个在Azure中托管的网站项目,我们使用Web.config转换来设置环境变量。然而,我们当前为不同环境构建系统的方法是多次构建项目(目前是3次),这是低效的

我们希望转向使用Web部署,因为这样我们就可以很好地使用Release Manager了

我们的问题是使用Web部署参数而不是Web.config转换;我们需要替换多个xml元素,而不是单个值

经过大量研究,我发现这两篇文章几乎完全详细地描述了我要做的事情

基本上,我尝试复制场景5,但使用一个单独的设置参数文件作为值

不幸的是,在示例中,引用外部xml文件仅在目标机器上时有效。与同事进行的一些测试证实了这一点;在本地计算机上工作,但在Azure上不工作


有没有办法强制Web Deploy在特定位置查找外部配置文件?

正如您已经注意到的,Web Deploy只能读取本地计算机或UNC共享上的替换值。它无法通过HTTP读取该特定文件

如果您要部署到Azure Web应用程序,那么您可以尝试使用Kudu/FTP在wwwroot文件夹上方一级手动上载该文件。然后可以指定文件位置,如下所示:

D:\home\site\prices.xml:://book[@name='book1']/price

当然,这意味着您必须在发布到您的站点之前预先上传此文件,因此这不是一个完美的解决方案,但它应该适用于您试图实现的目标