Следующие два абзаца являются справочными - они просто объясняют , почему Мне нужно сделать такую странную вещь.Если вам все равно, вы можете пропустить их и перейти непосредственно к вопросу.
Я - пользователь Vim, и я начал изучать C #.Естественно, я хочу использовать MSBuild в качестве моей makeprg.Я хочу связать горячие клавиши для обычных операций разработки - Сборка , Очистка и Запуск .Поскольку я хочу установить свои горячие клавиши глобально, у меня есть проблема, поскольку имена файлов различны в каждом проекте.
В GCC / MinGW эту проблему можно легко решить - поскольку я уже хранюважные имена файлов в переменных, я могу просто добавить к целям makefile для очистки сборки и запуска программы, а затем привязать горячие клавиши к «: make! Clean» и «: make! Run».Поэтому я решил, что могу сделать то же самое с целями MSBuild.Он отлично работает для Очистка с тегом Delete (не уверен, что мне действительно нужно очистить в .NET, но вы знаете - по привычке), но у меня проблема с Выполнить .
Теперь это моя проблема: в отличие от make-файлов GCC / MinGW, которые являются просто умными пакетными файлами, которые запускают команды оболочки, MSBuild использует свой собственный набор команд и запускает их внутренне.Это означает, что задачи Exec запускают программу без оболочки - я могу открывать окна, но не могу использовать ее для тестирования интерактивных программ оболочки.
Есть ли способ убедить MSBuildдай мне интерактивную оболочку?