Is it documented that the four numeric fields of a C# app are each of type UNSIGNED16?

I have an app which builds successfully using this command:

dotnet build /p:Version=1.2.3.65534 LicenseReporter.csproj

But if I build it using this very slightly different command:

dotnet build /p:Version=1.2.3.65535 LicenseReporter.csproj

…then there’s a build time error:

T:\Development\License Reporter\obj\Debug\net6.0-windows\LicenseReporter.AssemblyInfo.cs(20,55): error CS7034: The specified version string does not conform to the required format – major[.minor[.build[.revision]]] [T:\Development\License Reporter\LicenseReporter.csproj]

Is the type used for each of the four numeric version fields fixed as UNSIGNED16 or can it be changed?

>Solution :

Yes, the data type is fixed. See the documentation of the VERSIONINFO resource:

The version consists of two 32-bit integers, defined by four 16-bit integers.

Leave a Reply