Tag: scripting

如何在多个脚本的批处理中使用Roslyn C#脚本?

我正在编写multithreading解决方案,用于将数据从不同的源传输到中央数据库。 解决方案通常包含两部分: 单线程导入引擎 在线程中调用Import引擎的multithreading客户端。 为了最大限度地减少自定义开发,我使用的是Roslyn脚本。 导入引擎项目中的Nuget包管理器启用了此function。 每个导入都被定义为输入表的转换 – 具有输入字段的集合 – 再次转换为目标表 – 再次使用目标字段的集合。 此处使用脚本引擎允许输入和输出之间的自定义转换。 对于每个输入/输出对,都有带自定义脚本的文本字段。 以下是用于脚本初始化的简化代码: //Instance of class passed to script engine _ScriptHost = new ScriptHost_Import(); if (Script != “”) //Here we have script fetched from DB as text { try { //We are creating script object … ScriptObject = CSharpScript.Create(Script, globalsType: typeof(ScriptHost_Import)); //… […]

如何使用CSI.exe脚本参数

当你运行csi.exe /? (安装了Visual Studio 2015更新2),您将获得以下语法 Microsoft (R) Visual C# Interactive Compiler version 1.2.0.51106 Copyright (C) Microsoft Corporation. All rights reserved. Usage: csi [option] … [script-file.csx] [script-argument] … 我只是想知道如何将这个[ script-argument ]传递给我的csx脚本文件。 比方说,我的csx脚本(c:\ temp \ a.csx)只有2行,如下所示 using System; Console.WriteLine(“Hello {0} !”, ); 我期望的是在运行以下命令行之后 csi.exe c:\temp\a.csx David 我会得到 Hello David ! 但我只是不知道我应该在我的脚本文件中做什么,所以我可以将csi.exe [ script_argument ]传递给我的脚本文件(替换)。 在此先感谢您的时间和帮助。

LuaInterface – 如何限制对.Net类的访问?

我正在尝试使用LuaInterface 2.0.3在我的C#应用​​程序中嵌入一些Lua脚本function。 到目前为止,这工作正常,但我无法弄清楚如何限制只访问少数指定的.Net类。 默认情况下,所有.Net库都可以通过“luanet”直接访问,Lua脚本可以自由打开新窗口或访问文件系统。 例如,这个Lua脚本将打开一个新窗口: Form = luanet.System.Windows.Forms.Form mainForm = Form() mainForm:ShowDialog() 编写脚本的自由度很高,但这可能会干扰托管应用程序,并且具有一些我不太喜欢的与安全相关的含义。 有没有办法禁用它?

如何使用Microsoft.Scripting.Hosting?

要将一些IronPython代码嵌入到C#中,我想使用ScriptEngine using IronPython.Hosting; using Microsoft.Scripting.Hosting; 我找到了IronPython的参考资料,但是Scripting.Hosting的必要参考在哪里? 我在VisualStudio 2008中找不到它,目标是.Net 3.5。

C#脚本语言

这是一个有点奇怪的问题。 我想提供一种脚本语言来修改我为XNA构建的游戏。 如果我将这些游戏用于PC,那么我就可以使用C#文件,在运行时编译(使用reflection.emit )作为脚本,这很好 – 一个很简单的方法来修改游戏。 但是,.net紧凑框架(这是xbox提供的)不支持reflection.emit,那么如何编写一个考虑到这一点的脚本语言呢? 有没有任何项目已经这样做了 是否有任何好的资源来启动我自己的项目来执行此操作 什么是最好的语言选择? 这适用于游戏脚本,因此它可以是一种相当小的语言,只要它非常高效且易于实现解释器