【问题标题】:ASP.NET Schema Tables Causing Issues in VSTS引起 VSTS 问题的 ASP.NET 架构表
【发布时间】:2016-02-19 01:04:48
【问题描述】:

安装 VSTS 数据库 GDR 并导入包含 ASP.NET 提供程序架构表的 SQL Server 2005 数据库后,我收到以下警告:

TSD04151:过程:[dbo].[aspnet_Users_DeleteUser] 对对象 [dbo].[sysobjects].[name] 的引用未解析。

TSD04151:过程:[dbo].[aspnet_Users_DeleteUser] 对对象 [dbo].[sysobjects] 有一个未解析的引用。

TSD04151:过程:[dbo].[aspnet_AnyDataInTables] 对对象 [dbo].[sysobjects].[type] 有一个未解析的引用。

TSD04151:过程:[dbo].[aspnet_Users_DeleteUser] 对对象 [dbo].[sysobjects].[type] 的引用未解析。

TSD04151:过程:[dbo].[aspnet_AnyDataInTables] 对对象 [dbo].[sysobjects] 有一个未解析的引用。

TSD04151:过程:[dbo].[aspnet_AnyDataInTables] 对对象 [dbo].[sysobjects].[name] 的引用未解析。

有谁知道如何摆脱这些警告?

【问题讨论】:

    标签: asp.net gdr


    【解决方案1】:

    我不确定,但快速浏览一下似乎可以发现以下内容。 脚本中的违规行似乎是:

    过程 [dbo].[aspnet_Users_DeleteUser] 中的第 42 行 (你如何在这里下划线?) (像这样:\_)

    (EXISTS (SELECT name FROM sysobjects WHERE (name = N'vw_aspnet_MembershipUsers') AND (type = 'V'))))

    系统视图 sysobjects 属于内置系统模式 'sys',它不包含在数据库项目中。结果,数据库项目解析器(错误地)认为引用未解析。

    我认为除了选择忽略项目设置中的警告外,您无能为力。 (请注意,这也会对您隐藏真正的错误。)我可能会忽略警告。

    更新: 尝试添加对:

    C:\Program Files\Microsoft Visual Studio 9.0\VSTSDB\Extensions\SqlServer\2008\DBSchemas\master.dbschema

    【讨论】:

    • 添加参考就可以了。需要注意的一点是,由于我的目标是 SQL 2005 数据库,因此我引用了以下内容:C:\Program Files\Microsoft Visual Studio 9.0\VSTSDB\Extensions\SqlServer\2005\DBSchemas\master.dbschema
    • 谢谢!它也适用于 VS2010 和 SQL2008。正确的文件夹(对于 x64 系统):C:\Program Files (x86)\Microsoft Visual Studio 10.0\VSTSDB\Extensions\SqlServer\2008
    • 我应该为这个文件添加什么样的参考?我唯一可以添加的是 XSD 文件,但没有效果(没有向数据库项目添加引用)。谢谢!
    • 忽略我的问题,这是一个数据库参考 =D。
    【解决方案2】:

    上面金的回答非常适合我要求的情况。但是,我还发现您可以过滤每个文件的构建警告。看http://blogs.msdn.com/gertd/archive/2009/01/11/file-level-build-warning-suppression-in-the-gdr.aspx

    【讨论】:

    • 是的,但这是一个有用的警告。抑制它不是一个理想的解决方案。
    猜你喜欢
    • 2011-09-13
    • 2018-07-28
    • 2011-03-03
    • 2023-03-30
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 2012-08-22
    相关资源
    最近更新 更多