2

有没有办法可以将默认 using 指令添加到 ScriptCS?因此,当我启动 ScriptCS 时,我不需要在该命名空间中包含类的命名空间。

例如,我可能需要与System.Diagnostics 命名空间中的Process 类进行大量交互。如果我想创建这个类的一个新实例,我需要做

var proc = new System.Diagnostics.Process();

我宁愿做

var proc = new Process();

我知道我可以在每次启动 ScriptCS 时添加 using 语句,但我希望它始终存在。

4

3 回答 3

3

您可以在 en 中添加额外的程序集引用和 using 语句,并编写一个Script Pack您可以在Web API 示例中看到注入 using 语句的示例。

于 2013-09-19T22:24:58.960 回答
2

正如贾斯汀所说,脚本包可以做到这一点。另一种选择是使用全局模块,例如此处(https://github.com/scriptcs-contrib/scriptcs-sample-module),但目前它们不能很好地支持这一点。如果模块有一个钩子可以在创建后获取所有服务,那么您可以这样做。

我提交了这个错误(https://github.com/scriptcs/scriptcs/issues/472),以便以更简洁的方式解决这个问题。

于 2013-09-23T06:20:07.540 回答
0

看起来这可以通过修改ScriptExecutor 类的 DefaultNamespaces 属性以包含您希望始终拥有的命名空间来完成。

您需要下载源代码(或在 github 中创建一个新分支),自行修改和编译。然后将新的 ScriptCs.Core 程序集放在安装文件夹 (C:\Users\USER_NAME\AppData\Roaming\scriptcs) 中。这将取代现有的程序集。如果您这样做,如果您通过巧克力进行更新,您将丢失任何更改

于 2013-09-19T22:40:49.280 回答