首页 > 解决方案 > 为什么 IDE(Rider 和 Visual Studio)不根据官方文档增加 '*' 字符的程序集版本?我该如何解决?

问题描述

视窗 10 x64。Visual Studio 2019 v16.6.1。骑士 2020.1.3。

微软官方文档

您可以指定所有值,也可以使用星号 (*) 接受默认内部版本号、修订号或两者。例如,[assembly:AssemblyVersion("2.3.25.1")]表示 2 为主要版本,3 为次要版本,25 为内部版本号,1 为修订号。版本号,例如 [assembly:AssemblyVersion("1.2.*")]指定 1 作为主要版本,2 作为次要版本,并接受默认的构建和修订号。版本号,例如 [assembly:AssemblyVersion("1.2.15.*")]指定 1 作为主要版本,2 作为次要版本,15 作为内部版本号,并接受默认修订号。默认内部版本号每天递增。默认修订号是自当地时间午夜以来的秒数(不考虑夏令时的时区调整)除以 2

我在AssemblyInfo.cs文件中编辑了版本信息:

// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Build and Revision Numbers 
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyFileVersion("1.0.*")]

但是,如果我通过 Rider IDE 重建我的项目并检查程序集版本,我会看到意外的结果:

在此处输入图像描述

如果我尝试在 Visual Studio 2019 v16.6.1 中执行相同操作,那么我什至会收到编译错误:

在此处输入图像描述

如果我按照此建议Deterministic进行设置,则不会发生编译错误,但我会得到相同的结果:false

在此处输入图像描述

为什么会这样?我该如何解决?

标签: c#visual-studiorider

解决方案


推荐阅读