2009-01-12 134 views
3

我有一個VB5(非.net)項目,我想升級到c#項目。有沒有人有任何建議方法或免費工具,可以幫助我這個。如何將VB5項目轉換爲c#項目

感謝

布拉德

+2

我知道「deltree」會將您的VisualBasic文件轉換爲可用的正確空閒磁盤塊,這次可以正確寫入它。 :-) – 2009-01-12 15:43:09

+0

這是一個很好的。我應該告訴那些在這裏工作的VB老粉絲... – 2009-01-12 15:56:40

+0

@divo - 我在一個關於將Fortran轉換爲C的問題上首先聽到了這個笑話,這讓你知道它有多大。 – 2009-01-12 16:00:07

回答

21

您是採用了直板改寫更好。

0

我知道存在一個轉換工具,不知道如果有一些vb5。

但是,我建議執行該項目的重新設計,利用vb5中不可用的.net功能。特別是爲OO語言重新設計會很好。

2

我會建議首先將項目轉換爲VB6。從那裏往前走容易得多。有很多工具可以幫助你做到這一點。有VBMigration Partner,有vbto。我還沒有嘗試過如此YMMV。

如果成本是一個限制,你可以試試這個:Visual Studio中有一個嚮導,它將嘗試將VB6升級到VB.NET。它不是100%準確的,你將不得不編寫VB.NET不支持的東西,例如控件數組等。一旦代碼在VB.NET中,你可以使用一個工具如SharpDevelop將VB.NET轉換爲C# 。這會有點乏味,但我想所有的道路,無論多麼複雜,都會導致羅馬。

1

如果您要將VB5轉換爲.NET(無論是C#還是VB.NET),最快的方法是從0重新啓動您的實現,以便充分利用.NET Framework類。我不知道是否有工具可以自動執行此轉換。

2

如果您能夠將它遷移到VB6,您可以使用code advisor來了解如何修復您的項目以與vb.net兼容,然後您可以遷移到vb.net,以防萬一它成功後,您可以使用this工具將其轉換爲c#或Reflector

我給它1x10 ^( - 100)%的機會來工作。 祝你好運。

0

將VB5遷移到C#只是爲了讓.NET永遠不是一個好的理由。我更願意仔細查看我在VB5版本中做出的假設和設計決策,重新思考它們,增加新的想法,勾畫UI並將其改進,使其更接近現代版本。

然後,這是一個新項目,我甚至不稱之爲重寫,因爲如此多的改變。

0

我已經將一個小的1層VB6應用程序遷移到C#,我將永遠不會再做它。

還有應用程序在那裏做一個相當不錯的工作從VB6遷移到VB.Net。

//馬格努斯

1

這是很少一個好主意,從一種語言做了嚴格的轉換爲另一種,特別是當它們爲VB5和C#不同。從理論上講,你可以將VB5轉換爲VB6,然後將VB6轉換爲VB.NET,然後將VB.NET轉換爲C#,但是對於我來說,輸入它時聽起來很瘋狂。

C#比VB5功能強大得多,您無論如何都不想隱藏代碼。畢竟,由於VB的弱OO功能,它可能會有一個糟糕的設計。

相反,我會推薦重新實現C#(或任何其他您想使用的語言)所需的功能。

0

我已經在過去做過,但不推薦它。在「自動遷移」之後讓項目正常工作是不值得的。我最終改寫了這個程序,因爲它而變得更好。

0

有這個做我自己,我談談參與here.

基本上是以ocdecio你正在尋找至少部分重寫的問題。您可能需要重構表單,以儘可能多地移除代碼。您還需要重構任何VB6特有的功能,以在可以在.NET中重新實現的界面後面工作。特別是圖形命令和打印機功能。遷移工具通常對任何嚴肅的項目都毫無價值。