在C#的程序中都会有AssemblyInfo.cs文件,该文件中包含着程序的一些信息
using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // 有关程序集的常规信息通过以下 // 特性集控制。更改这些特性值可修改 // 与程序集关联的信息。 [assembly: AssemblyTitle("ConsoleApplication1")] [assembly: AssemblyDescription("测试")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Microsoft")] [assembly: AssemblyProduct("ConsoleApplication1")] [assembly: AssemblyCopyright("Copyright © Microsoft 2019")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // 将 ComVisible 设置为 false 使此程序集中的类型 // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, // 则将该类型上的 ComVisible 特性设置为 true。 [assembly: ComVisible(false)] // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID [assembly: Guid("8b945092-ddb6-4163-943b-1b36e99475d3")] // 程序集的版本信息由下面四个值组成: // // 主版本 // 次版本 // 内部版本号 // 修订号 // // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, // 方法是按如下所示使用“*”: // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.2.5.0")] [assembly: AssemblyFileVersion("1.0.5.0")]
如何获取程序集中的一些信息呢
public class AssemblyInfos { /// <summary> /// 获取程序集标题 /// </summary> /// <returns></returns> public string GetAssemblyTitle() { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false); if (attributes.Length > 0) { AssemblyTitleAttribute title = (AssemblyTitleAttribute)attributes[0]; if (!string.IsNullOrEmpty(title.Title)) return title.Title; } return Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase); } /// <summary> /// 获取程序集版本 /// </summary> /// <returns></returns> public string GetAssemblyVersion() { return Assembly.GetExecutingAssembly().GetName().Version.ToString(); } /// <summary> /// 获取程序集描述说明 /// </summary> /// <returns></returns> public string GetAssemblyDescription() { object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false); if (attributes.Length == 0) { return ""; } return ((AssemblyDescriptionAttribute)attributes[0]).Description; } }
还有许多的自定义消息,都和获取程序集描述说明类似
获取AssemblyFileVersion可以直接通过Application.ProductVersion获取版本
还可以通过Application.ProductName获取AssemblyProduct信息
参考:https://blog.csdn.net/zhaoyuqings/article/details/77480727