DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DLLでの実行パス取得方法

環境/言語:[windows2000]
分類:[.NET]

いつもお世話になっております。
WEBアプリとWINDOWSアプリを作成しており、同じDBをみに行くので部品化しています。
vb.net(WINDOWSアプリ)でDLLを作成し、そのDLLをWEBアプリで参照しています。

DLL内でXMLファイルを読み込むといった処理をしているのですが、WEB側でうまくパスがとれません。

[Assembly].GetCallingAssembly.Location を使って取得しています。

WEBアプリ側で呼び出したときのパスを確認したところ
c:\winnt\microsoft.net\framework\v1.1.4322\temporary asp.net files\・・・・・\XXX.dll

とDLLを参照したパスとは違うものを取得しています。
WEBアプリとはそういう仕組みなのでしょうか?
完全パスを取得する方法はないのでしょうか?

初心者ですが宜しくお願いしますm(..)n
■No14482に返信(いっきゅうさんの記事)
> DLLを参照したパスとは違うものを取得しています。
> WEBアプリとはそういう仕組みなのでしょうか?
> 完全パスを取得する方法はないのでしょうか?

シャドウ コピー先を示しているのかな?
ということは、CodeBase プロパティで取得できるかな。


_________________________________________________________________________
じゃんぬ Microsoft MVP for Visual Developer - C#
  http://jeanne.wankuma.com/
  http://blogs.wankuma.com/jeanne/
> シャドウ コピー先を示しているのかな?
> ということは、CodeBase プロパティで取得できるかな。

ありがとうございます。
CodeBase で取得できました!

ちょっと気になったのが
パスが"C:\input\・・・・・"の形ではなく
"file:///C:/input・・・・"の形になるのはしかたないのですね?

Windowsアプリの方でも同じ形でパスを取得できたので問題はなさそうです。







> _________________________________________________________________________
> じゃんぬ Microsoft MVP for Visual Developer - C#
>   http://jeanne.wankuma.com/
>   http://blogs.wankuma.com/jeanne/
解決済み!
■No14514に返信(いっきゅうさんの記事)
> ちょっと気になったのが
> パスが"C:\input\・・・・・"の形ではなく
> "file:///C:/input・・・・"の形になるのはしかたないのですね?

    Dim stTarget As String = System.Reflection.Assembly.GetExecutingAssembly().CodeBase
    Dim hUri As New System.Uri(stTarget)

    MessageBox.Show(hUri.LocalPath())


__________________________________________________
じゃんぬ Microsoft MVP for Visual Developer - C#
  http://jeanne.wankuma.com/
  http://blogs.wankuma.com/jeanne/
解決済み!
  • 題名: Re[4]: DLLでの実行パス取得方法
  • 著者: いっきゅう
  • 日時: 2006/01/16 14:32:44
  • ID: 14553
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
>>パスが"C:\input\・・・・・"の形ではなく
>>"file:///C:/input・・・・"の形になるのはしかたないのですね?
>
> Dim stTarget As String = System.Reflection.Assembly.GetExecutingAssembly().CodeBase
> Dim hUri As New System.Uri(stTarget)
>
> MessageBox.Show(hUri.LocalPath())
>
>

じゃんぬさん、ありがとうございます!

大変助かりました^^

ありがとうございましたm(..)m
> __________________________________________________
> じゃんぬ Microsoft MVP for Visual Developer - C#
>   http://jeanne.wankuma.com/
>   http://blogs.wankuma.com/jeanne/
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板