указать файл проекта с помощью msbuild

Мне нужна командная строка для создания конкретного проекта решения с использованием msbuild, как это происходит с devenv.com. В devenv.com мы можем указать проект решения, используя следующую команду

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

Используя приведенную выше командную строку, я могу построить testproject в test.sln, используя devenv.com. Что такое командная строка для msbuild для того же решения.

благодаря

     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 

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

    Давайте будем гением компьютера.