在单一解决方案中使用SSDT 2010(最新更新,v10.3.21208.0)和多个数据库项目时出现错误。该错误读取以下内容:
SQL71561: View: [dbo].[View] has an unresolved reference to object [OtherDatabase].[dbo].[OtherTable]
我已经阅读了Stack Overflow和Google上可以找到的所有其他资源。以下是我已经尝试过的一些事情:
似乎没有什么对我有用。任何帮助将非常感激。这是一个截图,可能会更清楚地解决我的问题:
答案 0 :(得分:8)
已经有一段时间了,但我仍然希望与其他可能遵循我最初失去的链接的人分享此解决方案。密切关注第4步。这为我解决了这个问题。
可能的解决方案是向具有缺少对象的数据库添加数据库引用。该引用需要一个数据层应用程序(dacpac文件),该数据层应用程序可以在具有缺少对象的数据库项目的解决方案上轻松生成。在数据库项目上按鼠标右键,然后选择Snapshot Project。 dacpac文件在Snapshots文件夹上创建。然后应将该文件复制到公共文件夹以便重新使用。
在出现错误的项目中,在引用上按鼠标右键并选择Add Database Reference
。出现Add Database Reference
对话框:
答案 1 :(得分:1)
如果引用的数据库项目已构建,但引用未解析,请尝试清理并重建引用的项目并清理执行引用的项目。
答案 2 :(得分:0)
我正在使用VS2015,但它可能仍然适用。在我的例子中,引用的数据库在引用属性中指定了“数据库变量名称”,如[$(SomeDb)].[dbo].[SomeTable]
。如果有人试图使用实际数据库名称而不是变量引用引用数据库中的项目,我们将收到有关未解析引用的警告。将那些更改为{{1}}解决了引用问题。