c# - 收到错误消息“类型“XmlNode”在未引用的程序集中定义。”,但引用了适当的程序集
问题描述
我一直在寻找解决方案很长时间没有运气。我正在使用此代码从 .odt 文件中提取文本:
public String ReadOdt(String path)
{
var sb = new StringBuilder();
using (var doc = new TextDocument())
{
doc.Load(path);
XElement stylesPart = XElement.Parse(doc.DocumentStyles.Styles.OuterXml);
string stylesText = string.Join("\r\n", stylesPart.Descendants().Where(x => x.Name.LocalName == "header" || x.Name.LocalName == "footer").Select(y => y.Value));
var mainPart = doc.Content.Cast<IContent>();
var mainText = String.Join("\r\n", mainPart.Select(x => x.Node.InnerText));
sb.Append(stylesText + "\r\n");
sb.Append(mainText);
}
return sb.ToString();
}
但是,Visual Studio 告诉我:
错误 CS0012:在未引用的程序集中定义了类型“XmlNode”。您必须添加对程序集“System.Xml,Version=1.0.5000.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”的引用。(CS0012) (ScriptTablerV0)
'XmlDocument' 类型也是如此。
作为一种解决方案,它建议导入 System.Xml 引用,但这不会改变任何东西并且错误仍然存在。
有什么我应该看或尝试的吗?任何帮助将不胜感激。
编辑:我尝试使用 System.Xml 程序集中的其他方法/类,并且它们没有问题,但 VS 仍然无法识别样式和节点。
解决方案
推荐阅读
- c# - 是否可以创建 2 个连接到同一副本集的 C# MongoClient 实例?
- api - 为什么 flatlist 不能映射和显示数据?
- c# - httpModule 可以“捕获”来自 IIS 上托管的 Web API 的传出 http 请求吗?
- datagrid - 从服务器加载 Blazorise DataGrid DetailRow
- php - 在while循环PHP中检查数组中的值
- reactjs - 为什么 setupProxy.js 不登录反应应用程序?
- regex - 如何在 django 中使用 djongo 在 mongodb 中使用正则表达式快速搜索
- r - R- 具有权重约束的自定义 Keras 层
- javascript - 我如何将一组对象传递到我的 express/sql 服务器(反应)
- python - Pygame 声音对象已创建但未播放