What’s New in Version 5.03

Released 4/8/2018

Current registered users: This program will install side by side with your previous installation and not overwrite it.
For new trial users: There is a 15 day trial period, 2000 line limitation per project converted.

Click Here to Download

Version 5.03 contains a number of improvements, thanks to the detailed feedback and interaction with many customers.

Conversion Improvements:

  • And/Or can optionally be converted to non-short circuited boolean operators & and | for maximum compatibility.


  • The converter usually detects the correct Visual Studio version of the project to convert.  If not, this can now be overridden in the project conversion screen.


  • For VB.Net 2015 and above – converts Imports <typename> to using static <typename>.
  • Fixed issue of converting foreach lines with implicit line continuation.
  • Corrected problem converting named argument references which are reserved words or have brackets around them.
  • Improved variable resolution accuracy, with less reliance on post conversion C# compiler error fixes.
  • Better type conversions, with less reliance on CS0266, CS0019, CS0037, CS0176 compiler error corrections.
  • Improved conversion of logic with unsigned integers.
  • Improved accuracy in converting old style VB code where the function return value is set by assigning to the function name.
  • Improved conversion accuracy by adding parenthesis after well-known methods if the context can’t be determined.
  • Simplified conversions of groups of enums being and/or’d together. Removed unnecessary casts to int.
  • Fixed issue of converting a lambda expression within a function.
  • Corrected problem of converting an anonymous class with the “Key” keyword.
  • Corrected issue of converting VB.Net global namespaces.
  • Fixed error converting Class Library projects with a startup object defined in the project file, which isn’t allowed in C#.
  • Fixed issue of converting overridden methods with generic constraints, which prevents CS0460 errors.
  • Corrected error of a using statement sometimes being output in a multi-line lambda.
  • Fixed problem converting method arguments with a default enum value that is a reserved word.
  • Fixed error converting a class named “Trim”, which would have parenthesis added in error when referenced.
  • Corrected issue of variable named “func” being converted as “Func”.
  • Fixed error of inline null checks ?. not being converted correctly after a TryCast or CType call.
  • Corrected problem of converting a Case statement with implicit line continuations.
  • Fixed error of type names being occasionally converted with parenthesis afterwards, if named the same as well known methods.
  • Corrected problem of converting For Each loops with implicit line continuation and a temporary variable defined.
  • Improved conversion of complex inline array declarations.
  • Fixed problem where an invalid cast to an external type with `1 at the end would be applied.
  • Corrected issue converting a TypeOf statement referencing an array, such as “a is b()”
  • Fixed problem converting array literals, which sometimes would not put a “new []” in front.
  • Corrected error converting Linq expressions within lambda routines, where the “from” keyword would be omitted.
  • Improved conversions of complex attributes.
  • Delegates, enums and classes are now initially output with visibility of their highest reference, to prevent inconsistent accessibility errors in C#.
  • Fixed issue of decimal literals in attributes not being converted correctly.
  • Improved type detection in complex string expressions

See complete version history >