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 に答える