|
What's New
12/5/2009 - VB.Net to C# Converter 2.26 Released
Release 2.26 contains the following improvements:
- Fully supports new Visual Basic 2010
language features (Multiline Lambdas,
Implicit Line Continuation, Auto-Implemented Properties, Collection
Initializers, Array Literals, Nullable Optional
Parameters, Generic Variance).
- Improved overall performance by
approximately 10%.
- Fixed error converting LINQ within XML "code
holes".
- Corrected problem of converting an array
initializer within a CType statement.
- Fixed error converting complex With
statements.
- Corrected error with generated labels before
Else statements causing C# compiler errors.
- Improved auto-correction of C# compiler
errors, including CS0120, CS1503, CS0176,
CS0104, CS0122, CS0103, CS0428, CS0236, CS1579,
CS0266, CS0108, CS1750, CS0571.
- Fixed error converting Properties named
after some reserved words.
- Corrected problem converting a
self-referencing class variable initializer.
- Fixed problem converting complex attributes.
- Corrected issue converting generic arrays.
- Many more minor fixes and improvements.
10/13/2009 - VB.Net to C# Converter 2.25 Released
Release 2.25 contains the following improvements:
- Support for VB 2010 projects.
- Converts all VB versions (2003, 2005, 2008, and
2010) from one user interface.
- The user interface and help system has been
completely revamped.
- When opening a VB or C# project, the correct version of Visual
Studio is explicitly opened, rather than relying on the
operating system default.
- Corrected problem converting files in
subdirectories off the main project folder.
- Fixed issue of lambda variables sometimes
not being initialized correctly (thanks Phil for
notifying).
- Corrected error converting for each loop
within case block, where the loop variable is
also defined in a different case block.
- Fixed error sometimes occurring in
expressions with exponents.
- Corrected problem when converting a generic
definition with multiple parameters, when some
are array types.
- Improved automatic fixing of CS0019, CS0023,
CS0266, CS0428 and other C# compiler errors.
- Fixed problem converting constant
Microsoft.VisualBasic.FirstDayOfWeek.
- Corrected many other minor issues.
1/29/2009 - VB.Net to C# Converter 2.24 Released
Release 2.24 contains the following improvements:
- Improved handling of un-typed constants,
especially in VB 2005 and 2008.
- Lowered severity of un-typed constants
warning to low, as un-typed constants should be
converted much more accurately.
- General performance improvements
- Improved automatic fixing of CS0134 and CS0283
compiler errors.
12/15/2008 - VB.Net to C# Converter 2.23 Released
Release 2.23 contains the following improvements:
- Improved automatic C# compiler error
correcting in CS0019, CS0051, CS0117, CS0149,
CS1510, and CS1703 errors.
- XML literals which are function arguments
now converted correctly.
- Fixed problem of VB Split functions not
being converted correctly in rare situations.
- Improved dead code detection, specifically
C# code after a return statement wasn't being
marked as dead if there was a subsequent label
which can be the target of a goto statement.
- A rare problem with MySettings conversions
has been fixed.
- Fixed a problem with Resume <label>
conversions. Resume and Resume Next now
have high severity warnings issued.
- Improved ReDim conversions. Redim
statements with embedded parenthesis were
sometimes converted to brackets incorrectly.
- Fixed problem of multiple compiler constants
not being converted correctly.
- Fixed problem of On Error Goto not
converting to try-catch blocks correctly in some
rare cases.
10/20/2008 - VB.Net to C# Converter 2.22 Released
Release 2.22 contains the following improvements,
many of which were suggested by Bill Staib (thanks
Bill!):
- Added option (on by default) of converting
InStr function calls with .IndexOf methods.
- Converting numbered labels and Gotos (valid
in VB but not C#), was giving an error.
Numbered labels are now prefixed with an
underscore on conversion.
- Converting a variable named "custom" in VB
2005 and 2008 was converting incorrectly.
- Numeric literals weren't being converted to
true/false in If statements when appropriate.
- An Untyped Argument warning was being
incorrectly issued for generic arguments to
event handlers.
- Multiple generic variables defined on one
line were not being converted correctly.
- Imports statements with improper casing of
the namespace were sometimes being converted
incorrectly.
- Generic array arguments weren't being
converted correctly.
- Generic delegates and interfaces weren't
being converted correctly.
- Automatic error correction was implemented
or improved in the following C# compiler errors:
CS0117, CS0118, CS0188, CS0403, CS0446, CS0815,
and CS1587.
- Improved AddressOf conversions.
- Changed visibility of Handles clause method
if necessary to be referenced by event handler
registration.
- In VB 2008, a string literal of "?" was
being converted to "".
- If a VB Replace function had a first
argument of a character and a second as an empty
string, a run time error would result.
- String comparisons with less than or greater
than were being converted to integers rather
than use String.Compare.
- On very rare occassions, "new classname" was
being converted to "newclassname", without the
space.
9/14/2008 - VB.Net to C# Converter 2.21 Released
Release 2.21 contains the following improvements:
- Quotes are now removed when converting
#Region directives. #Region "name" becomes
#region name, not #region "name".
- A broken purchase link was fixed.
8/23/2008 - VB.Net to C# Converter 2.20 Released
Release 2.20 focuses on improving conversion
accuracy, especially in VB2008 projects. The following problems
were identified and fixed:
- Equal sign sometimes not converting
correctly in a LINQ Where clause
- a.<name>.Value was converting to
a.Elements("name").Value instead of
a.Element("name").Value
- Nullable parameterized properties not
converting correctly
- CS1955 compiler error not fixed correctly
- References to module members without
specifying module name sometimes converted
incorrectly
- Visibility sometimes converted wrong on
parameterized properties
- Exit Do / Exit While not converted correctly
in complex control structures
- Generic Collection object sometimes
misinterpreted as VB Collection object
7/6/2008 - VB.Net to C# Converter 2.19 Released
Release 2.19 contains the following improvements:
- Support for converting Compact Framework
projects!
- Support for converting inline VB Code in .aspx
and .ascx pages.
- Added import/export capability to project
groups.
- Added find / replace functionality on
project group names (useful if moving project
groups to a different drive or computer).
- The syntax of Synclock conversions has been
simplified.
- Conversion notes are now not reported on
designer generated files.
- Fixed problems converting My.Settings
references
- Fixed problem of occasionally not correcting
CS0012 compiler errors.
- Fixed problem of web page events not being
converted properly if aspx file was in a project
sub folder.
5/22/2008 - VB.Net to C# Converter 2.18 Released
Release 2.18 contains the following improvements:
- Performance improved 27%
- Drag and drop now supported between project
groups on different versions of the converter
- Fixed problems with embedded image resources
not being recognized in the C# forms designer
- Missing XML Comment warnings are suppressed
by default (can be changed in Options screen)
- Fixed problems converting import aliases
- Fixed problem of converter freezing on
non-English long comments
- Removed unnecessary MyClass warnings (for
non inheritable classes and MyClass.New)
- Fixed problems viewing side by side code on
some files
- Fixed problems converting some My.Computer.FileSystem functions
- Fixed problem with variables named "checked"
and "override" not converting correctly
- Fixed problem of #region directive between a
class and inherits line not causing the
inheritance to be recognized
- CS0657 compiler error now corrected for VB
2008
- C# reserved words in > 2nd term in an
identifier (b or c in a.b.c) are now converted
correctly
4/16/2008 - VB.Net to C# Converter 2.17 Released
Release 2.17 contains the following improvements:
- Issues with Vista and 64 bit OS
compatibility and the VB.Net 2008 converter are
resolved.
- ReDim Preserve statements on VB.Net
2005/2008 are now converted to Array.Resize.
- ReDim statements on multi-dimensional arrays
are much more accurate.
- Problem converting some project references
has been fixed.
- Fixed problem of Exit For on a For Each loop
generating a goto statement unnecessarily.
- Fixed problem converting 2008 projects with
containing a variable name of "from" or
"aggregate".
- Improved automatic C# compiler error
correcting for CS1620, CS0149, CS1527, CS0206,
CS0023, and CS0104.
- Fixed problem of some Select Case statements
being converted to If statements unnecessarily.
- Many more minor issues fixed.
3/16/2008 - VB.Net to C# Converter 2.16 Released
Release 2.16 contains Visual Studio 2008 support!
All VB 2008 features are supported, including many
some would think were unconvertible:
- LINQ queries (including Aggregate queries)
- XML Literals
- "Code Holes" in XML Literals
- Extension methods
- Lambda expressions
- Object initializers
- The new If operator
- WPF applications
- Nullable data types
- Implicit data typing
- Anonymous types
In addition to the 2008 features, 44 other
improvements were made, including:
- The creation of temporary variables during
for each loop conversions has been drastically
reduced. Variable scoping differences
between VB.Net and C# sometimes require
temporary variables.
- Select Case conversions have been completely
rewritten to provide cleaner conversions.
- Several issues with constrained generics
were fixed.
- Performance was improved, especially when
converting multiple projects.
- Problems converting interfaces with multiple
inherits clauses fixed.
- Problems converting CULng, CUShort, CUInt,
and ULONG fixed.
- Added or fixed ability to automatically
correct C# compiler errors CS0136, CS3005,
CS0542, CS0161, CS0111, and CS1025.
- Fixed multiple errors in converting My
namespace methods and added
ThreadSafeObjectProvider support.
- Fixed occasional problems converting Shadows
variables.
- Fixed problem with embedded resource files
not converting correctly.
- Corrected problem with External Source
conditional compilation directives not
converting correctly.
- Fixed problem of for each loops with a
variable type containing generic definitions not
converting correctly.
- Fixed occasional problem of Exit Do
statements not converting correctly.
- Fixed problem of variables named "now"
sometimes not converting correctly.
- Plus, many more fixes, mostly for obscure
errors.
11/9/2007 - VB.Net to C# Converter 2.15 Released
Release 2.15 contains 54
improvements made after converting
and reviewing hundreds of programs. Some of
more notable fixes/updates are:
- The type conversion engine has been
completely reworked to minimize calls to the
System.Convert.ToXXX functions, which always
works but is ugly. Implicit conversions or
casting are used where possible, with
System.Convert.ToXXX called as a last resort.
- ASP.Net event handling weren't being
converted in some
projects.
- Return statements in case blocks caused
subsequent case statements within the select
being erroneously commented out as dead code.
- All Implements clauses on a class weren't
being converted if they were on separate lines
- Not determining the correct project type
(2003 or 2005) in some cases
- Problems finding the main method in some
2003 projects
- Non-standard ascii characters in .vb files
weren't being converted correctly
- VB comparison shortcuts like 3 < X < 10
weren't being converted correctly
- Preprocessor directives in enums weren't
being converted correctly
- Complex expressions involving exponents
weren't being converted correctly
- ReDims with complex array definitions
weren't being converted correctly
- Many other other bugs were also fixed,
mostly obscure.
8/26/2007 - VB.Net to C# Converter 2.14 Released
- This release includes compatibility with 64
bit Windows Vista.
7/9/2007 - VB.Net to C# Converter 2.13 Released
This release fixes:
- Type conversions involving array references
- A C# Main method not being generated for
WinForms applications which don't use the
Application Framework.
- The C# project file being corrupted under
rare circumstances.
6/20/2007 - VB.Net to C# Converter 2.12 Released
This release fixes occasional erroneous warnings
stating that there are no vb files in the project to
be converted. 5/31/2007 - VB.Net to C# Converter 2.11 Released
This release fixes:
- Problems converting Using statements in
VB.Net 2005
- Problems with Interface inheritance
- Methods implementing interface methods with
generic parameters (VB.Net 2005)
- Problems with functions returning
multidimensional arrays
4/29/2007 - VB.Net to C# Converter 2.10 Released
More minor bug fixes and performance enhancements. 4/7/2007 - VB.Net to C# Converter 2.09 Released
(3x Faster!)
This a major performance release! Projects convert more than three times faster than version 2.08.
The Microsoft 101 VB.Net Samples convert in 10:39 minutes in version 2.08 and 2:54 minutes in version 2.09.
There were also many bug fixes and enhancements focused on making conversions more accurate:
- Events in interfaces and modules converted correctly.
- Minimizes use of temp variables when converting ref arguments.
- Fixed bug in dead code marking in Case statements.
- Automatically fix CS0107 errors - more than one protection modifier.
- If method is implementing interface, force visibility to public.
- Fix bug when converting ReDim statements with nested parenthesis.
- Drag and drop now supported between project groups.
- Compiler Error screen resizes correctly.
- Minor problems in online help fixed.
1/22/2007 - VB.Net to C# Converter 2.08 Released
Web project event handling: "Handles"
clauses on subroutines are converted to the OnEventName attribute in the control declaration
in the corresponding aspx/ascx file (just as if
you created the event originally in C#). This
is a huge improvement in web event handling.
You are now given the choice of converting
vbCrLf to "\r\n" or System.Environment.NewLine.
You can find the new option on the "VB Namespace
tab" of the conversion options screen.
Fixed a bug in which extraneous nulls would
sometimes be inserted as extra parameters in
function calls. This has been fixed. |