Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / .NET

.NET Code Conversion - Convert Your Code

4.96/5 (62 votes)
4 Feb 2012CPOL6 min read 758.1K  
This post explains how to convert the code in .NET

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

C#.NET Code

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

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)