Trong trường hợp bất kỳ ai khác đang tìm kiếm một ví dụ làm việc ngoài hộp, đây là những gì tôi đã kết thúc bằng cách sử dụng dựa trên các câu trả lời trước đó.
using System.Reflection;
using System.Runtime.InteropServices;
label1.Text = "GUID: " + ((GuidAttribute)Attribute.GetCustomAttribute(Assembly.GetExecutingAssembly(), typeof(GuidAttribute), false)).Value.ToUpper();
Cập nhật:
Vì điều này đã thu hút được một chút chú ý nên tôi quyết định đưa vào một cách thực hiện khác mà tôi đang sử dụng. Cách này cho phép bạn sử dụng nó từ một lớp tĩnh:
/// <summary>
/// public GUID property for use in static class </summary>
/// <returns>
/// Returns the application GUID or "" if unable to get it. </returns>
static public string AssemblyGuid
{
get
{
object[] attributes = Assembly.GetEntryAssembly().GetCustomAttributes(typeof(GuidAttribute), false);
if (attributes.Length == 0) { return String.Empty; }
return ((System.Runtime.InteropServices.GuidAttribute)attributes[0]).Value.ToUpper();
}
}