用于 NuGet 打包等的 .NET 核心项目的版本存储在哪里
Where to store version for .NET core project for NuGet packaging, etc
我正在使用 TeamCity 构建我的 .NET 核心应用程序并将其发布到 NuGet。
我一直在使用 project.json 文件来存储版本,但是对于最新版本的 .NET core,project.json 文件已经过时,因为所有内容都已移至项目的 . .csproj 文件。所以我想为版本信息找一个新家。
以下是我能想到的一些可能性。
- 继续使用 project.json,但仅用于存储版本信息(感觉不是永久解决方案)
- 将版本存储在单独的文件中,如
version.txt
- 使用标签或类似的东西以某种方式将其存储在 GitHub 中。这感觉像是理想的解决方案。
我最喜欢选项 3。用于存储发布点(1.0、2.0 等),然后使用之后附加的一些日期时间。但我不确定这是否可行或是否值得推荐。
鉴于您的项目在 GitHub 中并且您使用的是最新的 .NET 核心,建议的存储版本信息的方法是什么?
将它放在 .csproj 文件中有问题吗?
至于建议 - 有多种方法可供选择,具体取决于您。
使用 .NET Core,可以在项目文件 (.csproj) 中指定程序集信息。如何在项目文件中定义它取决于您。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp1.0</TargetFramework>
<AssemblyVersion>1.4</AssemblyVersion>
</PropertyGroup>
</Project>
您可以对其进行硬编码。或者 运行 一些其他的 MSBuild 任务来生成它。
AssemblyFileVersion 和 AssemblyInformationalVersion 应该以相同的方式工作。
构建项目时,会在 obj/Debug/netcoreapp1.0/
目录中生成一个 AssemblyInfo.cs 文件。
我正在使用 TeamCity 构建我的 .NET 核心应用程序并将其发布到 NuGet。
我一直在使用 project.json 文件来存储版本,但是对于最新版本的 .NET core,project.json 文件已经过时,因为所有内容都已移至项目的 . .csproj 文件。所以我想为版本信息找一个新家。
以下是我能想到的一些可能性。
- 继续使用 project.json,但仅用于存储版本信息(感觉不是永久解决方案)
- 将版本存储在单独的文件中,如
version.txt
- 使用标签或类似的东西以某种方式将其存储在 GitHub 中。这感觉像是理想的解决方案。
我最喜欢选项 3。用于存储发布点(1.0、2.0 等),然后使用之后附加的一些日期时间。但我不确定这是否可行或是否值得推荐。
鉴于您的项目在 GitHub 中并且您使用的是最新的 .NET 核心,建议的存储版本信息的方法是什么?
将它放在 .csproj 文件中有问题吗?
至于建议 - 有多种方法可供选择,具体取决于您。
使用 .NET Core,可以在项目文件 (.csproj) 中指定程序集信息。如何在项目文件中定义它取决于您。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp1.0</TargetFramework>
<AssemblyVersion>1.4</AssemblyVersion>
</PropertyGroup>
</Project>
您可以对其进行硬编码。或者 运行 一些其他的 MSBuild 任务来生成它。
AssemblyFileVersion 和 AssemblyInformationalVersion 应该以相同的方式工作。
构建项目时,会在 obj/Debug/netcoreapp1.0/
目录中生成一个 AssemblyInfo.cs 文件。