C#/.NET 脚本库

Posted

技术标签:

【中文标题】C#/.NET 脚本库【英文标题】:C#/.NET scripting library 【发布时间】:2010-11-07 06:08:26 【问题描述】:

我想像许多其他应用程序一样通过脚本支持来增强应用程序,例如MS Office using VBA 或 UltraEdit using javascript

确实存在哪些 C#/.NET 库(以及它们支持哪些语言)?

【问题讨论】:

不确定这如何应用,因为 Microsoft.Net 框架已经包含所有库?请您详细说明您对 C#/.Net 中的库的含义以避免混淆? 这里还有更多讨论:***.com/questions/137933 【参考方案1】:

Lua 经常被吹捧为更好的之一...尝试查看其他问题以获取更多信息:What are the most effective ways to use Lua with C#?

还有:

Lua Interface Binding code to Lua

【讨论】:

【参考方案2】:

IronPython 是一种动态的.NET 脚本语言。

IronPython 是在 .NET 和 Silverlight 下运行的 Python 编程语言的实现。它支持具有完全动态编译的交互式控制台。它与 .NET Framework 的其余部分很好地集成,使 Python 程序员可以轻松使用所有 .NET 库,同时保持与 Python 语言的兼容性。

请参阅IronPython embedding,了解如何从.NET 应用程序调用 IronPython 的示例。 IronPython Calculator and the Evaluator 详细介绍了在 C# 应用程序中使用 IronPython 的细节。

【讨论】:

【参考方案3】:

请查看CS Scripting库

Here 是一篇关于使用 C# 编写 Photoshop CS 脚本的文章

This 一个讨论使用 LUA 作为 C# 的脚本库。

【讨论】:

【参考方案4】:

不要忘记LSharp,.NET 中的 LISP。如果您正在探索功能阶段,请注意一些事项。也许 Rob Blackwell 会很高兴听到您正在考虑它。

【讨论】:

【参考方案5】:

见"What is the best scripting language to embed in a C# desktop application."

另见"It Already Is A Scripting Language" from Eric Lippert。

【讨论】:

这是第一个链接的副本吗?【参考方案6】:

您可以使用 Mono.CSharp(只是一个简单的 dll)或 Roslyn 来烘焙自己的脚本环境,现在两者都已经相当成熟了。

Mono 包含 Evaluator 类和 Roslyn 类 ScriptEngine,两者都使设置脚本环境变得轻而易举。当然,ScriptCS 之类的东西已经在此基础上构建 (Roslyn),并为您提供了更多功能。

对于基于 Mono.CSharp 构建的 C# 脚本环境,您可以查看 CShell(我制作的)。

【讨论】:

【参考方案7】:

根据您的需要,SILK 库可能是一个不错的选择。

这是一个易于使用的解释器。解释语言不是 C#。它是一种自定义语言,旨在易于使用(标点符号很少,不区分大小写等),但它确实支持功能。

内置函数通过事件处理。也就是说,当解释代码调用您的一个内部函数时,它会在您的程序中引发一个事件。

【讨论】:

以上是关于C#/.NET 脚本库的主要内容,如果未能解决你的问题,请参考以下文章

扩展 C# .NET 应用程序 - 是不是构建自定义脚本语言?

将 7-zip 库集成到 C#.NET 应用程序中[重复]

用于嵌入 C#/.NET 应用程序的脚本语言? [关闭]

一种方法如何将 C 库编译成 .Net dll?

.net的过去现在和未来

.net的过去现在和未来