Features

Everything Is Supported

All Versions

  • 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

  • Windows Forms Projects
  • Web Projects
  • Console Projects
  • Class Library Projects
  • Mobile Projects
  • WPF Projects
  • WCF Projects
  • Silverlight Projects
  • Lightswitch Projects

Latest Features (2017-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
infinity
screenshot

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-2015)
  • 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
options

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.