在哪里存储NuGet打包等.NET核心项目的版本

时间:2017-02-06 15:41:42

标签: nuget teamcity version .net-core .net-standard

我使用TeamCity构建并将我的.NET核心应用程序发布到NuGet。

我一直在使用project.json文件来存储版本,但是使用最新版本的.NET核心,project.json文件已经过时,因为所有内容都已移至项目中。 csproj文件。所以我试图为版本信息找到一个新家。

以下是我能想到的一些可能性。

  1. 继续使用project.json,但仅用于存储版本信息(并不像永久解决方案)
  2. 将版本存储在单独的文件中,例如version.txt
  3. 以某种方式使用标签或类似的东西将它存储在GitHub中。这感觉就像是理想的解决方案。
  4. 我最喜欢选项3.例如用于存储释放点(1.0,2.0等),然后使用之后附加的日期时间。但我不确定这是否可能,甚至是推荐的。

    如果您的项目位于GitHub并且您使用的是最新的.NET内核,那么存储版本信息的推荐方法是什么?

1 个答案:

答案 0 :(得分:0)

将它放在.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文件。