首先是一个简短的任务描述:
有一个 XML 文件,引用了一个在 *.dll 中的 xsl 样式表。 这个 XML 的开头如下:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type='text/xsl' href='res://name_xsl.dll/frameset.xsl'?>
这个 XML 文件可以在 Internet Explorer 中打开并显示为 HTML,只有 IE 可以。 (xsl 将 xml 转换为 html)
正如您所看到的,它引用了win32系统文件夹,其中保存了 dll 文件。 使用 "res://" 引用可以工作。
但现在我不想将我的 dll 存储在系统文件夹中,而是存储在另一个文件夹中,比如 %ALLUSERSPROFILE%(环境变量),例如在 Windows XP 上是 C:\Documents and Settings\All Users,Win7 上是 C:\Users\Public(我不确定这一点)。
我该如何引用位于那个文件夹中的 dll? 是否可以使用环境变量来做到这一点,使其与系统无关? 您推荐什么解决方案。 (所有的 html、xsl 数据都保存在本地计算机的 dll 中。)
到目前为止,我已经尝试将参考行更改为以下内容:<?xml-stylesheet type='text/xsl' href='file:///c:/Documents and Settings/All Users/name_xsl.dll/frameset.xsl'?>
我还尝试了使用根文件夹 c: 甚至不带绝对路径,在同一个文件夹中拥有所有文件(xml 和 dll)。所有尝试都没有 res:// 结果,导致出现以下错误消息:系统无法找到指定的资源。处理资源时出错 'file:///C:/Documents and Settings/All Users/name_xsl.dll/... 或 'file:///C:/name_xsl.dll/frameset.xsl'。你能帮我吗?为什么它找不到文件?(文件名是虚构的)