2012-02-08 8 views
-1

COM-interop経由で大きなC#(.NET 2.0)コンポーネントを使用するVB6製品を引き継ぎました。C#(.NET 2.0)コードをVB6に変換するコンバータ?

可能であれば、COM-interopレイヤーを削除するために、C#コンポーネント(Winforms)をVB6にダウングレードしたいと考えています。

これを行うコンバータはありますか?

+2

.net WinFormsライブラリを意味しますか?そうであれば、C#コードを変換するだけでなく、.netフレームワークの使用を置き換えることもできます。 – Douglas

+1

本当は不可能です。なぜあなたはこれをしたいのですか? – iandotkelly

+4

私はそれを見たことはありません。コードベースのサイズに関係なく、VB6コードをアップグレードするほうがよいでしょう。 VB6は、あなたのコードは未来に見えるように、途中でです。 –

答えて

2

これらのプラットフォームの性質が非常に異なるため、これは可能ではないと思います。

+0

それだけでなく、 "C#"は動いているターゲットなので、 "どのC#?"しかし、問題は ".net-2.0"とタグ付けされているので、フィールドを狭めることができます。それでも、コンバーターは非常にうまくいくためにはヒドラヘッドでなければなりません。 – Bob77

+2

Bobのコメントを拡張するために、多くの異なるバージョンのC#が.NET 2.0をサポートしています。言語バージョンは、ターゲットフレームワークのバージョンに関連付けられていません。しかし、この答えは基本的には真実です。つまり、.NET Frameworkライブラリがないと、C#コードをVB 6に移植することは基本的に不可能です。あなたはVB6でBCL全体を書き直します。私は数ヶ月を費やす楽しい方法ではなく、完了したらすぐにそれを見せてくれるでしょう! –

0

私はあなたの最善の策は、C#からVB.NETに移行するコードコンバータを使用することだと思います。

グーグル:

「のVB .NETのC#は、」あなたはおそらく、このコンパイルを取得し、中間ステップとして活躍でした。

次に、VB6でそれをポップし、 "動作させる"ようにしてください。

多くの人があなたがこれをやりたい理由を訴えています...彼らにはポイントがありますが、これは私がそれをやり遂げる方法です。しかし、私はむしろVB6のコードをVB .NETに移動するでしょう:)

+0

それをVB6に投げ込むとどういう意味ですか? VB6 IDEはどのようにコードを理解しますか? – CJ7

+0

私の主張は、VB .NETはVB6にはC#よりもはるかに近い点です。あなたはそれを働かせるためにまだ多くの仕事をしなければなりません。 – Derek

+3

VB.NETコンバーターは本当にあなたを遠くに逃がさないでしょう。 VB.NETの構文は、VB 6の構文とはかなり異なっています。もちろん、変数の宣言は正しく行われますが、それはおそらく重要ではないコードベースのものです。また、VB 6には存在しない.NETライブラリはもちろん、構文が正しく変換されても、コードはコンパイルされず、有用なことはありません。 –

関連する問題