2016-11-09 1 views
1

У меня есть проект, который ссылается на несколько других проектов. Все они построены с использованием x86 в качестве платформы. Это просто отлично работает на моем рабочем столе.Недопустимое значение для 'AssemblyVersion' при построении действительного csproj

Во время моего удаленного сборки VSO Я всегда получаю ошибку

MSB3174: недопустимое значение для «AssemblyVersion»

Когда я отредактировать файл .csproj, я не вижу ничего плохого с ним. Что я делаю не так?

VSO строить аргументов просто: /т Публикация /p:ApplicationVersion=$(Build.BuildNumber)

У меня есть другие проекты, использующие $ (Build.BuildNumber) без проблем

Аргументов как видно на журнал VSO сборки (пропущено для ясности):

"C:\Program Files (x86)\MSBuild\12.0\bin\msbuild.exe" "[App_PATH].csproj" 
/nologo 
/nr:false 
/t:"Clean" 
/dl:CentralLogger,[*snip dll path] 
/t:Publish 
/p:ApplicationVersion=DEPLOY.[App_Name]_2016.11.09.16 
/p:platform="x86" 
/p:configuration="DV1" 
/p:_MSDeployUserAgent="VSTS[*snip]" 

EDIT: Я попытался запустить MSBuild из локальной командной строки, и я получаю такое же поведение. VSTS или любая его информация о настройке не виновата.

Мне просто жаль, что я не знал, что я должен был посмотреть в своем приложении, чтобы исправить это.

+0

У вас есть шаги, чтобы заполнить AssemblyVersion (обычно в AssembliyInfo.cs) как часть вашей сборки - возможно, используя переменную, которая отсутствует или отличается на сервере сборки? – DaveShaw

+0

Не могли бы вы показать нам ту часть, что, по вашему мнению, нет ничего плохого? Вы переопределяете это с помощью параметров командной строки, таких как [этот вопрос] (http://stackoverflow.com/questions/40223153/how-do-i-pass-a-version-information-to-msbuild-within-visual-studio- команда-сервис)? –

+0

Перед сборкой есть шаг, чтобы обновить AssemblyFileVersion в файле AssemblyInfo.cs, однако я подтвердил, что он выполняет свою работу правильно, и b- я запустил сборку без нее, и я получаю такое же поведение. Значения по умолчанию для AssemblyVersion: 1.0.0.0 и AssemblyFileVersion: 1.0.0.0 –

ответ

2

вопрос здесь:

/p:ApplicationVersion=DEPLOY.[App_Name]_2016.11.09.16 

версия формат не соответствует требованиям. Попробуйте в этом формате: 1.2.3.4.

Для получения более подробной информации обратитесь к MSBuild Error MSB3174 и Version Constructor (String).

Замечание

Параметр версии может содержать только те компоненты, основной, незначительный, сборки, и пересмотр, в таком порядке, и все, разделенные точками. Должно быть не менее двух компонентов, и не более четырех. Предполагается, что первые два компонента являются основными и второстепенными. Значение неуказанных компонентов не определено. Формат номера версии равен . Дополнительные компоненты показаны в квадратных скобках ('[' и ']'): major.minor [.build [.revision]] Все определенные компоненты должны быть целые числа, большие или равные 0. Например, если основное число - 6, младшее число равно 2, номер сборки - 1, а номер версии - 3, тогда версия должна быть «6.2.1.3».

+0

Оказывается, что формат номера сборки на вкладке генералов был неправильным. Я использовал это значение для исправления сборки: $ (Date: yyyy.MM.dd) $ (Rev: .r) –

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

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