Любой способ сделать Visual Studio "только проект" из командной строки?

devenv mysolution.sln /build "Release|Win32" /project myproject

При создании из командной строки кажется, что у меня есть возможность делать /build или /rebuild, но я не хочу сказать, что хочу делать "только проект" (т.е. не строить или перестраивать указанные зависимости проекта также). Кто-нибудь знает способ?

Ответ 1

В зависимости от структуры вашей системы сборки это может быть то, что вы ищете:

msbuild /p:BuildProjectReferences=false project.proj

Ответ 2

MSBuild - это то, что вы хотите

MSBuild.exe MyProject.proj /t:build

Ответ 3

Не вызывайте devenv, вместо этого используйте обобщенный инструмент сборки:

vcbuild subproject.vcproj "release|win32"

Ответ 5

Как создать проект, а не целое решение - статья MSDN

Ответ 6

Спасибо за ответы. Я немного смотрю в msbuild, что он может иметь дело с файлом .sln, а не с .vcproj; может ли это быть выполнено таким образом вместо того, чтобы знать местоположение .vcproj?

Позвольте мне сделать шаг назад. У нас есть большой файл решения, и я хочу script сделать это:

  • Сделайте /build для всего решения.
    (Иногда некоторые проекты терпят неудачу, потому что devenv не делает столько же построения, сколько необходимо для суммы изменений со времени последней сборки.)
  • Для каждого неудавшегося проекта сделайте /rebuild на нем.

Когда я дойду до шага 2, все, что я знаю, это имя файла решения и имена (а не имена файлов) неудачных проектов. Я мог бы легко grep/awk/независимо от того, что файл .sln должен сопоставлять друг с другом, но мне интересно, если msbuild предлагает способ сделать это напрямую.

(В идеале я мог бы дать msbuild .sln и имена всех проектов для перестройки в одной командной строке, так как это большой файл и требуется некоторое время для загрузки. Если это невозможно, вручную найти все имена файлов проекта, вероятно, лучше, так как загрузка файла решения каждый раз будет наиболее неэффективной.)

Ответ 7

Следующие работы хорошо подходят для построения одного проекта на С++ в VS2010:

call "%VS100COMNTOOLS%"\\vsvars32.bat
msbuild /detailedsummary /p:Configuration=Debug /p:Platform=x64 /t:build MY_ABSOLUTE_PATH.vcxproj

К сожалению, вы не можете просто указать имя проекта и файл решения для создания только этого проекта (если вы, возможно, не добавите специальную конфигурацию в файлы проекта).