关于ClearScript一些调试总结

ClearScript是一个库,可以轻松地将脚本添加到.NET应用程序中。它目前支持JavaScript(通过V8JScript)和VBScript.

主机可以直接调用脚本函数和访问脚本对象。完全支持脚本调试。

本次使用C#来提供接口来调用js代码 , 首先安装clearScriptV8,在NuGet安装包中可以找到,

在代码中引用以下命名空间

using Microsoft.ClearScript.JavaScript;
using Microsoft.ClearScript.V8;
  using (var engine = new V8ScriptEngine("debug-v8engine", V8ScriptEngineFlags.EnableDebugging | V8ScriptEngineFlags.AwaitDebuggerAndPauseOnStart, 9222))// 这边定义一个变量engine  生成一个v8引擎  用来执行js脚本
// 里面的参数9222为调试端口, V8ScriptEngineFlags.EnableDebugging 是否启用调试模式
// V8ScriptEngineFlags.AwaitDebuggerAndPauseOnStart  异步停止或开始等待调试
// debug-v8engine  调试引擎模式
                {
                    engine.AddHostType("Console", typeof(Console));
         //添加主机的模式。以便js可以调用主机这边的一些c#类型或、对象
                    /* engine.AddHostType("tt", typeof(test));*/
                    // execute 开始执行代码 , 里面填写js代码
                engine.Execute(@"var a = 3;
                                 var b = 5;
                                 function add(a, b)
                                 {
                                     return a + b;
                                 }
                                 var result = add(a, b)
                               Console.WriteLine(result);");
                var a = engine.Script.tt;
                 // 当你js代码中有你想返回值 ,可以用engine.Script.tt 这个tt可以是JavaScript里的一个var类型的变量 也可以是JavaScript中的一个函数调用语句,会返回函数中的值

主机中的代码已编写完毕, 现在要调试的话,需要有一个工具是Vistual studio code 这个软件,

这个软件需要添加一些调试配置文件

我们需要在箭头所指的地方添加一些配置文件

{

"type": "node",

"request": "attach",

"name": "Attach to CSV8:9222 (Inspector)",

"protocol": "inspector",

"address": "127.0.0.1",

"port": 9222,

}

就是如上所述的这些,把这些粘贴在其他配置文件后面就完成了,保存一下,

然后点击小昆虫一样的图标, 在调试配置里选择你刚刚添加的哪个配置信息,这样基本上就可以开始执行代码了

点击开始执行我们vs里的代码,当运行到 engine.Execute(...//"js代码");时, 它会等待,这时我们需要把vistualstudiocode打开,并点击F5 开始调试,它会把vs中execute中的js代码自动复制到vscode中运行,这样我们的调试功能就能正常进行。

猜你喜欢

转载自blog.csdn.net/qq_41145567/article/details/81174909