1

我创建了一个 C# 项目。该项目的输出是 dll。我已经更新了 AssemblyInfo.cs 文件中的所有内容,例如公司、产品、版权。我想在 devops 管道中为该 dll 分配版本。

我为该项目创建了 Azure Devops 管道 CI/CD。

我想将 NuGet 包版本分配为 dll 版本。

是否可以将 NuGet 版本分配为将在 Release Pipeline 中交付的 dll 版本?如果是,请通过提供一些信息或步骤来帮助我。

4

1 回答 1

1

是否可以将 NuGet 版本分配为将在 Release Pipeline 中交付的 dll 版本?

正如我在其他线程中回答的那样:

NuGet 不使用其中任何一个。它使用第三个版本控制属性:AssemblyInformationalVersion - 程序集的产品版本

但是此版本控制属性已在 AssemblyInfo.cs 文件中删除,因为它们不适用于语义版本控制。

要将 NuGet 版本分配为 dll 的版本,我们只需要添加一个程序集AssemblyInformationalVersionAssemblyInfo.cs如下所示:

[assembly: AssemblyVersion("1.0.1.0")]
[assembly: AssemblyFileVersion("1.0.2.0")]
[assembly: AssemblyInformationalVersion("1.0.2.0")]

然后使用nuget pack "ProjectName.csproj"命令行或管道中的nuget pack任务创建nuget包,生成的nuget包版本1.0.2为文件版本为dll版本。

希望这可以帮助。

于 2020-02-04T10:47:31.250 回答