2013-04-16 51 views
3

我有許多使用tSQLt的數據庫項目,這些數據庫項目在Visual Studio 2010中正確構建。當我在Visual Studio 2012中打開它們時,我被告知IDE必須使「功能改變「以便使用它們。tSQLt項目無法在Visual Studio 2012中生成

一旦我讓轉換通過,沒有任何數據庫項目建立成功了。相反,它似乎是以往任何時候都反對在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]. 

轉換不會出現在任何方式改變了命名的腳本。這是怎麼回事? (我如何調查這樣的問題。這是很神祕的。)

回答

3

tSQLt功能[tSQLt] [Private_GetConstraintType]sys.objects中它位於MSDB系統數據庫中選擇。

您需要將數據庫參考MSDB(或)數據庫添加到您的數據庫項目在Visual Studio 2012(數據工具)。

要做到這一點去的解決方案 - >項目 - >參考 - >添加數據庫參考(見下面的截圖)

enter image description here

,並添加參照系統數據庫MSDB。這應該有所幫助。

enter image description here

+0

是的,這是我如何得到它的工作。幾個月前我遇到了同樣的問題。我糊塗了,最終解決了這個問題,但是我可以用你的答案完成! :) –

+0

我還必須將「ALTER DATABASE $(DatabaseName)SET TRUSTWORTHY ON」添加到我的預部署腳本中。 –

+0

哦,而不是msdb,我不得不添加引用到master,將數據庫名稱設置爲sys –

相關問題