我正在使用 Roslyn 将 C# 脚本引擎嵌入到我的应用程序中,到目前为止,我可以毫无问题地执行代码。例如,我可以执行以下代码:
using System;
var str = "Hello Roslyn";
Console.WriteLine(str);
在上面的代码片段中构建我的语法树时,我遇到了编译问题。编译器抱怨直接嵌入到主命名空间中的语句,这在编写普通的 C# 程序时是有意义的,但在我的情况下却不是,因为我正在使用脚本方式。
问题: 有没有办法从 C# 脚本中构建无错误的语法树?
编辑 这是我用来构建语法树的代码。
SyntaxTree tree = SyntaxTree.ParseText(context.SourceCode);
Compilation compilation = Compilation.Create("CSharp", syntaxTrees: new[] {tree}, references: references);
谢谢