C# で 実行中 アセンブリ の ファイルパス を 取得する 方法

0 件のコメント

実行中ファイル または 実行中アセンブリ のファイルパスを取得する サンプルコード を以下にまとめます。

以下の サンプルコード では、実行中アセンブリが存在するディレクトリを取得したいます。 実行中アセンブリのファイルパスを取得した後、 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 の フォロー」 お願いします!!