Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 带有DB项目引用的SSDT引发奇怪的编译错误_Visual Studio_Sql Server Data Tools - Fatal编程技术网

Visual studio 带有DB项目引用的SSDT引发奇怪的编译错误

Visual studio 带有DB项目引用的SSDT引发奇怪的编译错误,visual-studio,sql-server-data-tools,Visual Studio,Sql Server Data Tools,我有一个包含2个SSDT数据库项目的解决方案,一个引用另一个。在其中一个存储过程中,我有一个简单的update语句,如下所示: update [$(otherDb)]..OtherTable set TheField = @value where OtherTable.Id = @id 我有许多存储过程在其他表上执行相同的操作,这个存储过程已经工作了好几个月,intellisense甚至能够显示表中的所有列。尽管如此,我还是犯了一个错误 SQ71561: Procedure [dbo].[My

我有一个包含2个SSDT数据库项目的解决方案,一个引用另一个。在其中一个存储过程中,我有一个简单的update语句,如下所示:

update [$(otherDb)]..OtherTable set TheField = @value where OtherTable.Id = @id
我有许多存储过程在其他表上执行相同的操作,这个存储过程已经工作了好几个月,intellisense甚至能够显示表中的所有列。尽管如此,我还是犯了一个错误

SQ71561: Procedure [dbo].[MyProcedure] has an unresolved reference to object [$(otherDb)].[dbo].[OtherTable].[TheField]

有人知道发生了什么吗?

删除DBML文件并重建项目成功了

  • 确保下划线视图不使用“选择”*
  • 删除引用并再次添加数据库引用,选择复选按钮抑制警告
  • 重建项目-这应该可以解决它
  • 我是乔尼·拉尔瓦尼

    我已经安装了Visual Studio 2017,它的SSDT版本为15.1。我检查了脚本中变量[$(数据库)]的用法,下面是观察结果-

    1-如果使用DB.dbo.Table而不是[$(DB)].dbo.Table,则存储过程、表值函数和标量函数仅会引发未解析引用警告。因此,即使我们不使用变量,在这些脚本中构建也是成功的。 2-如果我们使用DB.dbo.Table而不是[$(DB)].dbo.Table,则按设计内联函数和视图将抛出未解决的引用错误。因此,在这些脚本中需要变量引用

    以上两点对于VisualStudio2013 SSDT(12.0)也是有效的,它的工作方式也一样。然而,当我们从SQL数据库导入或更新模式时,VS 2013 SSDT有时也会在存储过程中抛出多个未解析引用错误。这是由于2013年SSDT中的错误造成的