Вот мой скрипт nppexec для C # (.NET 3.5) для компиляции открытого в данный момент файла и запуска:
"c:\WINDOWS\Microsoft.NET\Framework\v3.5\csc.exe" /out:"$(FULL_CURRENT_PATH).exe" "$(FULL_CURRENT_PATH)"
"$(FULL_CURRENT_PATH).exe"
В меню «Плагины -> NppExec»:
Select "Save all files on execute"
Select "Follow $(CURRENT_DIRECTORY)".
Ответы на ваши вопросы:
1) Используйте двойные кавычки (") для полного пути к csc, как моя конфигурация.
2) По крайней мере для .NET 3.5 достаточно полного пути к csc, нет необходимости загружать переменные окружения VS.
3) Лучше выбрать «FOLLOW $ (CURRENT_DIRECTORY)», чтобы скомпилированный EXE находился в том же каталоге.