Features
Everything Is Supported
All Versions
- Visual Studio 2019
- Visual Studio 2017
- Visual Studio 2015
- Visual Studio 2013
- Visual Studio 2012
- Visual Studio 2010
- Visual Studio 2008
- Visual Studio 2005
- Visual Studio 2003
- Visual Studio 2002
- Visual Basic 6 Upgraded Projects
All Project Types
- UWP Projects
- .Net Core Projects
- .Net Standard Projects
- Windows Forms Projects
- Web Projects
- Console Projects
- Class Library Projects
- Mobile Projects
- WPF Projects
- WCF Projects
- Silverlight Projects
- Lightswitch Projects
Latest Features (2019-2012)
- 2017 – Binary literals
- 2017 – Tuples
- 2015 – Multi-line strings
- 2015 – String interpolation
- 2015 – NameOf operator
- 2015 – Null-Propagating operators
- 2012 – Await/Async
- 2012 – Yield Statement
2010-2008 Features
- 2010 – Multiline Lambdas
- 2010 – Implicit Line Continuation
- 2010 – Genetic Covariance / Contravariance
- 2010 – Auto-Implemented Properties
- 2010 – Collection Initializers
- 2010 – Optional Nullable Parameters
- 2008 – LINQ
- 2008 – In line XML w/”code holes”
- 2008 – Object initializers
- 2008 – Implicit types
- 2008 – Anonymous types
- 2008 – Extension methods
- 2008 – Lambda expressions
- 2008 – The new “If” operator
2005 Features
- 2005 – Generic types
- 2005 – Custom events
- 2005 – Continue statement
- 2005 – IsNot operator
- 2005 – TryCast operator
- 2005 – Using statement
- 2005 – Unsigned types
- 2005 – Nullable types
- 2005 – Operator overloading
- 2005 – Code separation using partial types
2003-VB6 Features
- 2003 – Bit shift operators
- 2003 – Loop variable declaration
- 2002 – All initial VB.Net features
- VB6 upgrades – VB6->VB.Net upgraded projects are fully supported
Convert The Way You Want
Convert A Project
- The most accurate way to convert your VB.Net code
- All identifiers are resolved to project code or external assemblies (critical to accuracy)
- Potential conversion problems are identified in your VB.Net code
- Conversion notes inform you of interesting events during conversion
- Any uncorrected C# compiler errors are shown
- Side by side VB.Net/C# browsing and editing in Visual Studio like environment
- Comprehensive reporting available
Convert Multiple Projects
- Invokes the project converter on multiple projects
- Conversions performed in parallel using multiple cores
- Groups of projects can be organized and named
- Drag and drop support from Windows Explorer to build project groups
- Convert all your projects with one click, then focus on the ones with C# compiler errors
- Comprehensive reporting available
- VBConversions uses this feature for its regression tests
Convert Code Snippets
- Convert VB.Net or ASP.Net code snippet to C#
- Choose VB version to use when converting (2003-2019)
- View/edit VB.Net and C# code side by side
- Load/save files or copy/paste from clipboard
Command Line Converter
- Convert from the command line without gui
- Convert a single line of code as an argument
- Convert individual files
- Convert a project
- Convert a group of projects in parallel
You Control The Conversions
Conversion Options
- Determine if temporary variables should be used with ref/out arguments or With statements for maximum accuracy
- Choose if local variables should always be initialized to default values or only when necessary
- Specify global VB.Net and C# search/replace strings
- Decide if automatic C# compiler error correction should be used
- Many more conversion options available
More Conversion Options
- Decide if reference parameters should be converted to value if not updated in called method
- Determine if unreachable code should be commented out
- Choose if you want dynamic variables to be used when necessary to prevent late binding errors
- Decide if VB namespace functions (Left, MsgBox, Trim, etc.) are converted to .Net equivalents
Output Options
- Stylistic control of C# indentation and bracket placement
- Flexible target file placement using template based approach
- Determine if linked files should be copied or referenced
- Choose file encoding for international projects
Usage Options
- Control program navigation to speed up conversions after familiarization
- Determine amount of parallelism to use when converting multiple projects
- Decide how to handle file access errors
- Choose Potential Problem and Conversion Note severity levels to report on
More Features
Improve Your Code As It Converts
- ByRef parameters changed to by value if not updated in method
- VB namespace functions like Left, MsgBox, Trim, etc. are converted to .Net equivalents
- On Error Gotos converted to Try/Catch blocks, even complicated scenarios
- Casing inconsistencies are identified and fixed
- Dead code is detected and commented out
- Type conversions are automatically performed when necessary
- Late binding eliminated when possible by using dynamic variables
Easy To Use
- User interface is very intuitive and easy to use
- Side by side VB.Net / C# code browsing and editing in Visual Studio like environment
- Potential conversion problems are identified so you can fix in your VB.Net code
- Conversion notes identifies problem areas or things of interest during conversion
- Any C# compiler errors encountered conversion are identified
- Keep organized by marking issues fixed as “worked” in the code browser
- Comprehensive reporting is available
Unprecedented Accuracy
- VBConversions uses a unique architecture, built specifically for VB.Net to C# conversions
- Most converters use generic syntax-only translators, which aren’t powerful enough to resolve VB’s many ambiguities.
- VBConversions analyzes and understands your code, and digs through the correct versions of referenced assemblies.
- This in-depth analysis is crucial to resolving issues such as inconsistent casing, and determining whether a(b) should be converted as a(b), a[b], or a.DefaultProperty[b].
- Converted C# code is compiled and error messages responded to and used to fix errant C# code, much in the same way a human would.
- This approach is unique to VBConversions and responsible for its high conversion accuracy rate.