程序集版本号格式为major.minor.build.revision,用于标识程序集的主版本、次版本、生成号和修订号,CLR通过该版本号进行程序集加载与绑定,其中主版本用于重大不兼容更新,次版本用于兼容的功能新增,生成号和修订号分别表示编译次数和小修。

.NET的AssemblyVersionAttribute类通过一个字符串来定义程序集的版本号,这个字符串遵循“主版本号.次版本号.生成号.修订号”的格式。理解这个格式,对于版本控制和部署至关重要。
AssemblyVersionAttribute允许你为程序集指定一个版本号。这个版本号在程序集的元数据中存储,并被CLR(公共语言运行时)用来在运行时加载和绑定程序集。
程序集版本号的格式和作用是什么?
版本号的格式是
major.minor.build.revision
如何使用AssemblyVersionAttribute?
你可以在
AssemblyInfo.cs
AssemblyVersionAttribute
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的常规信息通过以下项进行控制
// 特性集。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("MyAssembly")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("MyCompany")]
[assembly: AssemblyProduct("MyAssembly")]
[assembly: AssemblyCopyright("Copyright © MyCompany 2023")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
//将 ComVisible 设置为 false 将使此程序集中的类型
//对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型,
//请将该类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订版本
//
// 可以指定所有值,也可以使用“生成号”和“修订号”的默认值,
// 方法是按如下所示使用“*”:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]在这个例子中,程序集的版本号被设置为
1.0.0.0
AssemblyFileVersion
自动生成Build和Revision号
你可以使用
*
Build
Revision
[assembly: AssemblyVersion("1.0.*")]在这种情况下,
Build
Revision
AssemblyVersion和AssemblyFileVersion的区别是什么?
这是一个常见的混淆点。
AssemblyVersion
AssemblyFileVersion
AssemblyFileVersion
AssemblyVersion
版本冲突和程序集绑定
当多个版本的程序集存在时,可能会发生版本冲突。CLR使用程序集绑定来解决这些冲突。程序集绑定是CLR用来确定加载哪个版本的程序集的过程。可以通过配置文件(
app.config
web.config
强命名程序集
为了避免程序集名称冲突,你可以使用强命名程序集。强命名程序集使用私钥进行签名,并包含公钥令牌。这使得CLR可以唯一地标识程序集,并防止恶意程序集伪装成其他程序集。要创建强命名程序集,你需要使用
sn.exe
版本控制策略
选择合适的版本控制策略非常重要。一种常见的策略是使用语义化版本控制(SemVer)。SemVer是一种版本控制规范,它使用
major.minor.patch
patch
minor
major
版本控制工具
使用版本控制工具(如Git)可以帮助你管理程序集的版本。版本控制工具可以跟踪代码的更改,并允许你回滚到之前的版本。这对于修复Bug和管理代码库非常有用。
总结
AssemblyVersionAttribute
AssemblyVersionAttribute
AssemblyVersion
AssemblyFileVersion
以上就是.NET的AssemblyVersionAttribute类如何定义版本号?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号