Вам нужны две отдельные вещи: msbuild, чтобы управлять процессом сборки, и компилятор / компоновщик / ... для выполнения фактических фаз сборки. На самом деле они ортогональны (теоретически, не уверены, насколько далеко это идет на практике): msbuild, поставляемый с VS2017, можно использовать для построения проекта с использованием компилятора / компоновщика из VS2013, если для этого настроена среда. Итак, что вам действительно нужно, так это последнее: вам, вероятно, все равно, какая именно версия msbuild используется точно, вы хотите использовать правильные наборы инструментов C ++ / C #.
Канонический способ сделать это - запустить BAT-файлы, поставляемые с каждой версией VS, которые доступны из меню «Пуск» как « Командная строка разработчика ». Это также установит путь к msbuild, так что вам не нужно жестко его кодировать. (обратите внимание, что эти пакетные файлы также имеют аргументы, позволяющие выбирать различные версии наборов инструментов и т. д., но это выходит за рамки этого вопроса)
Пример для VS2017, без жестко закодированных путей, поэтому его следует использовать повторно на машинах и предприятии / сообществе /...:
@echo off
call "%VS150COMNTOOLS\Tools\VsDevCmd.bat"
set solutionsFile="C:\TestProject\mySln.sln"
msbuild /t:Build /p:Configuration=Release /p:Platform=x64 %solutionsFile%