gpt4 book ai didi

asp.net - 从 ASP.NET 网站编译代码

转载 作者:行者123 更新时间:2023-12-02 00:19:06 24 4
gpt4 key购买 nike

我需要在 ASP.NET 页面上有一个文本框,用户可以在其中粘贴代码并选择一种预设语言(C#、VB.NET、Python、Ruby 等),并且我需要验证代码是否可以编译成功地。如果没有,那么我需要用行号显示错误和警告。

我该如何去做呢?

最佳答案

您需要托管您想要支持和使用其 API 的各种编译器。如果编译器未公开 API,您需要使用 System.Diagnostics.Process 来启动它并获取输出进行解析。

但这绝非一项微不足道的任务。
如果您确信需要这个,请问自己几个问题。

  • 您计划支持哪些语言、平台和语言? Python 和 Ruby,您是指它们的 .NET 版本还是您想使用它们的标准编译器?哪些版本?
  • 这些编译器有公共(public) API 吗?您需要将它们作为可执行文件运行吗?
  • 如果该网站将由许多用户同时使用,您计划如何分配负载?编译是一个密集的过程,很多人这样做会让你的服务器重载。另请注意,编译总是需要时间,因此您需要考虑如何将其呈现给用户。您希望它立即启动还是希望将用户放入队列中?
  • 用户编码范围是什么?用户输入是否仅限于一种方法内容,还是用户必须写入整个文件?系统默认添加了什么代码吗?您如何解决引用文献,例如对于 C# 代码?是否默认引用了一些库?

这只是冰山一角。

回答你的评论,是的,有一个用于 C# 和 VB .NET 的编译器 API,名为 CodeDOM .
网上有很多关于它的信息。您可能想查看this question也是如此。

关于asp.net - 从 ASP.NET 网站编译代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4982818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com