栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何具有自动递增的版本号(Visual Studio)?[重复]

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何具有自动递增的版本号(Visual Studio)?[重复]

如果将AssemblyInfo类添加到项目中,然后将该

AssemblyVersion
属性修改为以星号结尾,例如:

[assembly: AssemblyVersion("2.10.*")]

Visual Studio将根据这些规则为您增加最终编号(感谢galets,我完全错了!)

要在代码中引用此版本,以便使用可以将其显示给用户

reflection
。例如,

Version version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;DateTime buildDate = new DateTime(2000, 1, 1)  .AddDays(version.Build).AddSeconds(version.Revision * 2);string displayableVersion = $"{version} ({buildDate})";

您应该知道的三个重要陷阱

来自@ ashes999:

还值得注意的是,如果同时指定

AssemblyVersion
AssemblyFileVersion
,则不会在.exe中看到此内容。

来自@ BrainSlugs83:

仅将第4个数字设置为数字可能

*
会很糟糕,因为版本不会总是递增。 第三届数字是自2000年以来的天数 ,和
第4号是自午夜(除以2)的秒数[IT不是随机的]
。因此,如果您在一天的一天中的一天之内以及第二天的一天中的一天之内构建了该解决方案,则较晚的构建将具有较早的版本号。我建议始终使用
X.Y.*
而不是,
X.Y.Z.*
因为您的版本号将始终以这种方式增加。

较新版本的Visual Studio会出现此错误:

(该主题于2009年开始)

指定的版本字符串包含通配符,该通配符与确定性不兼容。从版本字符串中删除通配符,或禁用此编译的确定性。

请参阅此SO答案,其中解释了如何删除确定性(https://stackoverflow.com/a/58101474/1555612)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/391678.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号