将VB.NET 2005项目转换为C#2008项目

时间:2009-06-16 16:53:32

标签: c# .net vb.net visual-studio visual-studio-2008

是否有将VB.NET 2005项目转换为C#2008项目的工具。我正在尝试将我们的项目转换为VS 2008,并且主要将某些项目中的所有vb.NET代码移植到C#3.0 / 3.5。

8 个答案:

答案 0 :(得分:4)

我有一个类似的决定用VB.net项目。 解决方案是妥协,我决定使用双VB和C#运行。

将VB.NET 2005升级到2008很容易。

将CSharp和VB文件夹添加到App_Code和

<codeSubDirectories>
<add directoryName="CSharp" />
<add directoryName="VB" />
</codeSubDirectories>

到web.config的编译部分

正如Kev所说,它并不像您预期​​的那样直截了当,并且您可能会遇到意想不到的问题,这使得使用双语支持成为最佳解决方案

我知道这并没有直接回答这个问题,但这是一种替代方法

答案 1 :(得分:2)

您可以查看SharpDevelop。它是一个开源的.NET开发环境。 SharpDevelop内置了一些代码转换。

答案 2 :(得分:1)

看看这个。

http://www.developerfusion.com/tools/convert/vb-to-csharp/

尝试谷歌术语“将vb.net项目转换为c#项目”,你会在那里找到几个选项。

答案 3 :(得分:1)

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代码随着时间的推移逐渐移植。

答案 4 :(得分:1)

这段代码答案不是

public student ()
        {}
        private string code;
            private string name;
        public string code()
        { 
        set (code=Value);
            Get return code;

        }

答案 5 :(得分:0)

Telerik有converter你可能想看看。

答案 6 :(得分:0)

由于其他人提到了在线转换工具,我发现www.carlosag.net最适合我的代码。也许b / c我工作的其他第三方API,但似乎很多其他在线转换器只是错误输出,如果他们达到他们无法转换的行。

答案 7 :(得分:0)

SharpDevelop相当不错,但在我的公司,我们发现VBConversions提供了更加完整的转换。这是一个商业应用程序,但是在SharpDevelop上保存的时间对我们来说是明智的。

作为一个具体的例子,我们发现SharpDevelop没有正确转换的一件事是VB索引,它使用曲线括号。它似乎无法区分索引和方法调用,因此没有将索引转换为方括号。 VBConversions转换它们很好。这一件事让我们值得购买。

看起来Tangible Software与VBConversions的产品非常相似,但我对此没有任何经验。 Jon Skeet suggested但是,它一定非常好。