sql-server
  • powershell
  • msbuild
  • 2013-02-11 13 views 5 likes 
    5

    Desidero distribuire un progetto di database "database.dbproj" (ad esempio) utilizzando PowerShell. Finora, ho cercato di distribuire progetto utilizzando metodi seguenti,Distribuire progetto di database (.dbproj) utilizzando PowerShell

    $ msbuild = 'C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ MSBuild.exe'

    $ opzione1 = @ ('/ t: reBuild, deploy/p: TargetConnectionString = "Dati Origine = (locale) \ SQL2008R2; Sicurezza integrata = Vero; Pooling = False;" /p: TargetDatabase = test "C: \ TEMP \ SVN \ 6000 \ Database \ Database.dbproj " ')

    & $ msbuild $ opzione1

    E

    $ test1 = @ (' /target:Build,deploy','C:\TEMP\SVN\6000\Database\Database.dbproj','/property:TargetConnectionString="Data Source = (locale) \ SQL2008R2; Integrated Security = true; pooling = false; "', '/ proprietà: TargetDatabase = test')

    & $ msbuild $ test1

    e

    $ test2 = $ msbuild + "" + $ opzione1

    Invoke-Expression $ test2

    Ma in tutti i casi non fa nulla. Voglio dire se eseguo il debug del codice, allora posso vedere che questo puntatore raggiunge questo comando e quindi passa semplicemente alla riga successiva del comando senza fare nulla. Ho uno script Batch simile e funziona perfettamente. Quindi sono sicuro che si tratta di un errore di noob che sta causando questo problema. Cosa c'è di sbagliato che sto facendo qui?

    Grazie, Jack

    risposta

    5

    provare quanto segue:

    Start-Process -FilePath "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" -ArgumentList "/t:reBuild,deploy /p:TargetConnectionString=`"Data Source=(local)\SQL2008R2;Integrated Security=True;Pooling=False;`" /p:TargetDatabase=test `"C:\TEMP\SVN\6000\Database\Database.dbproj`"" 
    
    +0

    Questo è rapida risposta. E funziona per me. Grazie. – JackLock

    +0

    nessun problema. Sei sempre il benvenuto –

    Problemi correlati