What’s New in Version 3.06

Released 9/15/2013

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

Click Here to Download

Version 3.06 contains many enhancements and a number of improvements in conversion accuracy, thanks to the detailed feedback and interaction with many customers.

Enhancements

  • Dynamic variables are used to convert late binding in VB (VB2010 and above):

version306a

If you don’t want this behavior, it can be turned off in the Options, General section:

version306b

  • Line continuations in VB are honored in C#:

version306c

If you don’t want this behavior, it can be turned off in the Options, General section:

version306d

  • Prevention of line “garbling”: if automatic C# compiler error correction is unsuccessful, the original converted C# code will be output.  This prevents line “garbling”, which can occur after multiple C# compiler correction attempts.  This can be controlled in the Options, Compiler error correction section:

version306e

  • VB and C# compile screen now has a “Stop Compiling” button:

version306f

  • The multiple projects conversion screen now has columns for VB and C# compile status and conversion time:

version306g

Conversion logic fixes / enhancements:

  • Correctly convert structures which implement interfaces.
  • Fixed error converting Multi-Line Lambdas within BeginInvoke.
  • Correctly converts auto-implemented property backing fields, removing preceding from “_” from field name
  • Fixed error converting auto-implemented properties with default values which implement an interface member.
  • Fixed issue where references to named constants were converted with the constant value, rather than the name.
  • Improved ability to detect type of “With” expressions, to reduce late binding.
  • Improved CS0037, CS0426, CS0117, and CS0234 compiler error correction.
  • Unitialized variables now default to more readable values like 0 or “” for common types, instead of default(int), default(string), etc.
  • Successfully convert array initializers with commas, like New Object(,) {{1, 2}}.
  • Corrected error initializing complex data structures via “From” keyword.
  • Fixed error converting generic definitions which contain multi-dimensional array types specified, like “List(Of Boolean()())”.
  • Fixed error converting Redim statements on multi-dimensional arrays.
  • ReDim variables which are routine arguments are recognized as being modified, so by reference modifiers are retained instead of converted to by value.
  • ReDim statements now handles an array of generic types.
  • Extension methods defined in external assemblies recognized and resolved correctly.
  • Fixed problem converting references to three dimensional arrays and higher.
  • Now successfully converts VB static variables which are initialized to non-static values.
  • Succesfully convert Paramaterized property sets with generics, like SessionWrapper(Of EType).Item(s_Name) = result.
  • Fixed error of default(Var) getting issued.
  • Corrected error of converting property get and set lines with attributes in vb2010 and above
  • if generic type initialized to null, specify default(T): Public Value As T = Nothing -> public T Value = default(T);.
  • Changed parameterized properties to convert to get_PropertyName and set_PropertyName instead of PropertyName and SetPropertyName, to be consistant with VB internals.
  • Fixed error converting enum members which are assigned ASCII values like Asc(‘0’).

See complete version history >