在旧的.NET框架中,您可以设置[assembly: AssemblyVersion("1.0.*")]
,编译器将自动递增版本。
对于.NET核心,我尝试了各种方法,但我无法使它自动递增。
- 我已经按照similar question将
<Deterministic>False</Deterministic>
和<AssemblyVersion>1.0.*</AssemblyVersion>
添加到.csproj中。 - 我尝试了同样的方法,但是
<Version>1.0.*</Version>
标签是described here,这实际上将产品版本设置为1.0.*(带星号)。 - 我已经在属性/包页面中设置了程序集版本。似乎也没有做任何事情。
看起来都不起作用。我是不是错过了一些简单的东西?这只是一个标准的。NET核心Web项目。
2条答案
按热度按时间k10s72fa1#
如前所述,如果您按照注解/答案中的一些链接操作,那么在.NET Core 3/5/6中获得类似.NET Framework的版本自动递增的最直接方法是将以下内容添加到.csproj:
并添加到您的计划中。cs:
如果要设置其他AssemblyInfo属性,则可能仍要读取链接。
ppcbkaq52#
我以前做这件事的一个简单方法是阅读当前版本并将其加一,这样您就可以使用命令行获得当前版本并将其加一。
话虽如此,还是可以为.net核心项目做以下事情:
在.csproj文件中,添加以下内容:
在代码中(例如,在入口点类中),添加以下内容:
当您构建代码时,它将获得类似于1.0.8419.40347的版本。
要进行更多自定义,请查看此文章:https://sachabarbs.wordpress.com/2020/02/23/net-core-standard-auto-incrementing-versioning/
此外,我添加了这个链接:
Equivalent to AssemblyInfo in dotnet core/csproj
我在Visual Studio中也使用了这种方法:
https://marketplace.visualstudio.com/items?itemName=PrecisionInfinity.AutomaticVersions