укажите файл проекта решения с помощью msbuild



Я хочу, чтобы командная строка для построения конкретного проекта решения с помощью msbuild, как мы делаем с devenv.com.In devenv.com мы можем указать проект решения, используя следующую командную строку



devenv.com /Build Release|x86 test.sln /project "testproject"


С помощью приведенной выше командной строки я могу построить testproject в тесте.sln с помощью devenv.com.что такое командная строка для msbuild для того же решения.



спасибо

654   3  

3 ответов:

msbuild test.sln /t:project /p:Configuration="Release" /p:Platform="x86" /p:BuildProjectReferences=false

обратите внимание, что то, что назначено /t имя проекта в решении, оно может отличаться от имени файла проекта.
Кроме того, если он содержит точку, замените ее подчеркиванием.

важный комментарий от @Watusimoto:
если ваш проект имеет . (точка) в его названии, заменить его на _ (подчеркивание) при указании его с /t

вы также можете создать несколько проектов в один раз:

msbuild test.sln /t:project;project2 /p:Configuration="Release" /p:Platform="x86" /p:BuildProjectReferences=false

чтобы восстановить или очистить, измените /t:project до /t:project:clean или /t:project:rebuild

в MSBuild работает за счет использования проектов, а не решение. Раствор используется только для разбора его во временный файл проекта в MSBuild внутренне. Вы должны быть в состоянии просто построить проект непосредственно через MSBuild, выполнив следующую команду.

"msbuild testproject /p:Configuration=Release /p:Platform=x86"

есть одна важная проблема, я знаю, что вы можете столкнуться с использованием проекта непосредственно вместо решения: если вы используете решение для выражения зависимостей между проектами, а не добавление ссылок на проект и разрешение системе сборки автоматически разрабатывать зависимости.

Если вы применяете порядок сборки с помощью файла sln, я рекомендую работать с этими зависимостями непосредственно в файлы proj и удалять их из sln. Это позволит вам вызвать любой файл proj из MSBuild напрямую, и все проекты будут построены независимо друг от друга без какой-либо дополнительной работы. Вы действительно должны рассматривать файл sln как группу проектов, чтобы заставить работать в Visual Studio проще и не как вход для сборки.

публикации в качестве информации для будущих искателей

добавьте следующий скрипт сборки и запустите его один раз. Это создаст точные цели и другую информацию, которую msbuild будет фактически использовать.

пример: если у вас есть . в имени проекта или папки msbuild будет ожидать _ вместо ..

set MSBuildEmitSolution=1

после получения информации обновите сценарий сборки с необходимыми деталями.

Comments

    Ничего не найдено.