以下是我的开发环境的生成发布配置文件:
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<publishUrl>\\dev\webroot</publishUrl>
<DeleteExistingFiles>False</DeleteExistingFiles>
</PropertyGroup>
</Project>
我想要做的事情我想象的很简单,我只想添加一个额外的发布网址,我想发布同一个项目。不幸的是,我还没能找到任何关于如何以直截了当的方式做到这一点。所有这些都表明我需要实现一些复杂的msdeploy解决方案,或者简单地回退到脚本(即ps / batch + robocopy / xcopy),这是不可取的。
我想象一个人可以简单地做一些事情:
<publishUrl>\\dev\webroot;\\dev2\webroot2</publishUrl>
或
<itemGroup>
<publishUrl>\\dev\webroot;</publishUrl>
<publishUrl>\\dev2\webroot;</publishUrl>
</itemGroup>
主要问题是: 如何通过FTP或文件系统扩展我的发布配置文件以部署到多个位置?
如果是RTFM回复 - 请参阅我可以阅读的内容。
更新 如果可以使用FTP进行多次部署,我也会对这样的解决方案感兴趣。
答案 0 :(得分:0)
我正在使用VS 2012;不确定您使用的是哪个版本的VS - 但是您正在使用发布配置文件,因此下面应该可以使用。
我认为您只需创建一个新的发布配置文件,然后配置该配置文件以使用其他发布网址。看似简单,所以我希望我不会遗漏你问题中的某些内容。
答案 1 :(得分:-1)
我不确定VS中的发布选项是在考虑到这一点的情况下开发的。我可能建议的唯一一点是,当你的项目部署到第一个目的地时,你使用像robocopy这样的工具将所有内容复制到一个新文件夹,它使用起来非常简单,这里有一个示例命令行使用:
robocopy <SRCFOLDER> <TGTFOLDER> /E /XO /XF *.config
rem /E : Copy Subfolders, including Empty Subfolders.
rem /XO : eXclude Older - if destination file exists and
is the same date or newer than the source - don't overwrite it.
rem /XF *.config : excludes all .config files from copy operation