脚本上的罗斯林错误:字符串代码 = @ "System.Threading.Thread.Sleep(300000);" ;



以下脚本:

string code = @"System.Threading.Thread.Sleep(300000);";

给我错误:

(1,31): error CS1022: Type or namespace definition, or end-of-file expected
(1,31): error CS1026: ) expected

验证以下内容的代码:

public IEnumerable<Diagnostic> GetCodeErrorsAndWarnings()
{
var tree = CSharpSyntaxTree.ParseText(Code);
var diags = tree.GetDiagnostics().Where(d=>d.Severity == DiagnosticSeverity.Error || d.Severity == DiagnosticSeverity.Warning);
if (diags.Any())
{
foreach (Diagnostic diag in diags)
{
Debug.WriteLine(diag.ToString());
}
return diags;
}
return null;
}

canton7 有正确的答案,但他没有写一个......

问题是我没有使用脚本引擎,Roslyn 期望至少有一个类,而不是一个简单的脚本。我用一个类包装了我的函数,并且编译了所有内容而没有错误。

相关内容

最新更新