在运行时使用类似c#的脚本

问题描述 投票:0回答:6

我想了解.net中是否有任何库可以编写c#脚本。让我更详细地描述您,例如我有一个应用程序。当我运行它时,将打开一个 C# 编辑器,最终用户将编写一些 C# 代码,当单击运行时,应评估该代码,并在解释我的运行时 C# 代码将运行后创建 dom。这是我的想法的简短描述...

c# interpreter
6个回答
5
投票

我编写了一个名为 SimpleDevelop 的小应用程序,它使用

CSharpCodeProvider
来执行您所描述的操作。我的理解是,这个(CodeDom)已被弃用并且通常不鼓励;然而,它似乎适用于简单的场景。


2
投票

基本上,您想使用类似 CSharpCodeProvider 的东西。 MVC 中的 Razor 视图引擎本质上使用它来将代码编译成可执行文件来运行。如果您希望用户能够编写代码然后对其进行解释,您可以从这里开始。但请注意,这是一项极其复杂且耗时的工作。另外,动态链接和执行外部代码是一场安全噩梦。只要安全就好。


1
投票

您在寻找测试台吗?

我使用 LinqPad 来实现。

它主要是 Linq 查询的测试平台,但我发现它对于 C# 语句和小程序等非常有用。


1
投票

查看 System.CodeDom 命名空间。

本文包含许多有用的信息:http://www.developerfusion.com/article/4529/using-net-to-make-your-application-scriptable/2/


0
投票

您可以使用 Compiler 命名空间并在运行时编译代码。请查看此处了解如何操作的说明。


0
投票

我创建了一个应用程序,它将运行类似 C# 的脚本,而无需使用 Visual Studio。 它位于 https://sourceforge.net/projects/csharpquickcode/

C# Quick Code

© www.soinside.com 2019 - 2024. All rights reserved.