最初に簡単なタスクの説明:
*.dll内にあるxslスタイルシートを参照するXMLファイルがあります。このXMLの始まりは次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type='text/xsl' href='res://name_xsl.dll/frameset.xsl'?>
このxmlファイルは、InternetExplorer内でHTMLとして開いて表示できます。IEのみです。(xslはxmlをhtmlに変換します)
ご覧のとおり、dllファイルが保存されているwin32システムフォルダを参照しています。「res://」での参照は機能します。
しかし今、私は自分のdllをシステムフォルダ内に保存したくありませんが、別のフォルダの下に%ALLUSERSPROFILE%(環境変数)と言うことができます。これは、たとえばWindows XPではC:\ Documents and Settings \ AllUsersまたはWin7C:\です。 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 '
手伝ってくれませんか。なぜファイルが見つからないのですか?(ファイル名は架空のものです)