首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >指定的版本字符串不符合要求的格式-主要[.minor[.build[.revision]

指定的版本字符串不符合要求的格式-主要[.minor[.build[.revision]
EN

Stack Overflow用户
提问于 2016-06-21 17:56:41
回答 5查看 34.4K关注 0票数 70

我想在我们的应用程序版本后附加内部版本号。例如,1.3.0.201606071

当在AssemblyInfo中设置它时,我得到以下编译错误:

错误CS7034指定的版本字符串不符合要求的格式- major[.minor[.build.revision]]

程序集信息:

代码语言:javascript
复制
[assembly:System.Reflection.AssemblyFileVersionAttribute("1.0.0.201606071")]
[assembly:System.Reflection.AssemblyVersionAttribute("1.0.0.201606071")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("1.0.0.201606071")]

为什么会发生这种情况?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-06-21 18:00:49

当您阅读here时,这两个部分的最大值都是65534。这是操作系统施加的限制,因此甚至不是特定于.NET的。Windows将版本号放入两个整数,这两个整数加在一起就形成了四个无符号短码。

Adding some metadata to it (我猜是为了*选项)将允许的最大值设置为UInt16.MaxValue - 1 = 65534 (感谢Gary Walker的提醒):

版本的所有组件都必须是大于或等于0的整数。元数据将程序集的主要、次要、内部版本和修订组件限制为最大值UInt16.MaxValue - 1。如果组件超过此值,则会发生编译错误。

您的201606071超出了此限制。

票数 74
EN

Stack Overflow用户

发布于 2019-04-08 20:35:21

如果您的目标是netcoreapp2.0,并且根本没有AssemblyInfo.cs,那么您可以修复

错误CS7034:指定的版本字符串不符合所需的格式

通过将此代码添加到.csproj文件中:

代码语言:javascript
复制
<PropertyGroup>
  <GenerateAssemblyInfo>False</GenerateAssemblyInfo>
  <Deterministic>False</Deterministic>
</PropertyGroup>
票数 19
EN

Stack Overflow用户

发布于 2016-06-21 17:59:33

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37941195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档