0

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

"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迁移数据库更改。

4

1 回答 1

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

但是,如果有一种方法可以做到这一点而不必指定整个远程路径,我会更喜欢,因为它可能因环境而异。我试过了,显然不支持。

于 2012-09-07T05:29:45.320 回答