実行中ファイル または 実行中アセンブリ のファイルパスを取得する サンプルコード を以下にまとめます。
以下の サンプルコード では、実行中アセンブリが存在するディレクトリを取得したいます。
実行中アセンブリのファイルパスを取得した後、 Path.GetDirectoryName()
を利用してディレクトリパスを取得しています。
サンプルコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | namespace Sample { using System.IO; using System.Reflection; public class Config { /// <summary> /// 設定ファイル名 /// </summary> private static string fileName = @"app.config" ; /// <summary> /// 設定ファイルパス /// </summary> private static string filePath = Path.Combine( Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), Config.fileName); /// <summary> /// Config クラスのインスタンスを初期化します。 /// </summary> public Config() { } } } |
…で、結論ですが、実行中アセンブリ情報が取得できれば良いので、以下のどちらかでファイルパスを取得することができます。
staticなフィールドで取得する場合
1 | Assembly.GetExecutingAssembly().Location |
インスタンス中で取得する場合
1 | this .GetType().Assembly.Location |
最後に… このブログに興味を持っていただけた方は、 ぜひ 「Facebookページ に いいね!」または 「Twitter の フォロー」 お願いします!!