【发布时间】:2013-12-17 23:39:48
【问题描述】:
注意:这是针对 Visual Studio 网站项目而非 Web 应用程序
我正在使用 Web 部署将更改从我的开发机器推送到我的登台服务器。我想推送与登台服务器不同的任何文件,除了一个特定文件(让我们称之为 myFile.whatever)
到目前为止,我已尝试将 C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe.config 文件编辑为如下所示:
<configuration>
<startup>
<supportedRuntime version="v2.0.50727" />
<supportedRuntime version="v4.0" />
</startup>
<rules> <------------ ADDED THIS NODE
<rule name="skipConfig" type="Microsoft.Web.Deployment.DeploymentSkipRuleHandler"
objectName="filePath" skipAction="Delete"
absolutePath="C:\inetpub\wwwroot\MyProject\myFile.whatever"/>
</rules>
</configuration>
但它仍在我的登台服务器上覆盖有问题的文件。我首先在我的开发机器上编辑msdeploy.exe.config,当它不起作用时,我也在我的登台服务器上更新了msdeploy.exe.config,但仍然无法正常工作。
我做错了吗?有关防止此文件被覆盖的任何建议?
【问题讨论】:
-
您需要防止在登台服务器上被覆盖的内容是什么?您是否考虑过设置 web.config 转换以便可以在那里部署暂存服务器设置?
-
web.config 中有大约 20 个元素正在更改。我考虑过转换,但我宁愿不复制文件。
-
转换非常简单,而且是正确的方法。 XDT 也非常简单。
-
好的,我愿意接受。只是出于好奇,为什么转换而不是复制更好?
-
如果您决定稍后进行更改(或者在部署后可能无法访问服务器),您可以从解决方案本身更好地管理它。如果您需要指定不同的服务器,您还可以根据需要设置任意数量的 web.config 转换。
标签: asp.net visual-studio-2010 visual-studio iis webdeploy