将.bas文件移植到vb.net

时间:2011-02-21 15:07:07

标签: vb.net vb6-migration

我正在研究一些传统的VB5 / VB6代码,需要将“.bas”文件转换为vb.net。

我找到了几个选项

  1. 将.bas文件编译为com dll,然后引用并在我的项目中使用它。 (为此,我想我需要vb5或vb6,我没有这个功能)

  2. 将文件内容复制并粘贴到vb.net中的新模块中,然后逐个尝试解决错误。

  3. .bas文件的内容引用了一个特定的dll。 .bas文件主要包含声明consts,类型,子和函数。

    在vb.net中重做这个的最优雅的方法是什么。它是否与选项2一样简单。

    修改

    我使用VS2008 express并通过升级向导运行代码,它进行了必要的转换。并且.bas文件已转换为.vb。我拿了那个文件并决定重写代码的其他部分,包括重做转换后的.vb文件。

    与此相关的其他问题是here

3 个答案:

答案 0 :(得分:6)

考虑重写作为替代方案。根据我的经验,从长远来看,这比依靠不透明的COM库或使用VB6迁移向导并拾取它吐出的碎片的工作量少。

根据您对.NET的了解,单个VB6模块的重写不应该花费很长时间。如果您刚刚开始使用.NET,那么这可能需要更长时间,但它也将为学习.NET提供良好的机会。

答案 1 :(得分:1)

Microsoft提供了guidance如何处理,包括尝试将VB6代码转换为.NET的应用程序

这包括您的解决方案,除了转换器有助于解决方案。

这取决于VB6代码的复杂程度及其作用。

但是,如果您必须支持并更改VB6代码,那么现在可能值得进行转换。

答案 2 :(得分:1)

转换到vb.net有很多优点 - 与未来(可能是当前)系统的兼容性和可维护性是最重要的。将其作为dll保留的主要优点是节省开发时间,但如果将来存在兼容性问题,这可能会适得其反。

如果代码现在在VB6项目中,或者它可以添加到一个项目中,您可以使用vb.net打开.vbp项目文件,它会询问您是否要自动将其转换为vb。净。它做得非常好,不包括第三方附加组件。