.NET代码转换指南

在编程领域,代码转换是一个常见需求,尤其是在需要将旧代码库迁移到新的平台或语言时。本文将介绍如何将不同编程语言的代码转换为.NET环境下的语言,包括VB6、ASP、Java、PHP、Delphi、C++和ColdFusion等。

在许多编程论坛上,经常可以看到与代码转换相关的问题。例如,一个使用VB.NET的用户可能会收到一个用C#编写的解决方案,而不是他们期望的VB.NET。这时,用户可能会询问如何将代码转换为VB.NET。虽然在线转换器是一个选择,但有时用户可能因为网络连接问题而需要一个离线转换器。本文旨在为这些用户提供帮助。

SharpDevelop:.NET的开源开发环境

SharpDevelop是一个开源的.NET开发环境,可以从下载这个工具。它提供了丰富的功能,并且有一个,可以通过它来解决任何疑问。使用SharpDevelop,可以轻松地进行代码转换。

目前,SharpDevelop支持以下语言的代码转换:

  • C#
  • VB.NET
  • Boo
  • Python
  • Ruby

安装SharpDevelop后,创建一个空白项目并编写一些代码。例如,在这里编写了一些C#代码。现在点击“工具”菜单,选择“转换代码为”选项,并选择想要转换的语言(在这里,选择了VB.NET)。就这样,代码已经被转换,并生成在一个新的文件中。

除了SharpDevelop,还有一些离线转换器,例如:

  • Econ NetVert
  • fish's dotNET

在进行代码转换之前,请确保代码是可工作的。例如,如果遗漏了一个大括号或其他东西,那么转换将显示语法错误而不是输出。

从SharpDevelop:

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.

即使转换器也不会100%转换代码。主要原因是某些功能在特定语言中不存在,请参阅“进一步阅读”部分。即使商业工具也只能转换99%的代码,或者可能需要重写代码。

阅读并查看这篇文章,其中包含了避免/重写代码的好和坏的理由。

.NET中的多种编程语言

如果不想转换代码,也可以在应用程序中使用多种代码,参见以下内容:

  • 在网站项目中使用多种编程语言的教程
  • 在Visual Web Developer中使用网站中的共享代码的教程
  • ASP.NET网站项目中的共享代码文件夹
  • ASP.NET网站中的共享代码文件夹

VB6到.NET

Christian Graus写道:

VB6已经过时了十年,而且一直很糟糕。为什么在2011年还有人在使用VB6?自虐?一个拒绝与时俱进的恐龙?VB6已经死了,而且一直是个笑话。为什么还在使用它?

在VS中,有一个向导可以将VB6转换为VB.NET。据所知,没有免费软件可以将VB6转换为VB.NET。顺便说一句,即使使用转换器转换代码,也不会100%成功,需要做一些/更多的手动更改。特别是如果使用了任何第三方组件,那么这将是一个大麻烦,因为它们(第三方)总是在每个版本中改变东西,所以VB6代码将在VB.NET中显示语法错误。

  • 迁移VB项目到VB.NET
  • 将VB6升级到VB.NET
  • 为Visual Basic 6.0应用程序准备升级到Visual Basic .NET
  • 如何将Visual Basic 6.0项目组升级到Visual Basic .NET或Visual Basic 2005
  • 将VB6转换为VB.NET
  • 免费书籍 - 将Microsoft Visual Basic 6.0升级到Microsoft Visual Basic .NET

ASP到.NET

将ASP转换为ASP.NET

  • ASP到ASP.NET 1.x迁移助手

Java到.NET

Java语言转换助手2.0

  • Java语言转换助手是一个自动将现有Java语言代码转换为VisualC#的工具。

微软公告:

由于客户告诉现有的J#功能集基本上满足了他们的需求,并且J#的使用量正在下降,微软将退役Visual J#产品和Java语言转换助手工具,以便更好地分配资源以满足其他客户的需求。J#语言和JLCA工具将不会出现在Visual Studio的未来版本中。为了保护客户在J#上的现有投资,微软将继续支持与Visual Studio 2005一起发布的J#和JLCA技术,直到2015年,按照产品生命周期策略。
  • Janett - Java到.Net翻译器
  • CSharpJavaMerger框架
  • Eclipse中的Java到CSharp翻译器

PHP到.NET

从PHP迁移到ASP.NET

  • PHP到ASP.NET 1.x迁移助手

Delphi到.NET

Delphi.NET

  • 是一组开源工具和代码组件,使Borland Delphi(5或更高版本)能够与Microsoft .NET框架通信。

C++到.NET

  • (C++到C#,VB.NET,XML模型)
  • 从C++迁移到C#:需要知道什么

ColdFusion到.NET

  • 将AnandTech从Macromedia ColdFusion迁移到ASP.NET
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485