【发布时间】:2009-06-16 16:53:32
【问题描述】:
是否有将 VB.NET 2005 项目转换为 C# 2008 项目的工具。我正在尝试将我们的项目转换为 VS 2008,并且主要将某些项目中的所有 vb.NET 代码移植到 C# 3.0/3.5。
【问题讨论】:
标签: c# .net vb.net visual-studio visual-studio-2008
是否有将 VB.NET 2005 项目转换为 C# 2008 项目的工具。我正在尝试将我们的项目转换为 VS 2008,并且主要将某些项目中的所有 vb.NET 代码移植到 C# 3.0/3.5。
【问题讨论】:
标签: c# .net vb.net visual-studio visual-studio-2008
我对 VB.net 项目做出了类似的决定。 解决方案是妥协,我决定使用双重 VB 和 C#。
将 VB.NET 2005 升级到 2008 很简单。
将 CSharp 和 VB 文件夹添加到 App_Code 和
<codeSubDirectories>
<add directoryName="CSharp" />
<add directoryName="VB" />
</codeSubDirectories>
到 web.config 的编译部分
正如 Kev 所说,这并不像您想象的那么简单,您可能会遇到意想不到的问题,这使得使用双语言支持成为最佳解决方案
我知道这并不能直接回答问题,但这是一种替代方法
【讨论】:
您可以查看SharpDevelop。它是一个开源的 .NET 开发环境。 SharpDevelop 内置了一些代码转换功能。
【讨论】:
看看这个。
http://www.developerfusion.com/tools/convert/vb-to-csharp/
尝试谷歌术语“convert vb.net project to c# project”,你会在那里找到几个选项。
【讨论】:
CodeProject 上有一个名为GBVB (Goodbye VB) 的工具,它声称可以“完美地”将 VB.NET 代码转换为 C# 代码。但是作者确实添加了一些警告,例如不明确的代码、可选参数等问题。
另一种方法是使用 Denis Bauer's Reflector.FileDisassembler .NET Reflector add-in 并将已编译的程序集反汇编回 C#。
处理 .aspx/.asmx 页面及其代码隐藏文件可能是一种特殊情况,因为您需要手动更改 <%@ Page Codebehind="Default.aspx.cs" %> 指令以指向正确的源文件。
VB.NET 到 C# 的自动转换并不像最初看起来那样简单。我以前来过这里并放弃了一个相当大的项目,有很多关于特定边缘情况的摆弄,其中翻译要么无法编译,要么在运行时产生意外行为。我选择采用双语言解决方案,所有新代码都用 C# 编写,而旧的 VB.NET 代码随着时间的推移逐渐移植。
【讨论】:
你好这个代码答案不是
public student ()
{}
private string code;
private string name;
public string code()
{
set (code=Value);
Get return code;
}
【讨论】:
Telerik 有一个 converter,您可能想看看。
【讨论】:
由于其他人提到了在线转换工具,我发现 www.carlosag.net 最适合我的代码。也许 b/c 我使用其他 3rd 方 API,但似乎很多其他在线转换器在遇到无法转换的行时就会出错。
【讨论】:
SharpDevelop 非常好,但在我的公司,我们发现 VBConversions 可以提供更完整的转换。虽然它是一个商业应用程序,但对于通过 SharpDevelop 节省的时间来说,这对我们来说是轻而易举的事。
作为一个具体的例子,我们发现 SharpDevelop 没有正确转换的一件事是 VB 索引,它使用了弯括号。它似乎无法区分索引和方法调用,因此没有将索引转换为方括号。 VBConversions 很好地转换了它们。这件事让我们值得购买。
看起来Tangible Software 的产品与 VBConversions 非常相似,但我对此没有任何经验。 Jon Skeet suggested 不过还是不错的吧。
【讨论】: