2

assemblyinfo(assemblyinfo.vb)

AssemblyInfo: 让 .NET 程序的版本管理更简单 随着互联网技术的发展,软件开发的速度和数量都在不断地增长。面对如此多的软件,如何管理版本是每个开发者都必须面对的问题。在 .NET 开发中,Version 及 AssemblyFile

AssemblyInfo: 让 .NET 程序的版本管理更简单

随着互联网技术的发展,软件开发的速度和数量都在不断地增长。面对如此多的软件,如何管理版本是每个开发者都必须面对的问题。在 .NET 开发中,Version 及 AssemblyFileVersion 是非常重要的标识。在实际开发过程中,我们需要多次修改 Version 及 AssemblyFileVersion,而每次修改都需要手动修改 AssemblyInfo.cs 文件,这样的操作难免会让程序员经常出现“手滑”的情况。本文将介绍一些常用的方式,来让处理 AssemblyInfo.cs 文件更简单和方便。

1. 使用 Visual Studio 特性

Visual Studio 在项目属性窗口提供了对于 AssemblyInfo.cs 文件的编辑功能,并提供一些便利的特性来自动修改这些信息。 如下图所示:

[图片]

在这里,我们可以依次修改 程序集名称、版本号等。 如果“使用 '*' 版本通配符”是勾选的,那么 AssemblyVersion 和 AssemblyFileVersion 将被设置为“*”(星号),这意味着它们将始终自动递增版本号,当我们编译项目时就可以自动更新程序集版本。但这里存在一个问题:如果使用星号变量来修订 AssemblyVersion 的版本号,每次编译时都会导致程序集版本的变化,即便我们的代码完全相同。

2. 通过脚本自动化修改 AssemblyInfo.cs 文件

如果你试图在命令行或脚本中构建和发布批量应用程序,那么手动修改 AssemblyInfo.cs 文件肯定不是一个好选择。 比较好的方案是通过脚本自动修改文件中的信息。在 .NET Core 项目中,我们可以使用 PowerShell 脚本实现。

首先,在项目根目录下创建一个名为“Set-AssemblyInfo.ps1”的 PowerShell 脚本文件。以下为示例文件中给版本号添加了次要编号。

```powershell

# usage: powershell .\\Set-AssemblyInfo.ps1 1.1.0

$version = $args[0].Split('.')

$content = [IO.File]::ReadAllText('AssemblyInfo.cs')

$content -match '(?<=AssemblyFileVersion\\(\"[0-9.]*).*(?=\"\\))'

$build = $Matches.Value

$version[2] = $build + 1

$versionString = $version -join \".\"

$content -replace '(?<=AssemblyFileVersion\\(\")[0-9.]*', $versionString | Set-Content 'AssemblyInfo.cs'

```

更多的 PowerShell 脚本示例可以在 .NET Core 官网获得。

3. 使用 NuGet 包维护程序集信息

除了自己写脚本来修改,还有一种更令人喜欢的方案:就是使用第三方 NuGet 包来实现。

以下是四个我们强烈推荐的 NuGet 包。

