укажите файл проекта решения с помощью msbuild
Я хочу, чтобы командная строка для построения конкретного проекта решения с помощью msbuild, как мы делаем с devenv.com.In devenv.com мы можем указать проект решения, используя следующую командную строку
devenv.com /Build Release|x86 test.sln /project "testproject"
С помощью приведенной выше командной строки я могу построить testproject в тесте.sln с помощью devenv.com.что такое командная строка для msbuild для того же решения.
спасибо
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