この記事は公開から4年以上経過しています。
.NETアプリケーション開発で多重起動チェックに使用するMutex用の名前など、プログラム自身で一意になるIDを使いたいケースでは、アセンブリのGUIDを使うと便利です。
自アプリケーション(アセンブリ)のGUIDは、プロジェクト
→プロパティ
→アセンブリ情報
から確認できます。
別のプロジェクトでは以下のとおり、一意のIDが割り当てられている事がわかります。
サンプルソースコード
サンプルといっても、たった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が表示できることが確認できました。
以上です。