我想了解.net中是否有任何库可以编写c#脚本。让我更详细地描述您,例如我有一个应用程序。当我运行它时,将打开一个 C# 编辑器,最终用户将编写一些 C# 代码,当单击运行时,应评估该代码,并在解释我的运行时 C# 代码将运行后创建 dom。这是我的想法的简短描述...
我编写了一个名为 SimpleDevelop 的小应用程序,它使用
CSharpCodeProvider
来执行您所描述的操作。我的理解是,这个(CodeDom)已被弃用并且通常不鼓励;然而,它似乎适用于简单的场景。
基本上,您想使用类似 CSharpCodeProvider 的东西。 MVC 中的 Razor 视图引擎本质上使用它来将代码编译成可执行文件来运行。如果您希望用户能够编写代码然后对其进行解释,您可以从这里开始。但请注意,这是一项极其复杂且耗时的工作。另外,动态链接和执行外部代码是一场安全噩梦。只要安全就好。
查看 System.CodeDom 命名空间。
本文包含许多有用的信息:http://www.developerfusion.com/article/4529/using-net-to-make-your-application-scriptable/2/
我创建了一个应用程序,它将运行类似 C# 的脚本,而无需使用 Visual Studio。 它位于 https://sourceforge.net/projects/csharpquickcode/