- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
最佳答案
不幸的是,目前还没有太多关于托管 scriptcs 的文档,但我会尽量给你一个简短的总结。
在您的应用程序中托管 scriptcs 提供了一些普通 Roslyn 没有的功能:
可插拔引擎
虽然 scriptcs 默认带有 Roslyn 和 Mono 引擎,但您可以轻松地将其替换为另一个引擎,即 F# 、 LOLcode 甚至 Brainfuck 。
预处理
scriptcs 将处理您的脚本并提取诸如引用( #r
)之类的内容并加载其他脚本( #load
)。最近还引入了自定义 ILineProcessor
s,它可以让您挂接到管道中进行自定义处理。示例处理器可能如下所示:
public class GistLineProcessor : DirectiveLineProcessor
{
protected string DirectiveName
{
return "gist";
}
protected override bool ProcessLine(IFileParser parser, FileParserContext context, string line)
{
var gistId = GetDirectiveArgument(line);
var gistContents = DownloadGistContents(gistId);
parser.ParseScript(gistContents, context);
return true;
}
private static string DownloadGistContents(string gistId)
{
// Download gist contents...
}
}
#gist 12345678
。
Require<T>()
导入命名空间、引用程序集和向脚本公开功能。请参阅 Martin Doms 关于
building a scriptcs script pack 的优秀博客文章。有关可用脚本包的完整列表,请参阅
Script packs master list 。
#line
指令使用源映射来调试脚本。
IScriptEngine
(实际执行代码的引擎)和
IInstallationProvider
(安装包的组件,即 NuGet)的实现,它们存在于
ScriptCs.Hosting 和 _0x104567s040404Engine6Engine.如果你使用这个库,你必须自己完成所有组件的连接,你还需要为引擎和包安装程序提供一个实现。
ScriptServicesBuilder
来轻松替换 scriptcs 的内部服务。有关示例用法,请参见
scriptcs' Program.cs。
关于roslyn - scriptcs 托管 - 优于 Roslyn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18406109/
我有一些我想在脚本中引用的自定义 DLL(存储在我的硬盘上)。我可以看到我是如何引用 Nuget 包的,但我认为它不适用于此处。 如何引用这些程序集? 最佳答案 #r "..\bin\debug\te
我关注了blog post只需两步即可运行 scriptcs。基本上,我这样做了: @powershell -NoProfile -ExecutionPolicy Unrestricted -Comm
我正在开发一款使用自定义 RenderScript 脚本进行图像处理的应用。现在,因为我有很多这些脚本在使用中,所以我在应用程序首次启动时预加载它们。通过“预加载”我的意思是我实例化每个脚本,以便它可
如果我想在我的应用程序中支持脚本,是否 scriptcs提供比仅使用普通 Vanilla 的任何特殊优势 Roslyn脚本引擎? 最佳答案 不幸的是,目前还没有太多关于托管 scriptcs 的文档,
我在 Sublime 中遇到异常: Unbehandelte Ausnahme: [Decode error - output not cp1252] 通过运行这段代码: Console.WriteL
我正在尝试通过 scriptcs 脚本使用 HttpClient 但遇到了一些问题。首先,我什至无法安装 Microsoft.Net.Http NuGet 包,因为该包需要 NuGet 2.8,而 s
当 Google 发布预发布报告时,有 1 台设备(Huawei Mate 9)总是出现此崩溃:“加载 ScriptC 脚本失败”。我从未在任何其他设备上遇到过这个问题。 首先,我遇到了原生渲染脚本崩
我正在玩 ScriptCS (太棒了!)但我想不出如何在 .csx 脚本文件中定义扩展方法。 举个例子: using System.IO; public static class Extensions
背景 我正在创建一个运行一些状态检查的 c# 应用程序(想想 nagios 样式检查)。 我理想中想要的是这个 c# 应用程序查看特定目录,并仅编译/执行其中的任何 scriptcs 脚本,并对结果采
有没有办法可以向 ScriptCS 添加默认的 using 指令?因此,当我启动 ScriptCS 时,我不需要在该命名空间中包含类的命名空间。 例如,我可能需要与 Process class 交互S
有没有一种方法可以向 ScriptCS 添加默认的 using 指令?因此,当我启动 ScriptCS 时,我不需要在该命名空间中包含类的命名空间。 例如,我可能需要与 Process class 进
使用 RenderScript 创建 ScriptC 对象时存在一些神秘的问题。这是我的代码: public class RenderScriptActivity { private Rend
我尝试使用 Visual Studio 的 Coderunner 扩展以及使用 scriptcs 命令从终端运行我的程序。 我的代码如下: using System; namespace HelloW
我收到以下错误消息: 01-19 23:31:16.436: E/RenderScript(30603): Unable to open shared library (/data/data/com.
我正在尝试使用 scriptcs 0.17.1 在 C# 中创建一个简单的脚本。这是我的脚本: using System.Data; using(var connection = new SqlCon
在 Windows 中有没有一种方法可以直接启动 .csx 脚本(例如通过双击文件,或者从开始菜单,或者通过像 Launchy 这样的应用程序启动器),这样脚本就可以在后台运行而无需打开命令行窗口?
我正在使用 Visual Studio Code for Mac,运行扩展程序 CodeRunner。我有一个简单的程序: using System; namespace HelloWorldAppl
我已经将 Scriptcs 安装到 Sublime Text 3。 当我按 CTRL B 并构建我的 aspx 页面时,出现此错误。 'scriptcs' is not recognized as a
我有一个 DLL (Microsoft.SqlServer.BatchParser),我需要在 scriptcs 文件中引用它。 只有 useLegacyV2RuntimeActivationPoli
我正在尝试将以下链接中使用渲染脚本的答案集成到我的项目中。但是 rotator.rs 不会生成 ScriptC_rotator 文件。我该如何整合它? Android: rotate image wi
我是一名优秀的程序员,十分优秀!