Компиляция C# с помощью csc.exe из Notepad++ с использованием скрипта NPPExec

У меня возникли проблемы с написанием сценария NPPExec (для Notepad++) для компиляции исходного кода C# с использованием Microsoft csc.exe. У меня не было проблем с запуском и запуском MinGW для моего материала на С++, но та же структура скрипта, похоже, не работает для С#. У кого-нибудь есть рабочий скрипт C# NPPExec?

Три коротких заметки:

  1. Хотя мой mingw установлен по пути без пробелов (\MinGW\bin), похоже, что мой компилятор C# скрыт в \Program Files\, пути с несколькими пробелами. Имеет ли это значение?

  2. Я смог скомпилировать с помощью командной строки, установленной Microsoft SDK (которая, как я думаю, устанавливает некоторые переменные среды), поэтому я знаю, что компилятор работает.

  3. В поле параметров NPPExec я выбрал FOLLOW $(CURRENT_DIRECTORY). Имеет ли это значение?

Спасибо.


person MikeRand    schedule 10.03.2010    source источник


Ответы (1)


Вот мой скрипт 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 находился в том же каталоге.

person Gnailiah Gnaw    schedule 11.03.2010
comment
Извините, недостаточно репутации, чтобы проголосовать. Вернусь, когда сделаю. - person MikeRand; 19.05.2010
comment
Ты Находка. Вы не поверите, сколько источников я просмотрел в Интернете, чтобы получить ответ на этот вопрос, прежде чем, наконец, наткнулся на ваш. Спасибо. - person daOnlyBG; 26.08.2015
comment
Обратите внимание, что если вы хотите использовать более современный компилятор, запустите nuget install Microsoft.Net.Compilers -OutputDirectory "C:\wherever", а затем укажите ссылку на csc.exe в указанном вами OutputDirectory вместо указанного выше. Посетите здесь для получения дополнительной информации: github.com/dotnet/roslyn - person Shenk; 04.01.2020