我需要在C#Visual Studio中使用什么?
using Roslyn.Scripting;
using Roslyn.Scripting.CSharp;
namespace RoslynScriptingDemo
{
class Program
{
static void Main(string[] args)
{
var engine = new ScriptEngine();
var session = Session.Create();
engine.Execute(@"var a = 42;", session);
engine.Execute(@"System.Console.WriteLine(a);", session);
}
}
}
答案 0 :(得分:0)
该代码看起来像是使用更旧版本的Roslyn编写的,我认为不再支持它的NuGet包了。请查看https://github.com/dotnet/roslyn/wiki/Scripting-API-Samples,了解有关使用Microsoft.CodeAnalysis.CSharp.Scripting
的最新消息。
以下是在VS2017中你可能会做类似的事情:
using Microsoft.CodeAnalysis.CSharp.Scripting;
static async Task Main(string[] args)
{
var state = await CSharpScript.RunAsync("var a = 42;");
Console.WriteLine(state.GetVariable("a").Value);
}