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

    Tôi muốn triển khai dự án cơ sở dữ liệu "database.dbproj" (ví dụ) bằng cách sử dụng powershell. Cho đến nay, tôi đã cố gắng để triển khai dự án sử dụng phương pháp sau đây,Triển khai dự án cơ sở dữ liệu (.dbproj) bằng cách sử dụng powershell

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

    $ option1 = @ ('/ t: reBuild, deploy/p: TargetConnectionString = "Dữ liệu Nguồn = (cục bộ) \ SQL2008R2; Tích hợp Security = True; Pooling = False;" /p: TargetDatabase = test "C: \ TEMP \ SVN \ 6000 \ Cơ sở dữ liệu \ Database.dbproj " ')

    & $ msbuild $ option1

    $ test1 = @ (' /target:Build,deploy','C:\TEMP\SVN\6000\Database\Database.dbproj','/property:TargetConnectionString="Data Source = (local) \ SQL2008R2; Integrated Security = True; Pooling = False; "', '/ bất động sản: TargetDatabase = test')

    & $ msbuild $ test1

    $ test2 = $ msbuild + "" + $ option1

    Invoke-Biểu $ test2

    Nhưng trong mọi trường hợp nó không làm gì cả. Tôi có nghĩa là nếu tôi gỡ lỗi mã sau đó tôi có thể thấy rằng con trỏ này đạt đến lệnh này và sau đó chỉ cần di chuyển đến dòng lệnh tiếp theo mà không làm bất cứ điều gì. Tôi có tập lệnh Batch tương tự và nó hoạt động tốt. Vì vậy, tôi chắc chắn rằng nó là một số sai lầm noob gây ra vấn đề này. Tôi đang làm gì ở đây?

    Cảm ơn, Jack

    Trả lời

    5

    Hãy thử như sau:

    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

    Đó là trả lời nhanh. Và nó làm việc cho tôi. Cảm ơn. – JackLock

    +0

    không sao cả. Bạn đã bao giờ được chào đón. –

    Các vấn đề liên quan