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 脚本库的主要内容,如果未能解决你的问题,请参考以下文章