CS1607: версия, указанная для "версии файла", отличается от обычного формата "major.minor.build.revision" в.NET
Я пытаюсь установить мой AssemblyVersion
а также AssemblyFileVersion
атрибуты в моем проекте примерно так:
[assembly: AssemblyVersion("3.0.*")]
[assembly: AssemblyFileVersion("3.0.*")]
но я получаю это предупреждение:
CS1607: Генерация сборки - версия "3.0.*", Указанная для "версии файла", не в обычном формате "major.minor.build.revision"
На AssemblyVersionAttribute Class
Страница на MSDN выглядит следующим образом:
Вы можете указать все значения или принять номер сборки по умолчанию, номер редакции или оба, используя звездочку (*). Например, [assembly:AssemblyVersion("2.3.25.1")] указывает 2 в качестве основной версии, 3 в качестве вспомогательной версии, 25 в качестве номера сборки и 1 в качестве номера редакции. Номер версии, такой как [assembly:AssemblyVersion("1.2.*")], Задает 1 в качестве основной версии, 2 в качестве вспомогательной версии и принимает номера сборки и ревизии по умолчанию. Номер версии, такой как [assembly:AssemblyVersion("1.2.15.*")], Указывает 1 как основную версию, 2 как вспомогательную версию, 15 как номер сборки и принимает номер версии по умолчанию.
Обратите внимание на жирный раздел. Кто-нибудь знает почему [assembly: AssemblyVersion("3.0.*")]
(из моего проекта) не действует, но [assembly:AssemblyVersion("1.2.*")]
(из примера MSDN) действительно?
В частности, мне любопытно узнать, могу ли я начать с ненулевого старшего номера, поскольку приложение, которое я пишу, является версией 3 программы.
ОБНОВЛЕНИЕ >>> Извините, на этот пост, похоже, ответили в другом посте... пожалуйста, проголосуйте, чтобы закрыть его, спасибо.
1 ответ
Вы предполагаете, что проблема в этой строке:
[assembly: AssemblyVersion("3.0.*")]
когда это на самом деле с этим:
[assembly: AssemblyFileVersion("3.0.*")]
Как принятый ответ на вопрос, который вы говорите, не является дубликатом этого:
Для
AssemblyFileVersionAttribute
Вы не можете использовать специальный символ *, поэтому вам необходимо предоставить полный и действительный номер версии.
Тот *
синтаксис работает только с AssemblyVersion
приписывать. Это не работает с AssemblyFileVersion
приписывать.
Есть два обходных пути для достижения желаемых результатов:
Просто опустите
AssemblyFileVersion
атрибут в целом. Это приведет к тому, что информация о версии файла сборки будет автоматически получена изAssemblyVersion
атрибут (который является тем, который поддерживает*
синтаксис).Разбейте большие пушки и установите надстройку Build Version Increment, которая предлагает вам больше возможностей для увеличения версии, чем вы можете потрясти палкой.