我想在我们的应用程序版本中添加版本号.例如,1.3.0.201606071.

在AssemblyInfo中设置此选项时,出现以下编译错误:

错误CS7034指定的版本字符串不符合 所需格式-主要[.次要[.内部版本[.修订]

程序集信息:

[assembly:System.Reflection.AssemblyFileVersionAttribute("1.0.0.201606071")]
[assembly:System.Reflection.AssemblyVersionAttribute("1.0.0.201606071")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("1.0.0.201606071")]

为什么会这样?

推荐答案

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

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

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

你的201606071超出了这个限制.

.net相关问答推荐

如何处理以用户为中心的CSP现时值?(uc-lock.bundle.js)

升级到.NET8后,SignalR(在坞站容器上)网关损坏

Dotnet 反射:使用 F# 中的out参数调用 MethodInfo 上的调用

.NET 4.5 项目未在 Visual Studio 2022 中编译

C#/.NET + VisualStudio,命名空间问题

在接口内部声明 IEnumerable 而在具体类中声明 IList

从 switch 块中跳出 foreach 循环

mstest.exe 在哪里?

如何在 .NET 中将字符串转换为字节数组?

C#:获得完整的桌面大小?

如何根据默认样式创建样式?

ObservableCollection<> 与 List<>

如何防止任务的同步延续?

判断 .NET 中的目录和文件写入权限

获取系统中已安装的应用程序

SqlBulkCopy 的推荐批量大小是多少?

.NET 的 XPath 和 XSLT 2.0?

检测到包降级警告(dotnet core,vs 2017)

System.ServiceModel 在 .NET Core 项目中找不到

如何使用 AutoMapper .ForMember?