我正在使用此命令来构建和部署我的网站:
MSBuild myprj.sln
/P:Configuration=Debug
/P:DeployOnBuild=True
/P:MsDeployServiceUrl=http://myserver/MsDeployAgentService
/P:MSDeployPublishMethod=RemoteAgent
/P:DeployTarget=MSDeployPublish
/P:UserName=foo
/P:Password=bar
/P:DeployIisAppPath="Default Web Site\MyApp"
它很棒,除了我想要排除某个数据文件,比如~/App_Data/data.xml
。我不想在我的项目中使用data.xml
,因为它是由应用生成的或用户设置的(例如,通过重命名和配置data.xml.orig
到data.xml
)。
那该怎么办?我可以简单地将其从MSDeploy中排除,还是应该以另一种方式处理它?</ p>
答案 0 :(得分:0)
发布的文件是项目的构建输出;这包括您的DLL和Build Action设置为Content的任何文件。如果将“构建操作”设置为“无”(单击VS中的文件,查看其属性),则应自动将其排除。
如果要完全排除App_Data文件夹的内容,可以在“打包/发布Web”选项卡上的项目属性中选择一个选项。
答案 1 :(得分:0)
如果我找对了你,你应该在你的命令行中添加/ p:SkipExtraFilesOnServer = True。 这会将所有额外文件留在目的地,这在某些情况下可能是一个缺陷
如果你只想跳过一些文件夹(可能需要,如果你不想浪费你的服务器很多,同时仍保持一些文件夹完整) - 你可以使用这个问题的解决方案: MSDeploy skip rules when using MSBuild PublishProfile with Visual Studio 2012