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

时间:2016-06-07 03:31:04

标签: vb.net roslyn

我正在为我的应用程序创建脚本编辑器,并且我希望能够使用Roslyn运行C#和VB.NET脚本。我使用cv2.hconcat()程序集/命名空间中的hconcat类来使用C#,但是我找不到等效的vconcat类,也没有import numpy as np import cv2 import matplotlib.pyplot as plt cap = cv2.VideoCapture(0) ret, frame = cap.read() bg = [[[0] * len(frame[0]) for _ in xrange(len(frame))] for _ in xrange(3)] while(True): ret, frame = cap.read() # Resizing down the image to fit in the screen. frame = cv2.resize(frame, None, fx = 0.5, fy = 0.5, interpolation = cv2.INTER_CUBIC) # creating another frame. channels = cv2.split(frame) frame_merge = cv2.merge(channels) # horizintally concatenating the two frames. final_frame = cv2.hconcat((frame, frame_merge)) # Show the concatenated frame using imshow. cv2.imshow('frame',final_frame) k = cv2.waitKey(30) & 0xff if k == 27: break cap.release() cv2.destroyAllWindows() 程序集。我已经浏览了网页,发现运行VB.NET脚本没什么用处,Roslyn github网站上的所有示例都是C#特有的。我是否遗漏了某些内容,或者是否支持运行VB.NET脚本的方式与C#脚本不一样?

1 个答案:

答案 0 :(得分: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#脚本有意无异。