Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Visual Basic (.NET)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Version history == Succeeding [[Visual Basic (classic)|the classic Visual Basic]] version 6.0, the first version of Visual Basic .NET debuted in 2002. {{as of|2020|3 = }}, ten versions of Visual Basic .NET are released. === 2002 (VB 7.0) === The first version, Visual Basic .NET, relies on [[.NET Framework version history#.NET Framework 1.0|.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 (software)|wizard]]. Improvements were also made to the performance and reliability of .NET IDE (particularly the [http://msdn.microsoft.com/msdnmag/issues/05/06/AdvancedBasics/default.aspx 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 inline|date=February 2014}} 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 Sharp (programming language)|C#]]., including: * ''Edit and Continue'' feature{{explain|date=February 2014}} * Design-time expression evaluation{{Explain|date=February 2014}} * A pseudo-[[namespace]] called "My", which provides:<ref>{{cite web|url = http://msdn.microsoft.com/en-us/magazine/cc163680.aspx|title = Navigate The .NET Framework And Your Projects With The My Namespace|website = MSDN Magazine Visual Studio 2005 Guided Tour 2006|publisher = [[Microsoft]]|first = Duncan|last = Mackenzie|year = 2006|access-date = February 6, 2014|archive-date = February 15, 2014|archive-url = https://web.archive.org/web/20140215053141/http://msdn.microsoft.com/en-us/magazine/cc163680.aspx|url-status = live}}</ref><ref>{{cite web|url = http://msdn.microsoft.com/en-us/library/ms379610.aspx|title = My.Internals: Examining the Visual Basic My Feature|first = Tyler|last = Whitney|date = November 2005|website = [[MSDN]]|publisher = [[Microsoft]]|access-date = February 6, 2014|archive-date = June 14, 2012|archive-url = https://web.archive.org/web/20120614025325/http://msdn.microsoft.com/en-us/library/ms379610.aspx|url-status = live}}</ref> ** Easy access to certain areas of the .NET Framework that otherwise require significant code to access like using <syntaxhighlight lang="vbnet" inline>My.Form2.Text = " MainForm "</syntaxhighlight> rather than <syntaxhighlight lang="vbnet" inline>System.WindowsApplication1.Forms.Form2.text = " MainForm "</syntaxhighlight> ** Dynamically generated classes (e.g. ''My.Forms'') * Improved VB-to-VB.NET converter<ref>{{cite web|url=http://msdn2.microsoft.com/en-us/library/ms379614.aspx|title=What's New with the Visual Basic Upgrade Wizard in Visual Basic 2005|website=msdn2.microsoft.com|access-date=January 29, 2008|archive-date=April 6, 2008|archive-url=https://web.archive.org/web/20080406035326/http://msdn2.microsoft.com/en-us/library/ms379614.aspx|url-status=live}}</ref> * A "using" keyword, simplifying the use of objects that require the Dispose [[Design pattern (computer science)|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: * [[Generic programming|Generics]]<ref>{{cite web|url=http://msdn2.microsoft.com/en-us/library/ms379608.aspx|title=Defining and Using Generics in Visual Basic 2005|website=msdn2.microsoft.com|access-date=January 29, 2008|archive-date=April 23, 2008|archive-url=https://web.archive.org/web/20080423004351/http://msdn2.microsoft.com/en-us/library/ms379608.aspx|url-status=live}}</ref> * [[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 type]]s<ref>{{cite web|url=http://msdn2.microsoft.com/en-us/library/ms379613.aspx|title=Operator Overloading in Visual Basic 2005|website=msdn2.microsoft.com|access-date=January 29, 2008|archive-date=April 23, 2008|archive-url=https://web.archive.org/web/20080423001343/http://msdn2.microsoft.com/en-us/library/ms379613.aspx|url-status=live}}</ref> * Support for [[integer (computer science)|unsigned integer]] data types commonly used in other languages Visual Basic 2005 introduced the <code>IsNot</code> operator that makes <code>'If X IsNot Y'</code> equivalent to <code>'If Not X Is Y'</code>. It gained notoriety<ref>{{cite web |url=https://www.theregister.co.uk/2005/02/22/real_slams_ms_patent/ |title=Real Software slams MS IsNot patent application |last=Sherriff |first=Lucy |publisher=The Register |date=February 22, 2005 |access-date=April 6, 2009 |archive-date=August 3, 2009 |archive-url=https://web.archive.org/web/20090803204929/http://www.theregister.co.uk/2005/02/22/real_slams_ms_patent/ |url-status=live }}</ref> when it was found to be the subject of a Microsoft patent application.<ref>{{cite web |url=http://www.eweek.com/article2/0,1759,1766949,00.asp |archive-url=https://archive.today/20120731141459/http://www.eweek.com/article2/0,1759,1766949,00.asp |url-status=dead |archive-date=July 31, 2012 |title=Real Software Slams Microsofts Patent Effort |last=Taft |first=Darryl K. |publisher=eWeek |date=February 21, 2005 |access-date=April 6, 2009 }}</ref><ref>{{cite web |url=http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PG01&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.html&r=1&f=G&l=50&s1=%2220040230959%22.PGNR.&OS=DN%2F20040230959&RS=DN%2F20040230959 |title=United States Patent Application: 20040230959 |work=Patent Application Full Text and Image Database |last1=Vick |first1=Paul A. Jr. |last2=Barsan |first2=Costica Corneliu |last3=Silver |first3=Amanda K. |date=May 14, 2003 |publisher=US Patent & Trademark Office |access-date=April 6, 2009 |archive-date=February 11, 2006 |archive-url=https://web.archive.org/web/20060211172531/http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PG01&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.html&r=1&f=G&l=50&s1=%2220040230959%22.PGNR.&OS=DN%2F20040230959&RS=DN%2F20040230959 |url-status=live }}</ref> === 2008 (VB 9.0) === Visual Basic 9.0 was released along with [[.NET Framework 3.5]] on November 19, 2007. For this release, Microsoft added many features, including: * A true [[conditional operator]], "If(condition as Boolean, truepart, falsepart)", to replace the "IIf" function. * [[Anonymous type]]s * Support for [[Language Integrated Query|LINQ]] * [[Anonymous function|Lambda expressions]] * [[XML Literals]] * [[Type inference|Type Inference]] * [[Extension method]]s === 2010 (VB 10.0) === In April 2010, Microsoft released Visual Basic 2010. Microsoft had planned to use [[Dynamic Language Runtime]] (DLR) for that release<ref>{{cite web | url = http://www.panopticoncentral.net/archive/2007/05/01/20383.aspx | title = What the heck is "VBx"? | date = May 1, 2007 | quote = ''With the new DLR, we have support for IronPython, IronRuby, Javascript, and the new dynamic VBx compile'' | access-date = August 12, 2009 | archive-date = May 25, 2009 | archive-url = https://web.archive.org/web/20090525130300/http://panopticoncentral.net/archive/2007/05/01/20383.aspx | url-status = dead }}</ref> 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]].<ref>{{cite web | url=http://msdn.microsoft.com/en-us/library/we86c8x2%28VS.100%29.aspx | title=What is New in Visual Basic 2010 | year=2009 | publisher=[[Microsoft]] | quote=''Visual Basic binds to objects from dynamic languages such as IronPython and IronRuby'' | access-date=August 12, 2009 | archive-date=August 4, 2009 | archive-url=https://web.archive.org/web/20090804043607/http://msdn.microsoft.com/en-us/library/we86c8x2(VS.100).aspx | url-status=live }}</ref> 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 characters. 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.<ref>{{cite web | url=http://msdn.microsoft.com/en-us/vbasic/ee336123.aspx | title=What's New in Visual Basic 2010 | year=2010 | publisher=Microsoft | access-date=August 1, 2010 | archive-date=July 26, 2010 | archive-url=https://web.archive.org/web/20100726161130/http://msdn.microsoft.com/en-us/vbasic/ee336123.aspx | url-status=live }}</ref> === 2012 (VB 11.0) === Visual Basic 2012 was released alongside [[.NET Framework 4.5]]. Major features introduced in this version include:{{Explain|date=February 2014}} * [[Asynchronous programming]] with "async" and "await" statements * Iterators * Call hierarchy * Caller information * "Global" keyword in "namespace" statements === 2013 (VB 12.0) === Visual Basic 2013 was released alongside .NET Framework 4.5.1 with Visual Studio 2013. Can also build .NET Framework 4.5.2 applications by installing Developer Pack.<ref>{{Cite web |url=http://www.microsoft.com/en-us/download/details.aspx?id=42637 |title=Download Microsoft .NET Framework 4.5.2 Developer Pack for Windows Vista SP2, Windows 7 SP1, Windows 8, Windows 8.1, Windows Server 2008 SP2 Windows Server 2008 R2 SP1, Windows Server 2012 and Windows Server 2012 R2 from Official Microsoft Download Center |website=[[Microsoft]] |access-date=January 11, 2020 |archive-date=January 9, 2020 |archive-url=https://web.archive.org/web/20200109181051/http://www.microsoft.com/en-us/download/details.aspx?id=42637 |url-status=live }}</ref> === 2015 (VB 14.0) === Visual Basic 2015 (code named VB "14.0") was 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.<ref>{{cite web|url=http://blogs.msdn.com/b/vbteam/archive/2014/12/09/new-language-features-in-visual-basic-14.aspx|title=New Language Features in Visual Basic 14|website=msdn.com|access-date=February 5, 2015|archive-date=December 25, 2014|archive-url=https://web.archive.org/web/20141225220053/http://blogs.msdn.com/b/vbteam/archive/2014/12/09/new-language-features-in-visual-basic-14.aspx|url-status=live}}</ref> === 2017 (VB 15.x) === Visual Basic 2017 (code named VB "15.0") was released with Visual Studio 2017. Extends support for new Visual Basic 15 language features with revision 2017, 15.3, 15.5, 15.8. Introduces new refactorings that allow organizing source code with one action.<ref>{{cite web|url=https://www.visualstudio.com/en-us/news/releasenotes/vs2017-relnotes|title=Visual Studio 2017 Release Notes|last=reshmim|website=www.visualstudio.com|access-date=April 5, 2017|archive-date=January 22, 2018|archive-url=https://web.archive.org/web/20180122175218/https://www.visualstudio.com/en-us/news/releasenotes/vs2017-relnotes|url-status=live}}</ref><ref>{{cite web|url=https://docs.microsoft.com/en-us/dotnet/visual-basic/getting-started/whats-new#visual-basic-158|title=What's new for Visual Basic 2017,15.3,15.5,15.8|last=reshmim|website=www.visualstudio.com|access-date=January 11, 2020|archive-date=September 1, 2019|archive-url=https://web.archive.org/web/20190901152416/https://docs.microsoft.com/en-us/dotnet/visual-basic/getting-started/whats-new#visual-basic-158|url-status=live}}</ref> === 2019 (VB 16.0) === Visual Basic 2019 (code named VB "16.0") was released with Visual Studio 2019.<ref>{{cite web|url=https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes|title=Visual Studio 2019 Release Notes|last=Reshmim|website=www.visualstudio.com|access-date=August 2, 2019|archive-date=November 29, 2021|archive-url=https://web.archive.org/web/20211129155944/https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes|url-status=live}}</ref> It is the first version of Visual Basic focused on .NET Core.<ref>{{cite web|url=https://docs.microsoft.com/en-us/dotnet/visual-basic/getting-started/whats-new#visual-basic-160|title=What's new for Visual Basic 16.0|last=Reshmim|website=www.visualstudio.com|access-date=January 11, 2020|archive-date=September 1, 2019|archive-url=https://web.archive.org/web/20190901152416/https://docs.microsoft.com/en-us/dotnet/visual-basic/getting-started/whats-new#visual-basic-160|url-status=live}}</ref> A minor update was later released as Visual Basic 16.9 which only added the ability to consume init-only properties.<ref>{{cite web|url=https://learn.microsoft.com/en-us/dotnet/visual-basic/whats-new/#visual-basic-169|title=What's new for Visual Basic|website=learn.microsoft.com|date=February 21, 2023 |access-date=February 18, 2025}}</ref> This was done to maintain compatibility with C# 9.0<ref>{{cite web|url=https://devblogs.microsoft.com/dotnet/c-9-0-on-the-record/?source=post_page-----1a66d7f94a54---------------------------------------&hide_banner=true#init-accessors-and-readonly-fields|title=C# 9.0 on the record|first=Mads|last=Torgersen|website=devblogs.microsoft.com|date=November 10, 2020 |access-date=February 18, 2025}}</ref> per the current development strategy of the language.<ref name="vbstrategy">{{cite web|url=https://learn.microsoft.com/en-us/dotnet/visual-basic/getting-started/strategy|title=Annotated Visual Basic Language Strategy|website=learn.microsoft.com|date=May 29, 2024 |access-date=February 18, 2025}}</ref> === 2022 === Visual Basic received no updates with the release of Visual Studio 2022.<ref name="vbstrategy"/>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)