注意:这适用于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
,但同样,仍然没有工作。
我是不是错了?有关防止此文件被覆盖的任何建议吗?
答案 0 :(得分:1)
由于转换对网站项目很痛苦,您可以使用此方法:http://blogs.msdn.com/b/webdev/archive/2010/04/22/web-deployment-excluding-files-and-folders-via-the-web-application-s-project-file.aspx
答案 1 :(得分:0)
如评论中所述,您通常要做的是拥有一个基本Web.config文件,然后是一个特定于debug
的文件和一个特定于release
的文件。调试或发布部分将使用特定于此方案的内容添加/覆盖基本部分。这样你就可以上传两者,一切都会正常工作。
要了解有关web.config transformation
的更多信息,请参阅:http://msdn.microsoft.com/en-us/library/dd465326(v=vs.110).aspx