我为我的应用程序创建了一个脚本编辑器,我希望它能够使用Roslyn运行C#和VB.NET脚本。我通过使用Microsoft.CodeAnalysis.CSharp.Scripting
程序集/名称空间中的CSharpScript
类与C#一起工作,但没有找到与我可以找到的类相同的VisualBasicScript
类,也没有Microsoft.CodeAnalysis.VisualBasic.Scripting
程序集。我浏览了网页,发现运行VB.NET脚本没有任何用处,Roslyn github网站上的所有示例都是C#特有的。我是否错过了某些东西,还是支持运行VB.NET脚本,而不是像C#脚本那样存在?Roslyn可以用于VB.NET脚本吗?
2
A
回答
1
Visual Basic Scripting is not currently available,推测是因为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#脚本有意不同。
+0
感谢您的出色答案和链接。不完全是我所希望的,但很高兴知道它至少在作品中。 – StuartMorgan
相关问题
- 1. 如何在基于Roslyn的脚本中使用System.IO.FileSystem?
- 2. 可以manage.py runserver执行npm脚本吗?
- 3. 这个JQuery脚本可以简化吗?
- 4. Selenium可以通知脚本错误吗?
- 5. 我可以执行ipython脚本吗?
- 6. Makefile可以依赖于shell脚本的结果吗?
- 7. 基于PHP脚本结果的.htaccess重定向可以吗?
- 8. 我可以在ViM中运行当前脚本或脚本吗?
- 9. 可以通过脚本语句停止Matlab M脚本吗?
- 10. 可以@required脚本与Greasemonkey中的其他脚本冲突吗?
- 11. 我们可以在perl脚本中输入shell脚本吗?
- 12. UIAutomation可以用于CI吗?
- 13. CGMainDisplayID()可以用于iOS吗?
- 14. Arcgis可以用于android吗?
- 15. Swagger可以用于SOAP吗?
- 16. Roslyn可以编译等待关键字吗?
- 17. Roslyn可以安装在VS社区版上吗?
- 18. 单个脚本可以用于两个或更多锚点按钮点击吗?
- 19. Perl脚本可以用于处理不同的文件格式吗?
- 20. 我可以在公共脚本中使用ReCaptcha吗? (关于API密钥)
- 21. 我可以为章鱼脚本部署脚本使用nuget包吗?
- 22. 链接到JQuery脚本可以使用JQuery网站上的脚本吗?
- 23. XHR调用的脚本可以引用$ _COOKIE吗?
- 24. 我可以使用JavaScript(用户脚本)修改chrome:// extensions/page吗?
- 25. C#适用于脚本语言吗?
- 26. 脚本延迟可靠吗?
- 27. 谷歌分析 - 我可以将脚本放在页脚中吗?
- 28. DISPID_VALUE对于从脚本调用IDispatch时可靠吗?
- 29. 我可以在Windows Metro或RT应用程序中使用roslyn吗?
- 30. 哪里可以找到Roslyn DEBUGGER Syntax Visualizer?
我还没有走到构建我自己的脚本编辑器的极端(因为Actipro碰巧做出了一个适合我需求的脚本编辑器),但我确实知道(已经在他们的网站上进行了讨论),尽管.net框架(以及扩展的语言)是开放源代码的,但实际的Roslyn引擎/编译器并不像现在这样,它们的语法编辑器不支持.net语言的最新语法细微差别。对不起,这不会直接回答你,因为我不确定,但我强烈怀疑目前的答案会变成否定的。 –
我正在使用第三方工具(Infragistics xamSyntaxEditor)进行实际的文本编辑/语法高亮显示,并且只是围绕它构建一个用于加载/保存脚本以及运行它们并显示其结果的UI。 – StuartMorgan