添加项目文件。
This commit is contained in:
24
Szmedi.RvKits/ScriptPad/roslyn/ScriptRunner.cs
Normal file
24
Szmedi.RvKits/ScriptPad/roslyn/ScriptRunner.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.CodeAnalysis.Scripting;
|
||||
using Microsoft.CodeAnalysis.CSharp.Scripting;
|
||||
|
||||
namespace ScriptPad.Roslyn
|
||||
{
|
||||
public class ScriptRunner
|
||||
{
|
||||
public static async Task Run(CsScript Script)
|
||||
{
|
||||
var options = ScriptOptions.Default;
|
||||
options = options.AddReferences(Script.GetReferences());
|
||||
options = options.AddReferences(ScriptGlobals.InitAssemblies);
|
||||
|
||||
var script = CSharpScript.Create(await Script.GetScriptText(), options, globalsType: ScriptGlobals.GlobalObject.GetType());
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(ScriptGlobals.StartScript))
|
||||
script = script.ContinueWith(ScriptGlobals.StartScript, options);
|
||||
|
||||
await script.RunAsync(ScriptGlobals.GlobalObject);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user