VB.NET on Linux VB.NET on Linux linux linux

VB.NET on Linux


You can run Visual Basic, VB.NET, C# code and applications on Linux.

The most popular .NET IDE is Visual Studio (now in version 2019) that runs in Windows and macOS. A good alternative for Linux users is Visual Studio Code (runs on Linux, Windows and Mac).

You can compile and run VB.NET code and applications (part of .NET framework, consider the successor of Visual Basic, with several language differences from Visual Basic 6.0). A subset of .NET is .NET Core that can be installed on

Setup details are on https://www.microsoft.com/net/core.

You can also use Mono, a free and open-source project led by Xamarin (a subsidiary of Microsoft) and the .NET Foundation. The project focus is to support an ECMA standard-compliant .NET Framework-compatible set of tools (including a C# compiler and a Common Language Runtime).

Mono can be installed on

You can run most Windows applications (created with VB, VB.NET or with other tools) using Wine that supports the Windows API on Linux.

** About Visual Basic (not VB.NET, due to the original question) **

Note that the last version of visual basic is 6.0, released in 1998, declared legacy during 2008 and supported on Windows XP, Windows Vista, Windows Server 2008 including R2, Windows 7, Windows Server 2012, and Windows 8.x. There are also other basic flavors (like QuickBASIC, Gambas or others).

The support end dates for Visual Basic 6.0 are:

  • The Visual Basic 6.0 IDE [Integrated Development Environment]:supported ended on April 8, 2008.
  • Visual Basic 6.0 Runtime the base libraries and execution engine used to run Visual Basic 6.0 applications: support ended on April 8, 2014.
  • Visual Basic 6.0 Runtime Extended Files: support ended on April 8, 2014.


You could have a look at the Mono VisualBasic.Net support, or maybe go and check out the Gambas project.

You won't find a fully compatible solution.


There are a few, like SimpleBasic, GnomeBasic and XBasic. None of them are fully compatible with Visual Basic.


The above answer was accepted eons ago, but is horribly outdated, since more recently, there's also .NET Core. This will run the actual VB.NET language, but it will not use Windows Forms controls and features powering most real VB.NET applications. .NET Core 3 does support some variation of Windows Forms, but only on Windows.

Please check Pedro Polonia's excellent answer that contains all the details that mine misses.