如何在运行时在浏览器中运行代码

rogue39nin

我一直在使用这里的文档https://support.microsoft.com/en-gb/help/304655/how-to-programmatically-compile-code-using-c-compiler我正在尝试更多地了解编译器我想在我自己的网站上托管一个简单的文本编辑器,我可以用它来运行脚本代码,说一些简单的事情

程序需要打印出 Console.WriteLine("Hello World");

如果打印出除 Hello World 以外的任何内容,则程序将出错。

我一直在查看有关在运行时运行 .net 代码的 Microsoft 代码,但这两者都迫使它创建一个 exe 我希望结果就像文本框中的 .net fiddle。

我想我必须做些什么来运行 exe 并使用该进程返回结果,记住这是在 mvc 应用程序中。

或者他们有什么很酷的 nugets 可以节省我在这里的时间。

private void Compiler(string code)
{

  CSharpCodeProvider codeProvider = new CSharpCodeProvider();
  ICodeCompiler icc = codeProvider.CreateCompiler();
  string Output = "Out.exe";
  System.CodeDom.Compiler.CompilerParameters parameters = new 
  CompilerParameters();
  //Make sure we generate an EXE, not a DLL
        parameters.GenerateExecutable = true;
        parameters.OutputAssembly = Output;
        CompilerResults results = icc.CompileAssemblyFromSource(parameters, code);

        if (results.Errors.Count > 0)
        {

            foreach (CompilerError CompErr in results.Errors)
            {
                CompilerError error = new CompilerError();
                error.Line = CompErr.Line;
                error.ErrorNumber = CompErr.ErrorNumber;
                error.ErrorText = CompErr.ErrorText;                   
            }
        }
        else
        {
            //Successful Compile

            CodeResult result = new CodeResult();
            result.Message = "Success";


        }
}

那么如何捕获上述内容并返回,以及如何添加对其他语言(如 python 或 vb.net)的支持

这是 blazor 可能擅长为我做的事情吗?

我想提供像 .net fiddle https://dotnetfiddle.net这样的体验

特尔

Suchiman / Robin Sue 在这个漂亮的 blazor 项目现场演示)中集成了摩纳哥编辑器以及浏览器内的 C# 编译器

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在运行时在Visual Studio中编辑C#代码,而不是编辑并继续

来自分类Dev

在小部件启动的进程正在运行时,如何在Tkinter小部件中运行计时器?

来自分类Dev

如何在运行时将动态资源分配给WPF代码中的按钮

来自分类Dev

如何在运行时使用C查找微控制器中的堆栈溢出

来自分类Dev

如何在运行时在Typescript中添加属性

来自分类Dev

如何在运行时突出显示量角器中的元素

来自分类Dev

如何在运行时在NodeJS中触发分析?

来自分类Dev

如何在运行时读取dockerfile中的值

来自分类Dev

如何在运行时选择迭代器方向

来自分类Dev

QProcess:进程(Web浏览器)仍在运行时被销毁

来自分类Dev

如何在运行时在Swing中添加JLabel?

来自分类Dev

通过浏览器运行和在终端中通过curl运行时,NodeJS代码的执行方式不同

来自分类Dev

在运行时使用继承的代码选择器

来自分类Dev

如何在运行时在Visual Studio中编辑C#代码,而不是编辑并继续

来自分类Dev

我们可以在运行时知道代码是在浏览器中还是在服务器上运行吗?

来自分类Dev

在小部件启动的进程正在运行时,如何在Tkinter小部件中运行计时器?

来自分类Dev

如何在运行时针对运行URL的C#WebDriver测试指定其他URL和/或浏览器?

来自分类Dev

脚本运行时如何在浏览器中输出内容?

来自分类Dev

如何在运行时运行php扩展

来自分类Dev

在运行时播放多个视频并更改源,而无需等待浏览器/视频缓冲区

来自分类Dev

如何直接从Geany在浏览器中运行PHP代码?

来自分类Dev

在运行时以Windows形式C#移动Web浏览器

来自分类Dev

如何在运行时添加代码

来自分类Dev

如何在运行时在C中检测OS

来自分类Dev

如何在C#中在运行时添加/执行并最终将新代码删除到程序中

来自分类Dev

浏览器是否显示 HTML 更改或允许在 JavaScript 仍在运行时提交表单?

来自分类Dev

帆布屋。当我将代码复制到编辑器并在浏览器中运行时,为什么代码不起作用?

来自分类Dev

离子本机插件 - 平台检查 - 通过“离子服务”运行时防止浏览器中的代码中断

来自分类Dev

如何在运行时(安装时)从 wix 源代码中获取 MSI 文件所在的路径

Related 相关文章

  1. 1

    如何在运行时在Visual Studio中编辑C#代码,而不是编辑并继续

  2. 2

    在小部件启动的进程正在运行时,如何在Tkinter小部件中运行计时器?

  3. 3

    如何在运行时将动态资源分配给WPF代码中的按钮

  4. 4

    如何在运行时使用C查找微控制器中的堆栈溢出

  5. 5

    如何在运行时在Typescript中添加属性

  6. 6

    如何在运行时突出显示量角器中的元素

  7. 7

    如何在运行时在NodeJS中触发分析?

  8. 8

    如何在运行时读取dockerfile中的值

  9. 9

    如何在运行时选择迭代器方向

  10. 10

    QProcess:进程(Web浏览器)仍在运行时被销毁

  11. 11

    如何在运行时在Swing中添加JLabel?

  12. 12

    通过浏览器运行和在终端中通过curl运行时,NodeJS代码的执行方式不同

  13. 13

    在运行时使用继承的代码选择器

  14. 14

    如何在运行时在Visual Studio中编辑C#代码,而不是编辑并继续

  15. 15

    我们可以在运行时知道代码是在浏览器中还是在服务器上运行吗?

  16. 16

    在小部件启动的进程正在运行时,如何在Tkinter小部件中运行计时器?

  17. 17

    如何在运行时针对运行URL的C#WebDriver测试指定其他URL和/或浏览器?

  18. 18

    脚本运行时如何在浏览器中输出内容?

  19. 19

    如何在运行时运行php扩展

  20. 20

    在运行时播放多个视频并更改源,而无需等待浏览器/视频缓冲区

  21. 21

    如何直接从Geany在浏览器中运行PHP代码?

  22. 22

    在运行时以Windows形式C#移动Web浏览器

  23. 23

    如何在运行时添加代码

  24. 24

    如何在运行时在C中检测OS

  25. 25

    如何在C#中在运行时添加/执行并最终将新代码删除到程序中

  26. 26

    浏览器是否显示 HTML 更改或允许在 JavaScript 仍在运行时提交表单?

  27. 27

    帆布屋。当我将代码复制到编辑器并在浏览器中运行时,为什么代码不起作用?

  28. 28

    离子本机插件 - 平台检查 - 通过“离子服务”运行时防止浏览器中的代码中断

  29. 29

    如何在运行时(安装时)从 wix 源代码中获取 MSI 文件所在的路径

热门标签

归档