【问题标题】:SQLCLR project has build error about 'System.Xml.IXmlLineInfo' not being defined in assemblySQLCLR 项目有关于未在程序集中定义的“System.Xml.IXmlLineInfo”的构建错误
【发布时间】:2018-04-23 22:08:50
【问题描述】:

我在 VS2015 中有一个 SQLCLR 项目,它是为 .NET 4.5.1 和 SQL Server 2016 设置的。它使用System.Xml.Linq

当我构建项目时,我收到错误消息:

类型“System.Xml.IXmlLineInfo”在未引用的程序集中定义。

并建议加载System.Xml 4.0.0

在搜索时,我发现网站说我必须添加对 System.Core 的引用,因为它包含 System.Xml,所以我这样做了,但仍然遇到同样的错误。

有什么想法吗?

【问题讨论】:

  • 程序集 System.Core 不包含类型 System.Xml.IXmlLineInfo。该类型可在程序集 System.Xml 中找到。这就是 Visual Studio 建议您参考 System.Xml 的原因。

标签: c# .net sql-server visual-studio sqlclr


【解决方案1】:

如果您查看IXmlLineInfo Interface 的文档,它指出IXmlLineInfo 可以在以下位置找到:

程序集: System.Xml.ReaderWriter.dll、System.Xml.dll、netstandard.dll

幸运的是,System.Xml 位于Supported .NET Framework Libraries 列表中(与System.Xml.Linq 一起),因此添加对此的引用并使其正常工作应该没有问题。

【讨论】:

    【解决方案2】:

    我删除了对 System.Xml 和 System.Core 的引用,清理了解决方案,关闭了 VS,打开了 VS,并添加了 System.Xml 和 System.Core,错误就消失了。该错误仍然出现在错误列表中,但不再导致构建失败。奇怪。

    【讨论】:

      猜你喜欢
      • 2015-02-05
      • 2013-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多