tSQLt项目在Visual Studio 2012中构建失败

3
我有一些使用tSQLt构建的数据库项目,在Visual Studio 2010中能够正确生成。当我在Visual Studio 2012中打开它们时,会提示我IDE必须进行“功能性更改”才能使用它们。
一旦我允许转换完成,所有数据库项目都无法成功构建。相反,似乎tSQLt模式中的每个对象都会引发一个关于sys.objects的错误,看起来像这样:
{Path}.Database.Messages\Schema Objects\Schemas\tSQLt\
Programmability\Functions\Private_GetConstraintType.function.sql(6,10):
Error:  SQL71501: Function: [tSQLt].[Private_GetConstraintType] has an 
unresolved reference to object [sys].[objects].

转换似乎并没有改变任何命名脚本。发生了什么?(如何调查这样的问题,它非常神秘。)
1个回答

3
函数[tSQLt].[Private_GetConstraintType]从位于msdb系统数据库中的sys.objects中进行选择。

您需要向Visual Studio 2012(数据工具)中的数据库项目添加对msdb(或master)数据库的引用。

要做到这一点,请转到Solution->Project->Reference->Add Database Reference(如下所示截图)

enter image description here

并添加对系统数据库msdb的引用。 这应该会有所帮助。

enter image description here


是的,这就是我也是怎么做的。几个月前我也遇到了同样的问题,我费尽心思最终解决了它,但如果当时有你的答案就好了! :) - David Atkinson
我还必须在我的预部署脚本中添加 "ALTER DATABASE $(DatabaseName) SET TRUSTWORTHY ON"。 - David Atkinson
哦,而且我不得不将引用添加到master,将数据库名称设置为sys,而不是msdb。 - David Atkinson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接