0

我有一個問題,使用VS 2015 MSBuild通過命令行部署數據庫項目。問題是我需要能夠使用14.0的MSBuild,沒有安裝VS 2013。VS 2015 MSBuild部署數據庫項目錯誤

我使用的是14.0的MSBuild在:

C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe

下面的作品,因爲我也有相應的SQL Server數據工具安裝Visual Studio 2013:

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'.

回答

1

感謝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 
+0

我很高興認識你解決了這個問題和感謝共享解決方案。請將其標記爲答案,對於有類似問題的其他社區成員將非常有利。 –

+0

會做。有一個「等待期」,因爲這是我的答案。所以我會盡可能標記它。 – Sharpiro

1

根據您的描述,我創建了一個演示,並在我的側面重現您的問題,您使用了不正確的連接字符串。請修改您的命令是這樣的:

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