【发布时间】:2018-12-05 17:43:00
【问题描述】:
我有以下代码:
using (FileStream fs = new FileStream(path_to_xml, FileMode.Open))
{
using (XmlReader xr = XmlReader.Create(fs))
{
// Do something with xr
}
}
我收到警告
CA3075:XmlReader.Create 的不安全重载不接受 一个 XmlReaderSettings 参数
如果我更改 Create 语句并像这样添加 XmlReaderSettings:
using (XmlReader xr = XmlReader.Create(fs, new XmlReaderSettings()))
我收到警告
CA3075:提供了可能不安全的 XmlReaderSettings 实例 到 XmlReader.Create 方法。
这个警告的真正原因是什么?让它消失的正确方法是什么?
我正在使用 VS 2019 Preview 1.0
我以前从未见过这个警告,所以也许它是 VS 2019 的新警告?
更新:我已经查看了此页面 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca3075-insecure-dtd-processing?view=vs-2017,并且大多数解决方案都说要设置 'XmlReaderSettings(){ DtdProcessing = DtdProcessing.Prohibit }',但我仍然收到警告。
【问题讨论】:
-
This 可能是重复的。该问题尚未标记为已修复。
-
@JeroenMostert 对此表示感谢。您可能在这里有所收获!
标签: c# visual-studio-2019