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.
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