0

我使用外部 DTD 来验证我的 xml 文件。由于 XmlReader 似乎只在 xml 文件所在的文件夹中查找 DTD,因此我需要以某种方式告诉读者查看我的 dtd 所在的特定文件夹。

我虽然用 XmlPreloadedResolver 来解决这个问题,但我在 GAC 中找不到 System.Xml.Utils.Dll。这不是标准的 .NET 框架程序集吗?

编辑:似乎这个 DLL 依赖于安装 silverlight。是否有另一种方法可以使用 dtd 进行验证,它位于另一个文件夹中,而不是 xml 文件本身?

4

3 回答 3

1

根据这篇文章System.Xml.Utils.dll“可选的,将根据使用情况包含在包 (XAP) 中”

似乎这个程序集与 Silverlight 相关;在我的机器上,我刚刚在%ProgramFiles%\Microsoft SDKs\Silverlight\v?.0\Libraries\Client目录中找到它

于 2010-01-06T15:50:36.460 回答
0

System.Xml.Utils.dll 不是标准 .NET Framework 的一部分。它包含在 Silverlight SDK 中。如果您还没有安装它,您可以从这里安装: http: //www.microsoft.com/downloads/details.aspx?FamilyID=1ea49236-0de7-41b1-81c8-a126ff39975b &displaylang=en

安装后,您要在项目中引用的程序集将位于 %PROGRAMFILES%\Microsoft SDKs\Silverlight\v3.0\Libraries\Client\

此程序集包括类 System.Xml.Resolvers.XmlPreloadedResolver

于 2010-01-06T17:00:17.750 回答
0

.netfx 4.0 在 System.Xml.dll 中包含 XmlPreloadedResolver。有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/system.xml.resolvers.xmlpreloadedresolver.aspx

于 2010-08-12T21:30:07.400 回答