我一直在努力设置自动备份,但似乎已经碰壁了。 在document之后,使用Powershell,我启用了备份( TurnOn-Backups -On $ true ,然后 Configure-Backups -SiteName“test1”-Enabled $ true ;所以 Get-BackupSettings -SiteName“test1”告诉我备份已启用)。
但是,每当我从Visual Studio进行发布时,都不会创建备份。我已设置备份路径,权限设置为允许每个人的所有内容..所以我不知道我还能检查什么。
答案 0 :(得分:11)
简答:目前在VS 2010“Web One Click Publish”功能中被打破。 :'(
我花了将近一整个星期的时间与MS Dev团队密切合作,并尝试在这一点上可以想象的一切,并且还没有找到一个不涉及msdeploy.exe命令实用程序的解决方案(即没有运气从VS这样做直接使用“Web One Click Publish”功能)。 :(
希望他们在VS 2010 SP1中提供补丁来解决此问题。支持Web部署(See "Features" section),但不支持自动备份功能。我知道这不是你正在寻找的答案,也不是我,但不过是这件事的可悲事实。
我认为此时你能想到的最好的是Sayed回答here,而旧的,仍然是目前唯一的解决方案(注意:旧的VS 2008网站模板的msbuild选项卡是现在在VS 2010 Web App项目的Compile选项卡下“构建事件”。这种方法的唯一缺点是它会在每次编译时创建备份,而不仅仅是在部署时。否则,您必须编写一个在每次发布之前运行的特殊脚本。
另外,您还可以使用“配置编辑器”在服务器级别通过IIS管理器编辑Web部署配置(必须安装管理角色)。
答案 1 :(得分:2)
通过从这个问题中窃取一些想法,我设法让VS2010部署自动备份: msdeploy (Web Deploy) failing with 401 auth issues
本地计算机上的第一个install Web Deploy v3.5 - 安装了VS2010的计算机。
现在编辑您的VS2010环境配置:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config
# or
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config
找到<assemblyBinding>
节点,并在其中添加以下内容:
<dependentAssembly>
<assemblyIdentity
name="Microsoft.Web.Deployment"
publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="7.1.0.0" newVersion="9.0.0.0"/>
</dependentAssembly>
保存,然后重新启动VS2010。
您现在应该可以在VS2010中使用一次单击发布来推送到运行Web Deploy v3的服务器,如果您在服务器上正确配置了备份(请参阅@ Chiramisu的回答),那么应该成功创建备份! WOOP!