Succeeding the classic Visual Basic version 6.0, the first version of Visual Basic .NET debuted in 2002. As of 2014, seven versions of Visual Basic .NET are released.
2002 (VB 7.0)
The first version, Visual Basic .NET, relies on .NET Framework 1.0. The most important feature is managed code, which contrasts with the classic Visual Basic.
2003 (VB 7.1)
Visual Basic .NET 2003 was released with .NET Framework 1.1. New features included support for the .NET Compact Framework and a better VB upgrade wizard. Improvements were also made to the performance and reliability of .NET IDE (particularly the background compiler) and runtime. In addition, Visual Basic .NET 2003 was available in the Visual Studio.NET Academic Edition, distributed to a certain number of scholars[weasel words] from each country without cost.
2005 (VB 8.0)
After Visual Basic .NET 2003, Microsoft dropped ".NET" from the name of the product, calling the next version Visual Basic 2005.
For this release, Microsoft added many features intended to reinforce Visual Basic .NET's focus as a rapid application development platform and further differentiate it from C#., including:
Edit and Continue feature[further explanation needed]
Design-time expression evaluation[further explanation needed]
A pseudo-namespace called "My", which provides:
Easy access to certain areas of the .NET Framework that otherwise require significant code to access like using
My.Form2.Text = " MainForm "
System.WindowsApplication1.Forms.Form2.text = " MainForm "
Dynamically generated classes (e.g. My.Forms)
Improved VB-to-VB.NET converter
A "using" keyword, simplifying the use of objects that require the Dispose pattern to free resources
Just My Code feature, which hides (steps over) boilerplate code written by the Visual Studio .NET IDE and system library code during debugging
Data Source binding, easing database client/server development
To bridge the gaps between itself and other .NET languages, this version added:
Partial classes, a method of defining some parts of a class in one file and then adding more definitions later; particularly useful for integrating user code with auto-generated code
Operator overloading and nullable types
Support for unsigned integer data types commonly used in other languages
Visual Basic 2005 introduced the IsNot operator that makes 'If X IsNot Y' equivalent to 'If Not X Is Y'. It gained notoriety when it was found to be the subject of a Microsoft patent application.
2008 (VB 9.0)
Visual Basic 9.0 was released along with .NET Framework 3.5 on 19 November 2007.
For this release, Microsoft added many features, including:
A true conditional operator, "If(condition as boolean, truepart, falsepart)", to replace the "IIf" function.
Support for LINQ
2010 (VB 10.0)
In April 2010, Microsoft released Visual Basic 2010. Microsoft had planned to use Dynamic Language Runtime (DLR) for that release but shifted to a co-evolution strategy between Visual Basic and sister language C# to bring both languages into closer parity with one another. Visual Basic's innate ability to interact dynamically with CLR and COM objects has been enhanced to work with dynamic languages built on the DLR such as IronPython and IronRuby. The Visual Basic compiler was improved to infer line continuation in a set of common contexts, in many cases removing the need for the "_" line continuation character. Also, existing support of inline Functions was complemented with support for inline Subs as well as multi-line versions of both Sub and Function lambdas.
2012 (VB 11.0)
Visual Basic 2012 was released along .NET Framework 4.5. Major features introduced in this version include:[further explanation needed]
Asynchronous programming with "async" and "await" statements
"Global" keyword in "namespace" statements
2015 (VB 14.0)
Visual Basic 2015 (code named VB "14.0") has been released with Visual Studio 2015.
Language features include a new "?." operator to perform inline null checks, and a new string interpolation feature is included to format strings inline.
Cross-platform and open-source development
The creation of open-source tools for VB.NET development has been slow compared to C#, although the Mono development platform provides an implementation of VB.NET-specific libraries and a VB.NET 8.0 compatible compiler written in VB.NET, as well as standard framework libraries such as Windows Forms GUI library.