У меня есть проект, который ссылается на несколько других проектов. Все они построены с использованием 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 или любая его информация о настройке не виновата.
Мне просто жаль, что я не знал, что я должен был посмотреть в своем приложении, чтобы исправить это.
У вас есть шаги, чтобы заполнить AssemblyVersion (обычно в AssembliyInfo.cs) как часть вашей сборки - возможно, используя переменную, которая отсутствует или отличается на сервере сборки? – DaveShaw
Не могли бы вы показать нам ту часть, что, по вашему мнению, нет ничего плохого? Вы переопределяете это с помощью параметров командной строки, таких как [этот вопрос] (http://stackoverflow.com/questions/40223153/how-do-i-pass-a-version-information-to-msbuild-within-visual-studio- команда-сервис)? –
Перед сборкой есть шаг, чтобы обновить AssemblyFileVersion в файле AssemblyInfo.cs, однако я подтвердил, что он выполняет свою работу правильно, и b- я запустил сборку без нее, и я получаю такое же поведение. Значения по умолчанию для AssemblyVersion: 1.0.0.0 и AssemblyFileVersion: 1.0.0.0 –