2016-06-21 1 views
22

Я хочу добавить нашу версию приложения с номером сборки. Например, 1.3.0.201606071.Указанная строка версии не соответствует требуемому формату - major [.minor [.build [.revision]]]

При установке этого в AssemblyInfo, я получаю следующую ошибку компиляции:

Error CS7034 The specified version string does not conform to the required format - major[.minor[.build[.revision]]]

информация Assembly:

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

Почему это происходит?

+3

Примечание: 'AssemblyInformationalVersionAttribute' не имеет ограничений, как указано в ответах. – leppie

+0

Мы столкнулись с этой же проблемой и просто закончили форматирование нашей даты, как версия (например, '2017.12.20.1234', где 1234 - наш номер сборки) – neumann1990

ответ

27

Максимальное значение для любой из частей составляет 65534, как вы читаете here. Это ограничение, создаваемое операционной системой, поэтому даже не характерно для .NET. Windows помещает номера версий в два целых числа, которые вместе образуют четыре беззнаковых шорт.

Adding some metadata to it (для * варианта я думаю) делает максимально допустимое значение UInt16.MaxValue - 1 = 65534 (благодаря Gary Walker для замечающих):

All components of the version must be integers greater than or equal to 0. Metadata restricts the major, minor, build, and revision components for an assembly to a maximum value of UInt16.MaxValue - 1 . If a component exceeds this value, a compilation error occurs.

Вашего 201606071 превышает этот предел.

+3

Я испытываю эту проблему при попытке установить значение звезды ('1.0. *') в проекте .NET Core с новым файлом формата _csproj_, установив 'GenerateAssemblyInfo' в' false'. Есть идеи? Я хочу добиться автоматического увеличения в проектах .NET Core/Standard нового файла формата _csproj_. – Shimmy

+0

Нет, извините. Пожалуйста, задайте новый вопрос @Shimmy –

+1

@Shimmy Вы в конечном итоге задали этот вопрос? Что вы узнали? – jrh

5
+0

Фактически его 65534 не 65535. –

+0

Нет @GaryWalker https: // msdn .microsoft.com/en-us/library/cbf1574z.aspx? f = 255 & MSPPError = -2147217396 –

+4

@PatrickHofman - Да, ограничение пользователя ограничено 65535, но [номер сборки ограничен 65534] (https: // msdn .microsoft.com/en-us/library/system.reflection.assemblyversionattribute.aspx) –

 Смежные вопросы

  • Нет связанных вопросов^_^