2012-02-15 11 views
0

私はregasm.exeでブラウザヘルパーオブジェクトとして登録した.NET DLLを持っています。 .resファイルを使用してDLLにいくつかのWin32リソースを埋め込み、/ win32をcsc.exeに切り替えます。resプロトコルによる登録済みの.NET DLLのリソースへのアクセス

image.png HTML "image.png" 

私がいる限り、私はDLLの絶対パスを含めるようres protocolを使用してリソースにアクセスすることができています。

res://C:\Path\To\My\Dll\Assembly.dll/image.png 

これはむしろ残念です。私は他の多くのexamplesで見てきたように私はむしろちょうどアセンブリ名を参照します:

res://Assembly.dll/image.png 

しかし、ブラウザがリソースを見つけることができないため、これはエラーになります。

アイデア?

答えて

1

私は、できることがいくつかあると思います。まず、完全なパスを使用したくない場合は、アセンブリをグローバルアセンブリキャッシュの一部にする必要があります。

Add assembly to global assembly cache.

それはきれいではありませんだとあなたはまた、DLLの新しいビルドがキャッシュにバージョンとは異なりますことを心に留めておく必要があります。だから、それは基本的にもう一つの余計なステップであり、最初に完全な道を踏み出さなければならないということを受け入れることに戻るでしょう。

第2に、私は、VSユーティリティや他のリソースと同じディレクトリにDLLを配置しようとしていると思います。これは、複数の異なるものに適用できますが、手動でファイルを移動する必要があります。

第3に、希望のパスを表すカスタム環境変数をいくつか作成します。したがって、将来的に完全なパスを入力する代わりに、変数を入力するだけです。

第3のオプションは、私がお気に入りであり、コマンドラインから達成するために必要な複数の異なるものです。

関連する問題