- [Nerdbank.GitVersioning](https://www.nuget.org/packages/Nerdbank.GitVersioning/)

这个 NuGet 包的最大特点在于多样性,既可以使用单一的 AssemblyInfo 文件,也可以在多个程序集之间共享程序集信息。该 NuGet 包可以自动根据 Git 版本生成 AssemblyVersion、AssemblyFileVersion,并基于 Git hash 生成了一些额外的标识。由于该 NuGet 包是以直接将 Git 中的信息注入到程序集中,所以这个特性非常稳定,十分适合使用 Git 进行版本控制的项目。

- [GitInfo](https://www.nuget.org/packages/GitInfo/)

GitInfo 则是在 StringWriter 中编写了格式化为 C# 代码的信息,然后将其放在 AssemblyInfo.cs 文件的底部。这有利于那些不在使用 Git 作为源代码管理工具的项目,但是如果您使用的是 SVN 或 Mercurial,那么该 NuGet 包可能就没有什么用处了。

- [GitVersionTask](https://www.nuget.org/packages/GitVersionTask/)

该 NuGet 包适合那些正在使用 MSBuild 的项目,可以通过添加 MSBuild 元素来自动更新程序集的版本。在我们的 MSBuild 文件中引入该包后,就可以使用类似以下的元素:

```xml

$([MSBuild]::GetValue('$(GitVersion_NuGetPackageVersion)'))

$([MSBuild]::GetValue('$(GitVersion_ProjectUrl)'))

$([MSBuild]::GetValue('$(GitVersion_PackageVersion)'))

```

- [AssemblyInfoPatcher](https://www.nuget.org/packages/AssemblyInfoPatcher/)

该 NuGet 包与 GitVersionTask 包类似,提供了一些元素,可以自动更新程序集版本。 该包适合那些不想引用 GitVersionTask 包或不想在此基础上修改组织程序集版本的项目。

需要注意的是,以上几种 NuGet 包都有其适用的范围,比如 Nerdbank.GitVersioning 算是最全面的选择,但其必须适用于基于标准文件结构的 .NET Core 项目。

总结

管理版本和程序集信息是比较重要和繁琐的工作。本文介绍了一些常用的方式,让使用者可以在不同的方向上选择自己最喜欢的方式,并且在实际开发过程中不断优化自己的做法,提高效率。

AssemblyInfo.vb:在VB项目中创建自定义程序集信息

在VB项目中,程序集是随着应用程序一起部署的一个.dll文件,它包括应用程序所需的运行时文件。程序集信息是指程序集的元数据,其中包含程序集的名称、版本号、作者、版权等信息。在本文中,我们将介绍如何在VB项目中创建自定义程序集信息。

一、理解程序集信息

在VB项目中,程序集信息存储在AssemblyInfo.vb文件中。这个文件存储了程序集的元数据,包括以下信息:

1.程序集的版本号

这是程序集的唯一标识符,用来区分不同版本的程序集。每当程序集发生变化时,都应该更新版本号。程序集的版本号是由四个数字组成,分别为主版本号、次版本号、修订号和构建号。例如,版本号为1.2.3.4,表示主版本号为1,次版本号为2,修订号为3,构建号为4。

2.程序集的名称

程序集的名称是一个字符串,用来唯一地标识程序集。通常情况下,程序集的名称与项目的名称相同。

3.程序集的描述

程序集的描述是一个字符串,用来描述程序集的功能和作用。

4.程序集的版权信息

程序集的版权信息是一个字符串,用来说明程序集的版权归属。通常情况下,版权信息包括作者、版权信息和联系方式。

5.程序集的属性

程序集的属性是一组键值对,用来存储程序集的元数据。通常情况下,属性包括COM可见性、GUID和CLS兼容性等。

二、添加程序集信息

要添加程序集信息,首先需要在VB项目中找到AssemblyInfo.vb文件。打开此文件后,可以看到以下代码:

这里的各个属性都是用引号包围的空字符串,表示程序集的相关信息尚未设置。要添加程序集信息,可以按照以下步骤进行操作:

1.设置程序集的名称和描述。例如,将程序集的名称设置为“HelloWorld”,描述为“这是一个演示程序集”:

2.设置程序集的版本号。例如,将程序集的版本号设置为1.0.0.0:

3.设置程序集的版权信息。例如,将程序集的作者设置为“Linda”,版权信息为“Copyright © Linda 2019”。

4.设置程序集的属性。例如,将程序集设置为COM可见,设置程序集的GUID为“{8E3BD3A3-80B9-49A1-9D63-21F79008A47E}”,设置程序集为CLS兼容:

三、总结

在VB项目中,程序集信息可以帮助我们管理应用程序的元数据,同时也方便了其他开发人员使用我们的程序集。本文介绍了程序集信息的相关内容,希望可以对您有所帮助。如果您还有其他问题,欢迎在评论区留言。

本文来自网络,不代表本站立场。转载请注明出处: https://tj.jiuquan.cc/a-2468179/
1
上一篇随机数字生成器(1-12随机数字生成器)
下一篇 纽约少儿编程培训机构(美国编程)

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: alzn66@foxmail.com

关注微信

微信扫一扫关注我们

返回顶部