酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

Windows Mobile(.NET Compact Framework)でアプリケーションのルートディレクトリを取得する

.NET Compact Frameworkでは、現在のディレクトリパスを取得する方法が提供されていません。 今回は、アプリケーションのルートディレクトリを取得する方法をご紹介します。

Reflectionを利用してアプリケーションの実行元となったディレクトリを取得します。

アプリケーションのルートディレクトリを取得する

VB.NET

    ' 以下の名前空間を宣言しておく
    ' Imports System.IO
    ' Imports System.Reflection

    Private Function GetCurrentDirectory() As String

        ' 自分自身のアセンブリのファイルパスを取得する
        Dim fullAppName As String = _
            Assembly.GetExecutingAssembly().GetName().CodeBase

        ' ディレクトリの絶対パスを返す
        Return Path.GetDirectoryName(fullAppName)

    End Function

C#

    // 以下の名前空間を宣言しておく
    // using System.IO;
    // using System.Reflection;
    
    private string GetCurrentDirectory()
    {
            // 自分自身のアセンブリのファイルパスを取得する
            string fullAppName 
                = Assembly.GetExecutingAssembly().GetName().CodeBase;

            // ディレクトリの絶対パスを返す
            return Path.GetDirectoryName(fullAppName);
    }

関連記事

Windows Mobile(.NET Compact Framework)を使ってアプリ開発する際に逆引きとしてお使いください。