Вместо этого:
Dim ImgStream As New MemoryStream(CType(command.ExecuteScalar, Byte()))
сделать это:
Dim result = TryCast(command.ExecuteScalar(), Byte())
If result IsNot Nothing Then
Dim imgStream As New MemoryStream(result)
'Use imgStream here.
End If
TryCast
вернет Nothing
, если указанное значение не может быть приведено как указанный тип. [117 ]
Обратите внимание, что вы также можете сделать это при желании:
Dim result = command.ExecuteScalar()
If result IsNot DBNull.Value Then
Dim imgStream As New MemoryStream(DirectCast(result, Byte()))
'Use imgStream here.
End If
Это перестало работать, потому что Вы используете sudo. VirtualBox разработан, чтобы быть выполненным любым пользователем (в vboxusers
группа), и sudo выполняет команду как пользователя root, конфигурация VirtualBox которого пуста.
можно проверить что путем ввода:
sudo VBoxManage -nologo list vms # Should print only a newline
VBoxManage -nologo list vms # Detailled information about all your VMs