我的机器有当前(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,那里的答案解决了我的问题,但这不是问题 - 如果我使用{我能够成功发布2014年DACPAC直接{1}}。
发生了什么,我该如何解决?
答案 0 :(得分:4)
这里的问题是VisualStudioVersion环境变量没有设置,在这种情况下.sqlproj文件当前默认定位VS2010版本(不支持SQL Server 2014)。调用"设置VisualStudioVersion = 11.0"在运行MSBuild之前将解决问题。