Конечно, это возможно, на самом деле это обычная практика nmake, и другие утилиты make-like все время вызывают компилятор.
OTOH, если вы думаете о развертывании этого решения для клиента, вы можете столкнуться с некоторыми сложностями, такими как настройки, расположение файлов, как реагировать на результат, лицензия, какой компилятор c ++ развернуть и т. д.
Другой вариант, который намного проще (IMHO), это вместо C ++ вызывать компилятор C # непосредственно из вашей программы C # для компиляции фрагмента C #. Файлы могут остаться в памяти, и вам не нужно сохранять какие-либо файлы перед компиляцией. В Интернете есть множество примеров, которые показывают, как это сделать. Еще одним преимуществом этого решения является то, что у вас уже есть компилятор C #, поэтому нет необходимости также устанавливать компилятор C ++.