Table of Contents
Introduction
This post explains how to convert the code in .NET.
Background
In a lot of programming forums, you can find some questions related to code conversion. For example, an enquirer asks a question in VB.NET & answerer(s) posting solution(s) but unfortunately it's in C# (instead of VB.NET). After seeing the solution(s), the enquirer replies something like "My project developed in VB.NET but your solution is in C#, blah blah blah ....". Then answerer's reply will be something like "You can convert the code, search in web for code convertors". But sometimes, the enquirer wants an offline convertor (Reason may be the Internet connection). So this simple post would be useful for them.
SharpDevelop
It's an Open Source Development Environment for .NET. You can download the tool here. Also take a look at the features of SharpDevelop & they have a forum so if you have any questions, that will help you. Using this, you can convert the code.
Supported Programming Languages
For Code conversion, currently SharpDevelop supports the following languages:
- C#
- VB.NET
- Boo
- Python
- Ruby
Code Conversion
After installation, create a blank project & write some code. Here, I have written some C# code. Now click Tools menu, select option Convert code to & select the language which you want (Here, I have selected VB.NET). That's all. Now the code has been converted & generated in a new file.
C# Code
VB.NET Code
Online Convertors - Alternative Way
Offline Convertors
Addin(s)/Web Services
Addins created from online code conversion Web services.
A Visual Studio Add-In That Converts C# Code To Visual Basic
Before Conversion
Make sure your code is working, for example if you miss single {or any other things, then the conversion will show you syntax error(s) instead of output. See below:
The converter uses SharpDevelop's NRefactory to perform the conversion. For the conversion to work properly, you have to paste a full class or source code file because we don't do "magic" RegEx's or string replacement - our code converter uses a full blown parser, and that's why the source code must be valid.
Even convertors won't convert the code 100%. The main reason is some features doesn't exist in particular language, see the Further reading section. Even Commercial tools convert the code only 99% or probably you need to code rewrite.
Remember, if you want to convert VB6 to C#, don't go with that option. Convert VB6 to VB.NET using VS wizard & make sure the code is working and then do VB.NET to C#
Code Rewrite
Read about Rewrite (programming) & check this post Rewrite Code From Scratch which contains good & bad reasons to avoid/code-rewrite.
Multiple Programming Languages in .NET
Alternatively, you can use both code in your application if you don't want to convert the code, see below:
VB6 to .NET
VB6 is obsolete by a decade and was always horrible.[^]
Why is anyone still using VB6 in 2011 ? Self loathing ? A dinosaur who refused to move with the times ?[^]
VB6 is dead and was always a joke. Why are you using it ? [^]
In VS, you have a wizard to convert VB6 to VB.NET. AFAIK, there is no freeware to convert VB6 to VB.NET. BTW, even if you convert the code using convertor, it won't do that 100%, you need to make some/more manual changes. Particularly if you used any 3rd party components, then it will be a big headache because they (3rd parties) are always changing things in every version, so the VB6 code will show syntax error(s) in VB.NET. Check this bunch.
ASP to .NET
Java to .NET
- Java Language Conversion Assistant 2.0 - Java Language Conversion Assistant is a tool that automatically converts existing Java-language code into Visual C#
Retirement of J# language and Java Language Conversion Assistant from future versions of Visual Studio Since customers have told us that the existing J# feature set largely meets their needs and usage of J# is declining, Microsoft is retiring the Visual J# product and Java Language Conversion Assistant tool to better allocate resources for other customer requirements. The J# language and JLCA tool will not be available in future versions of Visual Studio. To preserve existing customer investments in J#, Microsoft will continue to support the J# and JLCA technology that shipped with Visual Studio 2005 through to 2015 as per our product life-cycle strategy.
- Janett - Java to .Net Translator - Janett translates Java syntax, constructs and calls to Java libraries to C# / .NET counterparts.
- CSharpJavaMerger Framework - Free and open source C# and Java conversion tool.
- Java 2 CSharp Translator for Eclipse - That tool makes it possible to automatic translate Eclipse Java projects into Visual Studio projects. Generated code can be directly compiled and executed without any user modification.
PHP to .NET
Delphi to .NET
- Delphi.NET - is a collection of Open Source tools and code components that enable Borland Delphi (version 5 or higher) to communicate with the Microsoft .NET-Framework.
C++ to .NET
ColdFusion to .NET
Videos
Further Reading
History
- 06-Jan-2012 - Initial post
- 08-Jan-2012 - Added Online Convertors, Addin(s)/Web services, Code Rewrite, VB6 to .NET, etc.
- 18-Jan-2012 - Added ASP to .NET, Java to .NET, PHP to .NET, Delphi to .NET, C++ to .NET, Videos
- 04-Feb-2012 - Added ColdFusion to .NET, Table of Contents