【发布时间】:2014-08-11 15:44:58
【问题描述】:
我的机器有当前(2014 年 3 月)版本的 SSDT、Visual Studio 2012 Professional 和 SQL Server 2014 Developer。我有一个针对 SQL Server 2014 的 SQL Server 项目(我们称之为MyProject.sqlproj)。我尝试了以下操作:
MsBuild.exe MyProject.sqlproj
/t:SqlPublish /p:SqlPublishProfilePath=Somewhere.publish.xml
这会失败并出现以下错误:
部署错误部署 72002:内部错误。
具有类型的数据库平台服务 Microsoft.Data.Tools.Schema.Sql.Sql120DatabaseSchemaProvider 不是 有效的。您必须确保服务已加载,或者您必须提供 有效数据库平台服务的完整类型名称。
如果我将此项目切换到目标 2012(并指向 2012 实例),则相同的命令会成功运行。我之前问过一个可能相关的question,那里的答案解决了我的问题,但这不是这里的问题——如果我直接使用SqlPackage.exe,我可以成功发布这个2014 DACPAC。
发生了什么,我该如何解决?
【问题讨论】:
-
您是从 VS2012 开发人员命令提示符还是从常规命令提示符/其他环境运行 MSBuild?你的机器上也安装了VS2010吗?最可能的原因是未设置 VisualStudioVersion 环境变量,在这种情况下,.sqlproj 文件当前默认针对 VS2010 版本。在运行 MSBuild 之前尝试调用“set VisualStudioVersion=11.0”,看看是否能解决问题。
-
啊哈!是的,我确实安装了 VS 2010,并从常规命令提示符运行它。在执行之前调用“set VisualStudioVersion=11.0”!
-
很好,问题解决了:)
-
谢谢@KevinCunnane——如果你想添加这个作为答案,我很乐意接受。
标签: msbuild sql-server-data-tools sql-server-2014