如何配置VS 2015以启用Roslyn的C#脚本功能?
我尝试安装各种Nuget软件包,包括Microsoft.CodeAnalysis.CSharp的1.0和1.1.0-beta1版本,Microsoft.CodeAnalysis.Scripting.CSharp等,但是我无法获得任何示例。已找到在线上类的机会。我收到“找不到类型”错误,即
var scriptEngine = new ScriptEngine();
...失败,因为未找到类型“ScriptEngine”。
有人可以提供配方来包含要安装Roslyn脚本的哪些nuget软件包,需要哪些using语句等吗?
更新#1:
我已经取得了一些进步,但是仍然有问题。我收到一堆编译器警告,然后是TypeInitilizationException,这显然是由于组件版本不匹配所致。
我现在使用以下示例代码(来自测试),并且没有遗漏的类型:
using System;
using Microsoft.CodeAnalysis.Scripting.CSharp;
namespace RoslynScriptingTest {
class Program {
static void Main(string[] args) {
var script = CSharpScript.Create("1 + 2");
var fn = script.CreateDelegate();
var value = fn();
Console.WriteLine("value={0}", value.ToString());
}
}
}
我已经加载了https://www.myget.org/F/roslyn-nightly/上所有可用的每晚软件包。
我收到一系列有关Microsoft.CodeAnalysis v1.1.0.0的生成警告。
尽管出现警告,仍然运行exe会产生上面提到的TypeInitilizationException。基于堆栈跟踪,TypeInitializationError是由System.Reflection.Metadata.dll的版本不匹配引起的。
我不确定从这里要去哪里。我不了解与脚本相关的程序包/组件如何组合在一起。我在今年早些时候看到了一些帖子,它们描述了完全 build 罗斯林的过程。我还没有那样做。那有必要吗?
这使我想起了以前的DLL hell 。
最佳答案
脚本API仍在进行中,并已从发行包中删除。
尝试每晚睡一下。
关于c# - 如何在VS 2015中启用C#脚本?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31632984/