.NETアプリケーションのID(GUID)を取得/利用する方法

この記事は公開から4年以上経過しています。

.NETアプリケーション開発で多重起動チェックに使用するMutex用の名前など、プログラム自身で一意になるIDを使いたいケースでは、アセンブリのGUIDを使うと便利です。

自アプリケーション(アセンブリ)のGUIDは、プロジェクトプロパティアセンブリ情報から確認できます。
file

別のプロジェクトでは以下のとおり、一意のIDが割り当てられている事がわかります。
file

サンプルソースコード

サンプルといっても、たった1行ですが…。

C#

// MainForm.cs
using System.Reflection;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace GetGUIDOfMyApp
{
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();

            // アプリケーション(エントリポイントのある)アセンブリのGUIDを取得してラベルにセット
            var guidAttrib = Assembly.GetEntryAssembly().GetCustomAttribute<GuidAttribute>();
            lblGuid.Text = guidAttrib.Value;
        }
    }
}

VB.NET

' MainForm.vb
Imports System.Reflection
Imports System.Runtime.InteropServices

Public Class MainForm

    Public Sub New()

        InitializeComponent()

        ' アプリケーション(エントリポイントのある)アセンブリのGUIDを取得してラベルにセット
        Dim guidAttrib = Assembly.GetEntryAssembly().GetCustomAttribute(Of GuidAttribute)()
        lblGuid.Text = guidAttrib.Value

    End Sub

End Class

実行結果

以下のとおり、アプリケーションのGUIDが表示できることが確認できました。

file

以上です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする