我已将Visual Studio 2012数据库项目转换为Visual Studio 2015.当项目在TFS Build服务器上构建时,会发生以下错误
C:\ Builds \\ Sources \(136):导入的项目“C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ SSDT \ Microsoft.Data.Tools.Schema.SqlTasks。目标“未找到。确认声明中的路径是否正确,以及该文件是否存在于磁盘上。
根据我的理解,Build Server尝试为Visual Studio 2012(v11.0)查找SSDT。但是,它找不到它,因为我的Build Server机器上只安装了VS 2015。未安装VS2012 SSDT。
我的问题是 1.我对错误的解释是否正确? 2.为什么VS2012数据库项目没有自动转换为使用VS2015 SSDT?这是正常的转换行为还是我做错了什么?
如果你有答案,请帮忙。
答案 0 :(得分:2)
这里的问题是你的构建模板没有设置" VisualStudioVersion = 14.0"表示应该使用VS 2015。您可以通过编辑构建配置来解决 - 添加" / p:VisualStudioVersion = 14.0"到Process选项卡的MSBuildArguments部分。请注意,TFS 2015的大多数较新的构建模板都应自动执行此操作。
这会影响sql项目的原因是他们找到了在VS安装目录下构建它们的DLL。此参数控制可用和可以使用的Visual Studio版本。
披露:我在SSDT团队工作并编写了上面链接的演示文稿。