Roslyn 可以用于 VB.NET 脚本编写吗?

Can Roslyn be used for VB.NET scripting?

我正在为我的应用程序创建脚本编辑器,我希望它能够使用 Roslyn 运行 C# 和 VB.NET 脚本。我通过在 Microsoft.CodeAnalysis.CSharp.Scripting assembly/namespace 中使用 CSharpScript class 来使用 C#,但是我没有等效的 VisualBasicScript class查找,也不是 Microsoft.CodeAnalysis.VisualBasic.Scripting 程序集。我在网上搜索过,找不到任何关于 运行ning VB.NET 脚本的有用信息,而且 Roslyn github 站点上的所有示例都是特定于 C# 的。我是不是遗漏了什么,或者对 运行ning VB.NET 脚本的支持根本不像对 C# 脚本那样存在?

Visual Basic Scripting is not currently available, presumably because it's not finished.

但是 its source is is the Roslyn repo,所以您可以尝试自己构建它。

当我这样做时,如下代码适用于我:

Dim result = VisualBasicScript.RunAsync("Dim result = 1+1").Result

For Each variable In result.Variables
    Console.WriteLine($"{variable.Name}: {variable.Value}")
Next

但是这段代码对我不起作用(编译脚本时失败):

Console.WriteLine(VisualBasicScript.EvaluateAsync("1+1").Result)

我不确定这是否是因为它没有完成,或者它是否与 C# 脚本有意不同。