如何在VS中使用Roslyn?

时间:2018-04-18 16:16:02

标签: c# .net roslyn roslyn-code-analysis

我需要在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);
        }
    }
}

1 个答案:

答案 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);
}