engine.BinPath = @"C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319";
Это проблема управления версиями, ваш проект использует старую версию движка MSBuild. Видимый из трассировки стека, он использует класс Microsoft.Build.BuildEngine.Project . Который имеет этот атрибут:
[ObsoleteAttribute("This class has been deprecated. Please use Microsoft.Build.Evaluation.Project from the Microsoft.Build assembly instead.")]
MSBuild был значительно переработан в .NET 4.0 как часть капитального ремонта системы сборки C ++. Ранее он использовал устаревший механизм сборки с именем VCBuild и устаревший формат файла проекта, он имел расширение имени файла .vcproj. Используемая вами версия MSBuild ничего не знает об этих изменениях и не может правильно проанализировать .vcxproj
Необходимо обновить ссылку на справочную сборку Microsoft.Build.Engine.dll. Версия времени выполнения, отображаемая в окне «Свойства», должна отображать «v4.0.30319». Мне не очень повезло с использованием класса Microsoft.Build.Evaluation.Project, он жалуется на невозможность найти файлы .props и ищет их в неправильном каталоге. Однако он правильно анализирует файл .vcxproj:)