ในกรณีที่ใครก็ตามที่กำลังมองหาตัวอย่างการทำงานนอกกรอบนี่คือสิ่งที่ฉันใช้ตามคำตอบก่อนหน้านี้
using System.Reflection;
using System.Runtime.InteropServices;
label1.Text = "GUID: " + ((GuidAttribute)Attribute.GetCustomAttribute(Assembly.GetExecutingAssembly(), typeof(GuidAttribute), false)).Value.ToUpper();
อัปเดต:
เนื่องจากสิ่งนี้ได้รับความสนใจเล็กน้อยฉันจึงตัดสินใจรวมวิธีอื่นในการทำเช่นนี้ที่ฉันเคยใช้ วิธีนี้ช่วยให้คุณใช้งานได้จากคลาสคงที่:
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();
}
}