Iis 7 为什么Web部署会忽略我的setParameter标记?
我有一个Web部署包,它生成App.SetParameters.xml文件以及所有其他包文件。SetParameters文件有几个Iis 7 为什么Web部署会忽略我的setParameter标记?,iis-7,visual-studio-2012,webdeploy,Iis 7,Visual Studio 2012,Webdeploy,我有一个Web部署包,它生成App.SetParameters.xml文件以及所有其他包文件。SetParameters文件有几个setParameter节点,它们应该更新连接字符串,但每当我执行web部署脚本时,它总是报告0参数已更改。查看部署的Web.config文件表明,它们确实没有更新 部署脚本的详细输出并没有说明它为什么跳过我的参数;它甚至没有提到他们。但是,如果我将其中一个setParameter标记更改为parameter标记,则会出现错误: 错误:已定义参数“Connection
setParameter
节点,它们应该更新连接字符串,但每当我执行web部署脚本时,它总是报告0参数已更改
。查看部署的Web.config文件表明,它们确实没有更新
部署脚本的详细输出并没有说明它为什么跳过我的参数;它甚至没有提到他们。但是,如果我将其中一个setParameter
标记更改为parameter
标记,则会出现错误:
错误:已定义参数“ConnectionString-Web.config连接字符串”
因此,它显然是在我的Web.config中找到这个参数。我完全不明白为什么它会跳过这样的参数
环境:
- Visual Studio 2012
- Web部署3.0
- Windows Server 2008 R2
- IIS 7
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
但是,此错误仅在构建Web部署包时出现,而不是在运行Web部署包时出现,因此Web部署只是认为没有要更新的配置部分。您可能认为Web.config文件中没有任何配置节是一个至少值得向用户发出警告的问题,但显然不是
解决方案是从基本Web.config文件的
节点中删除xmlns
属性,从Visual Studio发布包,并确保“源文档中没有元素”警告不再出现在输出中。在这之后,Web部署应该可以毫无问题地遵守您的setParameter
说明
No element in the source document matches '/configuration'