- - PR -
DLLの実行時のフォルダ
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-08-22 19:36
コンソールアプリと、Webアプリから使用されるクラスライブラリ(DLL)
を作成しています。 このDLLから設定ファイルを読み込もうと思い このDLLの実行時のフォルダを取得しようとおもいます。 (設定ファイルは、DLLと同じ場所に配置しようと思っています) 以下だとDLLのフルパス(DLLのファイル名付)が取得できてしまいます。 System.Reflection.Assembly.GetExecutingAssembly().CodeBase この取得した文字列を編集して実行時のフォルダを取得するしかないものでしょうか。 環境はVisualStduio2005です。 | ||||||||||||
|
投稿日時: 2006-08-22 19:54
できてしまえてまずいのでしょうか? シャドウ コピーされる以上、CodeBase プロパティを使うしかないと思うのですが... DLL での実行パス取得方法 # 2.0 だと URI 表記以外で取れたりするのかな... _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-08-23 08:47
書き方が悪かったですね。
欲しいのは、DLLが動作しているフォルダなんですよね。 どうせなら、フォルダ取得と、ファイル名取得の両方を 用意してくれればいいのにと思ったわけです。 | ||||||||||||
|
投稿日時: 2006-08-23 08:53
そういうメソッドを用意してあげれば良いと思います。 ディレクトリまでのパスは、System.IO.Path.GetDirectoryName メソッド で簡単に取得できます。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-08-23 09:28
>ディレクトリまでのパスは、System.IO.Path.GetDirectoryName メソッド で簡単に取得>できます。
ありがとうございます。まさにこれですね。 C#で、フルパス文字列の一番右の区切りを探して、それを削除してフォルダ名を作る なんてことはないと思ったんです。 同掲示板の教えて君スレッドが、耳が痛いです。 | ||||||||||||
|
投稿日時: 2006-08-23 09:44
申し訳ないです。もう1つ知りたいのですが
Webアプリの場合の、Webのルートパスを取得する方法は あるのでしょうか? (教えて頂いたDLLと同じ場所だと問題がある場合に備えて知っておきたいです) | ||||||||||||
|
投稿日時: 2006-08-23 10:33
引用が前後しますが、
多くは、何がわからないのか自分でもわからない、 自分なりに解決方法を全く図っていない、単に検索したりすることに慣れていない... などです。 いずれにしても、"どこまでどう調べているのか" 状況が書かれていないのが、共通の問題点だと思います。 たとえば、'検索することに慣れていない' 場合、 "何をどう調べたのか" が書いてあれば、的確にアドバイスができます。 これが書かれていないと 「そこはもう見ました」 など (これはほんの一例) ムダなやり取りが増えます。 1 度目ならともかく、あまり何度も続くと結果として、 「'自分の' 状況を精一杯書く '努力もしないくせに'、他人の力を借りて問題解決を図ろうとしている」 本人にそういうつもりがなくても、このような印象を与えてしまうこともあります。 悲しいですね。(ただし、これはわざと大げさに書いています) 駄文が長くなっても迷惑でしょうから、本題へ...
これを、最初に書いておくと良かったですね。 閲覧者が、毎回行間を読めるとは限らないからです。
これは、どのように調べたかを書いて欲しいと思います。(先に書いたとおりです) 「ASP.NET ルートパス」 で検索すればヒットするかと思いますが... # 個人的には、スレッド タイトルが外れるので、別スレッドにした方が良いのではないかと思います。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-08-23 10:57
>これを、最初に書いておくと良かったですね。
意図が伝わるように書けるように以後、気をつけます。 >「ASP.NET ルートパス」 で検索すればヒットするかと思いますが... で以下のページ簡単に見つかりました。ありがとうございました。 お恥ずかしい。(この掲示板で ルートで検索してたんですけど) http://msdn2.microsoft.com/ja-JP/library/ms178116.aspx |