为什么 SQL Server 2014 数据库项目的 SqlPublish 目标会失败?

Nic*_*nes 5 msbuild sql-server-2014 sql-server-data-tools

我的机器有当前(2014 年 3 月)版本的 SSDT、Visual Studio 2012 Professional 和 SQL Server 2014 Developer。我有一个MyProject.sqlproj针对 SQL Server 2014的 SQL Server 项目(我们称之为)。我尝试了以下操作:

MsBuild.exe MyProject.sqlproj 
            /t:SqlPublish /p:SqlPublishProfilePath=Somewhere.publish.xml
Run Code Online (Sandbox Code Playgroud)

这失败并出现以下错误:

部署错误 部署 72002:内部错误。
类型为 Microsoft.Data.Tools.Schema.Sql.Sql120DatabaseSchemaProvider 的数据库平台服务无效。您必须确保服务已加载,或者您必须提供有效数据库平台服务的完整类型名称。

如果我将此项目切换到目标 2012(并指向 2012 实例),则相同的命令会成功运行。我之前问过一个可能相关的问题,那里的答案解决了我的问题,但这不是这里的问题——如果我SqlPackage.exe直接使用,我可以成功发布这个 2014 DACPAC 。

发生了什么,我该如何解决?

Kev*_*ane 4

这里的问题是未设置 VisualStudioVersion 环境变量,在这种情况下,.sqlproj 文件当前默认针对 VS2010 版本(不支持 SQL Server 2014)。在运行 MSBuild 之前调用“set VisualStudioVersion=11.0”将解决该问题。

  • 我认为我有同样的问题,我在本地使用 SQL Server 2012 Express,在远程使用 SQL Server 2008。我正在开发并尝试发布 Asp.net MVC 5 项目。我使用 VS2013 时一切都很好。升级到 VS2015 后我开始遇到同样的错误。在哪里可以更改 VisualStudioVersion 环境? (3认同)