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# 脚本有意不同。
我正在为我的应用程序创建脚本编辑器,我希望它能够使用 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# 脚本有意不同。