首先是简短的任务描述:
有一个 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 和仅 IE 中打开并显示为 HTML。(xsl 将 xml 转换为 html)
如您所见,它引用了保存 dll 文件的win32 系统文件夹。使用“res://”引用确实有效。
但是现在我不想将我的 dll 存储在系统文件夹中,而是在另一个文件夹下可以说 %ALLUSERSPROFILE% (环境变量),例如在 Windows XP 上是 C:\Documents and Settings\All Users 或在 Win7 C:\用户\公共(不确定那个)。
如何引用该文件夹中的 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'
你能帮帮我吗?为什么找不到文件?(文件名是虚构的)