未解决的对象的引用。

我创build了一个访问[INFORMATION_SCHEMA].[TABLES]视图的UDF:

 CREATE FUNCTION [dbo].[CountTables] ( @name sysname ) RETURNS INT AS BEGIN RETURN ( SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = @name ); END 

在Visual Studio中,视图的模式和名称都标有警告:

SQL71502:函数:[dbo]。[CountTables]具有未parsing的对象[INFORMATION_SCHEMA]。[TABLES]的引用。

我仍然可以发布数据库项目没有任何问题,UDF似乎运行正常。 IntelliSense为我填充视图的名称,所以它似乎没有问题。

我也试着改变实现来使用sys.objects而不是这个视图,但是我也给这个视图提供了同样的警告。

我怎样才能解决这个警告?

master添加数据库引用:

  1. 在该项目下,右键单击“ 参考”
  2. select添加数据库引用…。
  3. select系统数据库
  4. 确保select了主人
  5. OK

请注意,VS可能需要一段时间才能更新。

山姆说这是做这件事的最好方法。
但是,如果您有一个场景需要从在特定位置没有该引用的机器部署dacpac,则可能会遇到麻烦。 另一种方法是打开您的.project文件,并确保您试图运行的构buildconfiguration下面的标记的值为false

 <TreatTSqlWarningsAsErrors>false</TreatTSqlWarningsAsErrors> 

这样你就不需要添加对你的项目的引用。

在我们的项目中,我们已经有一个参考大师,但是我们有这个问题。 这是我们得到的错误:

 SQL71502: Procedure: [Schema].[StoredProc1] has an unresolved reference to object [Schema].[Table1].[Property1]. 

要解决参考错误,请在表sql文件上右键单击属性,并validationBuildSettings是否设置为Build。

修改它build立固定它。