我使用 Visual Studio 2012 和 Web Deploy 将文件上传到网站。
当我在“编辑发布配置文件”中“开始预览”时,我总是在需要上传的文件列表中获得 Web.Config。
为什么在我的开发 PC 或网站上未更改 web.config 时会出现这种情况?
注意:在这种情况下,我没有使用 we.config 转换。
我使用 Visual Studio 2012 和 Web Deploy 将文件上传到网站。
当我在“编辑发布配置文件”中“开始预览”时,我总是在需要上传的文件列表中获得 Web.Config。
为什么在我的开发 PC 或网站上未更改 web.config 时会出现这种情况?
注意:在这种情况下,我没有使用 we.config 转换。
我的猜测是 web.config 转换过程会更新文件的最后修改日期,无论您是否声明 transforms。由于 MSDeploy 默认使用 last modified 作为执行更新的比较,因此每次都会更新文件。
(在您询问之前:如果您直接使用 msdeploy.exe,则可以切换到基于校验和的部署,但如果您使用 MSBuild,则不能)
Web.config 始终会更新,因为系统无法比较本地与远程,因为转换可能会更改 Web.config 文件的内容。即使您没有更改默认转换文件中的任何内容,或者即使您删除了转换文件,系统也会表现得好像可以进行转换一样。