12

我一直在努力设置自动备份,但似乎碰壁了。按照本文档,并使用 Powershell,我启用了备份(TurnOn-Backups -On $true,然后是 Configure-Backups -SiteName "test1" -Enabled $true;所以Get-BackupSettings -SiteName "test1"告诉我备份已启用)。

但是,每当我从 Visual Studio 进行发布时,都不会创建备份。我已经设置了备份路径,权限设置为允许所有人使用..所以我不知道我还能检查什么。

4

2 回答 2

11

简短回答:目前在 VS 2010“Web One Click Publish”功能中被破坏。:'(

我花了将近一整周的时间与 MS 开发团队密切合作,并尝试了所有可以想象到的方法,但还没有找到不涉及 msdeploy.exe 命令实用程序的解决方案(即直接使用 VS 从 VS 执行此操作没有运气“网络一键发布”功能)。:(

希望他们在 VS 2010 SP1 中制作一个补丁来解决这个问题。支持 Web 部署(请参阅“功能”部分),但不支持自动备份功能。我知道这不是您要寻找的答案,我也不是,但是这件事的可悲事实。

我认为此时你所能期望的最好的就是 Sayed在这里回答的那样,虽然老了,但目前仍然是唯一的解决方案(注意:旧 VS 2008 网站模板的 msbuild 选项卡现在是“构建事件”下VS 2010 Web App 项目中的编译选项卡)。这种方法唯一的缺点是它会在每次编译时创建备份,而不仅仅是在部署时。否则,您必须编写一个在每次发布之前运行的特殊脚本。

附带说明一下,您还可以使用“配置编辑器”在服务器级别通过 IIS 管理器编辑您的 Web 部署配置(必须安装管理角色)。

在此处输入图像描述

于 2012-10-19T17:38:40.510 回答
2

通过从这个问题中窃取一些想法,我设法让 VS2010 部署自动备份: msdeploy (Web Deploy) failed with 401 auth issues

首先在您的本地计算机上安装 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 的回答),那么应该可以成功创建备份!哇!

于 2013-10-10T13:22:46.783 回答