Я создаю решение Visual Studio 2010 через Python с вызовом подпроцесса. При вызове непосредственно из командной строки для запуска devenv.com требуется ~ 15 секунд. Но при вызове из Python это подскакивает до ~ 1,5 минут.
Естественно, я надеюсь убрать это мертвое время из нашей сборки. Поэтому я решил протестировать MSBuild.exe (из .NET 4). Похоже, MSBuild.exe запускается мгновенно. Но ... похоже, что каждый раз он выполняет полную сборку, а не инкрементную.
Я использую команду
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" "C:\path\to\my\project.sln" /target:build /maxcpucount:8 /property:Configuration=Release
Похоже, это должно поддерживать инкрементную сборку. Но я видел в сети сообщения о том, что msbuild может не поддерживать такую инкрементную сборку.
Это возможно? Если да, то что я делаю не так?
Обновлять:
Я прочитал об этом немного больше. На основе
http://msdn.microsoft.com/en-us/library/ms171483.aspx
и
http://www.digitallycreated.net/Blog/67/incremental-builds-in-msbuild-and-how-to-avoid-breaking-them
Похоже, мне нужны свойства ввода и вывода, установленные в моих файлах .vcxproj. Проверяю мои файлы, они действительно отсутствуют.
Когда они будут созданы? Большинство моих файлов .vcxproj были преобразованы из Visual Studio 2008. Но я также создал новый проект, в котором также отсутствуют свойства ввода и вывода.
VS2010 не создает проекты с этими свойствами?
Обновление: с тех пор мы обновились до VS 2013. Теперь msbuild поддерживает инкрементные сборки. Так и не разобрался в проблеме VS 2010.