【问题标题】:Convert VB.NET code to C# [closed]将 VB.NET 代码转换为 C# [关闭]
【发布时间】:2011-03-18 22:13:16
【问题描述】:

是否有可以用来将 VB.Net 代码转换为 C# 的库?有http://codeconverter.sharpdevelop.net/,但我不想通过网络服务使用它。

【问题讨论】:

  • 注释说服务是基于这个项目的代码icsharpcode.net/opensource/sd - 你可以下载它并在本地重新实现吗?或者联系 sharpdevelop.net 并询问他们是否可以许可他们的转换器在本地使用?

标签: c# .net vb.net code-conversion vb.net-to-c#


【解决方案1】:

在 .NET Reflector 中打开您的程序集。选择语言 C#。将源代码复制/粘贴到 Visual Studio。尝试编译。

【讨论】:

    【解决方案2】:

    有很多在线服务:Telerik provides one,这里是 one other,最好的服务之一是 developer fusion。但是这些都是在线的。

    我对@9​​87654324@ 有很好的体验,他们为您在转换后遇到的每个错误提供了良好的服务。除此之外,还有很多其他的可以通过 Google 获得。

    如果您使用 Reflector,请注意:它不会翻译您的源代码,而是编译后的代码。这可能会对方法内部的逻辑产生巨大的影响,最重要的是,您会丢失所有 (xml) cmets 以及可能的文件结构(例如,部分类无法识别)。当涉及到 ASPX 和内联代码时,Reflector 几乎无法使用。但它在所有其他方面都是一款出色的免费工具

    【讨论】:

      【解决方案3】:

      只需下载 SharpDevelop 4.4,它包含相同的转换器供离线使用。

      实际上,SharpDevelop 转换器甚至比在线转换器更好,因为它可以查看您的整个项目和您的参考资料。

      SharpDevelop 源代码库还包含该网站的完整源代码。都是开源的。

      【讨论】:

      • 快速测试表明 VB.NET 到 C# 的转换在 #develop 5.0 beta 中不起作用(还没有)。使用 4.4.1 对我来说效果很好。通过 Chocolatey 安装:cinst sharpdevelopchocolatey.org/packages?q=sharpdev
      • 是的,几乎所有与 VB 相关的东西都从 #develop 5.0 中删除了。考虑到我们将不得不在新架构中从头开始重新实现代码转换,因此不太可能重新添加此功能。
      • 我看到VB.NET语言服务滞后,以为只是IDE集成,而不是用于转换的核心东西。谢谢(你的)信息。那么菜单项(在Tools-Convert下)会被移除吗?
      • 是的,这将被删除。在 SharpDevelop 4 中,C# 和 VB 解析器使用通用的语法树,所以我们基本上免费获得了一个(工作不佳的)代码转换器(然后对其进行了改进)。在 SharpDevelop 5 中,C# 有了全新的语法树(NRefactory 5),我们甚至不再有 VB 解析器了。
      猜你喜欢
      • 2023-03-09
      • 2012-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-17
      相关资源
      最近更新 更多