sql-server - 使用 powershell 部署数据库项目 (.dbproj)

标签 sql-server powershell msbuild

我想使用 powershell 部署数据库项目“database.dbproj”(例如)。到目前为止,我尝试使用以下方法部署项目,

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

$option1 = @(' /t:reBuild,deploy /p:TargetConnectionString="Data Source=(local)\SQL2008R2;Integrated Security=True;Pooling=False;" /p:TargetDatabase=test "C:\TEMP\SVN\6000\Database\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;"','/property:TargetDatabase=test')

& $msbuild $test1

$test2 = $msbuild +"" + $option1

Invoke-Expression $test2

但在所有情况下它都不会执行任何操作。我的意思是,如果我调试代码,那么我可以看到该指针到达该命令,然后简单地移动到下一行命令而不执行任何操作。 我有类似的批处理脚本,它工作得很好。所以我确信这是一些菜鸟错误导致了这个问题。我在这里做错了什么?

谢谢, jack

最佳答案

尝试以下操作:

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`""

关于sql-server - 使用 powershell 部署数据库项目 (.dbproj),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14815728/

相关文章:

sql-server - SQL Server 中 tempdb 的用途是什么?

sql-server - ASP.NET MVC/SQL Server 中的 OpenAuth

powershell - 如何从已安装的更新窗口获取所有详细信息

azure - 尝试对 "%(TargetOSFamily.Identity)"进行数值比较,结果为 ""

.net - 如何强制使用MSBuild版本?

.net - 使用 MSBuild 构建多个 .csproj 文件时创建 "in-memory .sln"

c# - 是否可以通过 EF Core 5 在 SQL Server 聚集索引上指定填充因子?

c# - 使用来自两个不同表的两个 SELECT 语句

powershell - 在 powershell 中,使用 export-csv cmdlet,我的整数被引号封装,知道为什么吗?