将默认的 using 指令添加到 ScriptCS
本文关键字:添加 ScriptCS 指令 using 默认 | 更新日期: 2023-09-27 18:31:58
有没有办法将默认的using 指令添加到 ScriptCS?因此,当我启动 ScriptCS 时,我不需要在该命名空间中包含类的命名空间。
例如,我可能需要与 System.Diagnostics 命名空间中的 Process 类进行大量交互。如果我想创建此类的新实例,我需要做
var proc = new System.Diagnostics.Process();
我宁愿做
var proc = new Process();
我知道每次启动 ScriptCS 时都可以添加 using 语句,但我希望它始终存在。
您可以通过编写脚本包将其他程序集引用和 using 语句添加到 en 中。可以在 Web API 示例中看到注入 using 语句的示例。
脚本包可以做到这一点,正如 Justin 所提到的。另一种选择是使用全局模块,例如此处(https://github.com/scriptcs-contrib/scriptcs-sample-module),但目前它们不支持此功能。如果模块有一个钩子,用于在创建所有服务后获取所有服务,则可以执行此操作。
我提交了这个错误(https://github.com/scriptcs/scriptcs/issues/472),以便以更干净的方式解决这个问题。
看起来这可以通过修改 ScriptExecutor 类的 DefaultNamespaces 属性以包含您希望始终拥有的命名空间来实现。
您需要下载源代码(或在 github 中分叉一个新分支),自己修改和编译。然后,将新的 ScriptCs.Core 程序集放在安装文件夹 (C:''Users''USER_NAME''AppData''Roaming''scriptcs) 中。这将取代现有的程序集。如果这样做,如果您通过巧克力更新,您将丢失任何更改