在C#开发中,程序集属性(Assembly Attributes)是用于描述和标识 .NET 程序集(.dll 或 .exe 文件)的重要元数据。这些信息不仅帮助开发者管理项目版本、版权等信息,还能被操作系统、IDE 或部署工具识别使用。本文将带你从零开始,详细讲解如何在C#项目中自定义程序集元数据,即使是编程小白也能轻松上手!
程序集属性是一组写在代码中的特性(Attribute),用于向 .NET 运行时提供关于当前程序集的描述性信息。常见的属性包括:
AssemblyTitle:程序集的标题AssemblyDescription:程序集的描述AssemblyVersion:程序集的版本号AssemblyCompany:公司名称AssemblyCopyright:版权信息在较旧的 .NET Framework 项目或未启用 SDK 样式项目的 .NET Core/.NET 5+ 项目中,程序集属性通常定义在 Properties/AssemblyInfo.cs 文件中。
using System.Reflection;using System.Runtime.InteropServices;[assembly: AssemblyTitle("我的第一个C#应用程序")][assembly: AssemblyDescription("这是一个用于演示程序集属性的示例项目")][assembly: AssemblyConfiguration("")][assembly: AssemblyCompany("示例科技有限公司")][assembly: AssemblyProduct("DemoApp")][assembly: AssemblyCopyright("Copyright © 示例科技 2024")][assembly: AssemblyTrademark("")][assembly: AssemblyCulture("")]// 程序集版本:主版本.次版本.内部版本号.修订号[assembly: AssemblyVersion("1.0.0.0")][assembly: AssemblyFileVersion("1.0.0.0")] 保存后,当你右键点击生成的 .exe 或 .dll 文件 → 属性 → 详细信息,就能看到你填写的标题、公司、版权等信息了!这就是 .NET AssemblyInfo 的作用。
从 .NET Core 开始,微软推荐将程序集属性直接写入项目文件(.csproj)中,这样更简洁,无需单独维护 AssemblyInfo.cs。
打开你的 .csproj 文件,添加如下属性:
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net8.0</TargetFramework> <AssemblyTitle>我的现代C#应用</AssemblyTitle> <AssemblyDescription>使用.csproj直接设置程序集属性</AssemblyDescription> <Company>新示例科技</Company> <Copyright>© 新示例科技 2024</Copyright> <Version>2.1.0</Version> <AssemblyVersion>2.1.0.0</AssemblyVersion> <FileVersion>2.1.0.123</FileVersion> </PropertyGroup></Project> 注意:如果你同时使用了 AssemblyInfo.cs 和 .csproj 设置相同属性,可能会导致编译冲突。建议选择一种方式并保持一致。
| 属性名 | 作用 |
|---|---|
AssemblyTitle | 程序集的友好名称,显示在文件属性中 |
AssemblyVersion | .NET 强名称绑定使用的版本号,格式为 主.次.构建.修订 |
AssemblyFileVersion | Windows 文件系统显示的版本号,可通过资源管理器查看 |
AssemblyInformationalVersion | 产品版本,可包含字符串如 “2.1.0-beta” |
方法一:在 Windows 资源管理器中右键点击生成的 .exe 或 .dll 文件 → 属性 → 详细信息,即可看到你设置的 AssemblyTitle、公司、版权 等信息。
方法二:在代码中动态读取:
using System;using System.Reflection;class Program{ static void Main() { var assembly = Assembly.GetExecutingAssembly(); var title = assembly.GetCustomAttribute<AssemblyTitleAttribute>()?.Title; var version = assembly.GetName().Version; var copyright = assembly.GetCustomAttribute<AssemblyCopyrightAttribute>()?.Copyright; Console.WriteLine($"标题: {title}"); Console.WriteLine($"版本: {version}"); Console.WriteLine($"版权: {copyright}"); }} 通过本文,你已经掌握了在 C# 中自定义程序集元数据的两种主流方式:传统的 AssemblyInfo.cs 和现代的 .csproj 配置。合理设置 C#程序集属性 不仅能让项目更专业,也便于团队协作和版本管理。记住关键的 SEO 关键词:C#程序集属性、自定义程序集元数据、.NET AssemblyInfo、AssemblyTitle和AssemblyVersion设置,它们将帮助你在开发中快速定位相关知识。
祝你编码愉快,打造更规范的 .NET 应用!
本文由主机测评网于2025-12-19发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025129813.html