如何使用MS Web Deploy(msdeploy.exe)将文件从已部署的网站复制到本地目录?

时间:2012-09-07 05:03:38

标签: msdeploy

我已经想出了一个将站点部署到目标服务器的命令,它运行良好。如果在这种情况下它很重要,那么它是:

"C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe" 
  -source:package='HelloWorld.Mvc3UI\obj\Debug\Package\HelloWorld.Mvc3UI.zip' 
  -dest:auto,ComputerName='https://10.225.0.30:8172/MsDeploy.axd?site=HelloWorld',username='<MyUserName>',password='<MyPassword>',authType='basic',includeAcls='false'
  -allowUntrusted 
  -verb:sync 
  -disableLink:AppPoolExtension 
  -disableLink:ContentExtension 
  -disableLink:CertificateExtension 
  -setParamFile:"HelloWorld.Mvc3UI\obj\Debug\Package\HelloWorld.Mvc3UI.SetParameters.xml" 
  -setParam:name='IIS Web Application Name',value='HelloWorld' 
  -setParam:name='HelloWorld-Web.config Connection String',value='SERVER=10.225.0.25;DATABASE=HelloWorld;UID=sa;PWD=<MyPassword>;'

现在该站点在服务器上,我希望能够检索\ bin \ HelloWorld.Database.dll文件并使用msdeploy.exe将其复制到本地目录。

我猜我必须在远程服务器上使用包提供程序(因为它是用于部署站点的),并在本地计算机上使用dirPath或filePath提供程序。但是,我无法确定确切的语法以使其正常工作。

背景

我需要已经在生产中的HelloWorld.Database.dll文件,因此它可用于在应用程序回滚方案中降级数据库。此文件使用Fluent Migrator Framework迁移数据库更改。

1 个答案:

答案 0 :(得分:0)

我发现了一个解决方案。

"C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe" 
  -source:filePath='C:\inetpub\sites\HelloWorld\bin\HelloWorld.Database.dll',ComputerName='https://10.225.0.30:8172/MsDeploy.axd?site=HelloWorld',username='<MyUserName>',password='<MyPassword>',authType='basic',includeAcls='false' 
  -dest:filePath='F:\HelloWorldProject\HelloWorld.Database.dll' 
  -allowUntrusted 
  -verb:sync

但是我更喜欢是否有办法在不必指定整个远程路径的情况下执行此操作,因为它可能因环境而异。我试过,显然它不受支持。