我用roslyn做了动态脚本的方案,在文本区写C#脚本,然后提交脚本字符串,使用roslyn动态编译脚本并运行返回结果。
如下:
但是上面的Api运行就直接执行脚本了,我想不执行脚本而仅编译,保存脚本时候先检查语法错误。
不知道有大佬搞过没有,请指教~
初衷:想做一套动态脚本解决方案,脚本中可能有持久化数据的语句,所以不能模拟数据执行脚本的方法来检查脚本呢错误,需要一个光编译检查错误的api来校验是否有语法错误。
roslyn官方文档地址:https://github.com/dotnet/roslyn/wiki
参考 roslyn wiki 的 Create and analyze a C# script 部分
var script = CSharpScript.Create<int>("3");
Compilation compilation = script.GetCompilation();
多谢du大神,不过您说的那个api我试了,没找到如何校验是否编译通过的标志呢...
最后网上又借鉴了下,找到一个解决方案