Я пытаюсь использовать MSBuild для создания решения с указанной целевой платформой (мне нужны оба бинарных файла, x86 и x64). Вот как я это попробовал:
C:\WINDOWS\Microsoft.NET\Framework\v3.5>MsBuild SolutionPath\Solution.sln /t:Rebuild /p:Configuration=Release /p:Platform="x86"
Однако сборка всегда дает сбой, если платформа отличается от «Любого процессора». Что я делаю не так?
Это время вывода MSBuild печатает:
C: \ WINDOWS \ Microsoft.NET \ Framework \ v3.5> MsBuild SolutionPath \ Solution.sln / t: перестроить / p: конфигурация = выпуск / p: платформа = "x86" Microsoft (R) Build Engine версии 3.5.30729.1 [ Microsoft .NET Framework, версия 2.0.50727.3082] Copyright (C) Microsoft Corporation 2007. Все права защищены.
Сборка началась 1.7.2010 8:28:10. Проект «SolutionPath \ Solution.sln» на узле 0 (перестроить цели t (s)). SolutionPath \ Solution.sln: ошибка MSB4126: указана недопустимая конфигурация решения "Release | x86". Укажите допустимое значение конфигурации решения, используя свойства Configuration и Platform (например, MSBuild.exe Solution.sln / p: Configuration = Debug / p: Platform = "Any CPU"), или оставьте эти свойства пустыми, чтобы использовать конфигурацию решения по умолчанию. Готово Создание проекта "SolutionPath \ Solution.sln" (перестроить объект (ы)) - СБОЙ.
Сборка не удалась.
"SolutionPath \ Solution.sln" (цель перестроения) (1) -> (цель ValidateSolutionConfiguration) -> SolutionPath \ Solution.sln: ошибка MSB4126: указанная конфигурация решения "Release | x86" недопустима. Укажите допустимую конфигурацию решения, используя свойства Configuration и Platform (например, MSBuild.ex e Solution.sln / p: Configuration = Debug / p: Platform = "Any CPU"), или оставьте эти свойства пустыми, чтобы использовать конфигурацию решения по умолчанию.
0 Warning(s) 1 Error(s)
Прошедшее время 00: 00: 00.03
Если я пытаюсь собрать его для x86 / x64 с помощью devenv, он работает отлично, однако я пытаюсь настроить сервер сборки без установки всех необходимых версий Visual Studio. Кстати, если есть лучший бесплатный инструмент (который поддерживает .NET Framework 4), я бы хотел услышать об этом.
Win32
то время как современные .NET используетx86