VS 2015 MSBuild 部署数据库项目错误
VS 2015 MSBuild Deploy Database Project Error
我在使用 VS 2015 MSBuild 通过命令行部署数据库项目时遇到问题。问题是我需要能够仅使用 14.0 的 MSBuild,而无需安装 VS 2013。
我在以下位置使用 14.0 MSBuild:
C:\Program Files (x86)\MSBuild.0\Bin\MSBuild.exe
以下工作正常,因为我还安装了 Visual Studio 2013 和适当的 SQL 服务器数据工具:
MSBUILD "C:\Users\XYZ\Desktop\temp\Testing\TestProject\TestProject.sqlproj" /t:build "/p:Platform=AnyCPU" /t:deploy "/p:TargetConnectionString=Data Source=localhost;IntegratedSecurity=True" /p:TargetDatabase=TestDeployDb /p:Configuration=Release /p:VisualStudioVersion=12.0
但是,如果我将 "VisualStudioVersion" 更改为“VS 2015 的 14.0,我会收到错误消息:
Deploy error Deploy72002: Unable to connect to master or target server 'TestDeployDb'. You must have a user with the same password in master or target server 'TestDeployDb'.
根据您的描述,我创建了一个演示并在我这边重现了您的问题,您使用了错误的连接字符串。请像这样修改您的命令:
MSBUILD "C:\Users\XYZ\Desktop\temp\Testing\TestProject\TestProject.sqlproj" /t:build "/p:Platform=AnyCPU" /t:deploy /p:TargetConnectionString="Data Source=localhost;IntegratedSecurity=True" /p:TargetDatabase="TestDeployDb" /p:Configuration=Release /p:VisualStudioVersion=14.0
感谢 Cole Wu 说我的连接字符串无效,但他的回答对我来说开箱即用。出于某种原因,我的连接字符串*对 12.0 有效但对 14.0 无效。
问题最终是我有 IntegartedSecurity
而不是 Integrated Security
,这在移动到 14.0
时破坏了我的命令
这是有效的决赛:
MSBUILD "C:\Users\XYZ\Desktop\temp\Testing\TestProject\TestProject.sqlproj" /t:build "/p:Platform=AnyCPU" /t:deploy /p:TargetConnectionString="Data Source=localhost;Integrated Security=True" /p:TargetDatabase="TestDeployDb" /p:Configuration=Release /p:VisualStudioVersion=14.0
我在使用 VS 2015 MSBuild 通过命令行部署数据库项目时遇到问题。问题是我需要能够仅使用 14.0 的 MSBuild,而无需安装 VS 2013。
我在以下位置使用 14.0 MSBuild:
C:\Program Files (x86)\MSBuild.0\Bin\MSBuild.exe
以下工作正常,因为我还安装了 Visual Studio 2013 和适当的 SQL 服务器数据工具:
MSBUILD "C:\Users\XYZ\Desktop\temp\Testing\TestProject\TestProject.sqlproj" /t:build "/p:Platform=AnyCPU" /t:deploy "/p:TargetConnectionString=Data Source=localhost;IntegratedSecurity=True" /p:TargetDatabase=TestDeployDb /p:Configuration=Release /p:VisualStudioVersion=12.0
但是,如果我将 "VisualStudioVersion" 更改为“VS 2015 的 14.0,我会收到错误消息:
Deploy error Deploy72002: Unable to connect to master or target server 'TestDeployDb'. You must have a user with the same password in master or target server 'TestDeployDb'.
根据您的描述,我创建了一个演示并在我这边重现了您的问题,您使用了错误的连接字符串。请像这样修改您的命令:
MSBUILD "C:\Users\XYZ\Desktop\temp\Testing\TestProject\TestProject.sqlproj" /t:build "/p:Platform=AnyCPU" /t:deploy /p:TargetConnectionString="Data Source=localhost;IntegratedSecurity=True" /p:TargetDatabase="TestDeployDb" /p:Configuration=Release /p:VisualStudioVersion=14.0
感谢 Cole Wu 说我的连接字符串无效,但他的回答对我来说开箱即用。出于某种原因,我的连接字符串*对 12.0 有效但对 14.0 无效。
问题最终是我有 IntegartedSecurity
而不是 Integrated Security
,这在移动到 14.0
这是有效的决赛:
MSBUILD "C:\Users\XYZ\Desktop\temp\Testing\TestProject\TestProject.sqlproj" /t:build "/p:Platform=AnyCPU" /t:deploy /p:TargetConnectionString="Data Source=localhost;Integrated Security=True" /p:TargetDatabase="TestDeployDb" /p:Configuration=Release /p:VisualStudioVersion=14.0