我在编写 NPPExec 脚本(适用于 Notepad++)来使用 Microsoft 的 csc.exe 编译 C# 源代码时遇到问题。我可以毫无问题地为我的 C++ 内容启动并运行 MinGW,但相同的脚本结构似乎不适用于 C#。有人有可用的 C# NPPExec 脚本吗?

三个快速注意事项:

  1. 虽然我的 mingw 安装到没有空格的路径 (\MinGW\bin),但我的 C# 编译器似乎埋在 \Program Files\ 这个有多个空格的路径中。这有关系吗?

  2. 我能够使用 Microsoft SDK 安装的命令提示符进行编译(我认为它设置了一些环境变量),所以我知道编译器可以工作。

  3. 在 NPPExec 选项框中,我选择了 FOLLOW $(CURRENT_DIRECTORY)。这有关系吗?

谢谢。

有帮助吗?

解决方案

这是我的 C# (.NET 3.5) nppexec 脚本,用于编译当前打开的文件并运行:

"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就在同一目录下。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top