【问题标题】:Is it possible to take a half done web application that has been started using VB.NET and continue using C#是否可以使用已使用 VB.NET 启动的半完成 Web 应用程序并继续使用 C#
【发布时间】:2011-08-29 00:17:35
【问题描述】:

最近有一个人带着一个使用 VB.NET 创建的半成品网络应用程序来找我,没什么大不了的,只是一个普通的网站。他原来的程序员无法继续,所以他希望我完成它。问题是我不使用 VB.NET 进行编程,也没有打算为这么小的项目学习它。通常我会逃避这样的事情,但我需要现金。 我应该接受该项目并使用 C# 继续它还是直接离开它。有没有人有过类似的经历,结果如何。

【问题讨论】:

    标签: c# vb.net


    【解决方案1】:

    您也可以只 bite the bullet 并在 VB.NET 中完成它。这样您就不必担心转换的变幻莫测或管理多种语言的代码库。我知道这听起来可能不太好听,但是从 C# 跳转到 VB 并没有那么难,甚至没有太大的跳跃。

    注意:词源 link 添加给可能不熟悉“咬紧牙关”成语的人。

    【讨论】:

    【解决方案2】:

    可以,是的。这并不意味着它会很漂亮。

    你有两个选择(在我看来):

    1. 将现有代码从 VB.NET 转换为 C#,然后完成应用程序(为您留下 100% 的 C# 代码库)。

    2. 将 VB.NET 逻辑迁移到单独的程序集中。然后,您可以将该程序集与您的 C# 代码分开构建,并将其作为其他所有内容的参考。

    无论哪种方式,都可能涉及大量工作。

    【讨论】:

      【解决方案3】:

      如果这是一个“网站”,您可以同时使用 C# 和 VB.NET。请参阅 ASP.NET 网站中的共享代码文件夹,地址为 http://msdn.microsoft.com/en-us/library/t990ks23(VS.80).aspx。代码隐藏可以是任何一种语言。在处理页面时,如果需要,您可以迁移任何 VB.NET 代码。

      【讨论】:

        【解决方案4】:

        如果您可以将 VB 代码移动到单独的程序集中并从 C# 中调用其中的函数,那就更好了——我不建议您在同一个应用程序的同一层中使用两种语言。 您还需要考虑应用程序的支持和维护。如果它在同一层中同时使用 VB 和 C# 来完成,那么无论是为自己还是为他人维护站点都会比正常情况更复杂——从长远来看,这种复杂性甚至可能会让您的客户付出更多的代价。

        【讨论】:

          【解决方案5】:

          如果不预编译,我认为 ASP.NET 站点项目可以混合使用它们使用的语言,因为它们在使用前就已编译。

          http://www.drdobbs.com/web-development/199701178;jsessionid=IFM3WABNVTC0FQE1GHOSKHWATMY32JVN

          老实说,我会以此为借口对 VB.NET 有一个实际的了解——这并不难,而且值得一试。

          【讨论】:

          • 作为一个花时间深入了解 VB.NET 的人,我认为除非有真正的业务需要,否则我会反对“值得做”的想法。
          • 也值得一试,因为并非所有代码示例都使用 C# - 从开发人员的角度来看,这再次值得一试,因为您不知道下一个雇主的代码库是什么。
          【解决方案6】:

          既然你说这是一个未完成的小项目,我就使用免费的在线转换器自动将代码从 VB.Net 转换为 C#。他们有时会失败,但大部分都是显而易见的,无论哪种方式,你都不会相信别人的半成品代码,对吗?因此,无论如何,您几乎都必须逐行查看它的工作原理,然后才能解决任何剩余的转换问题。

          【讨论】:

            【解决方案7】:

            如果你可以将它编译成它自己的 dll,你可以在 c# 中完成其余的工作。或者通过那里的一些转换器运行它并修复需要的东西。

            【讨论】:

              【解决方案8】:

              我认为这也取决于您使用的 .NET 框架版本,以及您可以采用的方法。
              如果是 1.1,我认为您坚持使用 VB.NET,除非您可以将所需的附加代码分离到新程序集中并从现有项目中引用它。
              如果是 .NET 的更高版本,我相信您可以混合使用 c# 和 vb.net 类,但显然不能在类和页面中混合使用语言。
              老实说,您最好还是按照建议转换为 c#,或者冒险尝试并利用它作为了解 vb.net 语法的机会。
              我会选择后者。

              【讨论】:

              • 我认为在 Visual Studio.NET 中,您始终可以在同一个项目中组合使用不同语言(VB、C++ 和 C#)编写的模块。如果那不可能,那就太奇怪了。毕竟,它们都产生相同的字节码。
              • @PauliL 这就是我将 c# 分离成一个新程序集并引用它的意思。我想在这种情况下使用“程序集”是一个糟糕的选择,模块或项目会更好。我的观点是在 1.1 中,您不能在同一个项目中使用 c# 编写一个类和 vb.net 中的另一个编写器。
              【解决方案9】:

              嗯,我没有使用过this kind 的任何工具,但是上面提到的代码转换器工具已经足够多了。或许你可以试试看?

              【讨论】:

                【解决方案10】:

                您可能想试试 SharpDevelop 的代码转换器。在http://wiki.sharpdevelop.net/Code%20Converter.ashx 上查看离线代码转换器。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2011-07-11
                  • 1970-01-01
                  • 2012-10-14
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多