2008-09-10 8 views
0

VS2008のC#プロジェクトテンプレートを見ると、製品はWPFユーザーコントロールライブラリ、WPFカスタムコントロールライブラリ、Windowsフォームコントロールライブラリです。 C++で書かれたレガシーアクティブコントロールをC#と.NETの世界に移動したい場合は、どちらを使用しますか?どのC#プロジェクトタイプを使用してMFC C++のActiveXコントロールを再開発しますか?

答えて

2

あなたはすべてを一度にいくつかの異なるものをやろうとしているように聞こえる:

  1. は、Visual Studioの新しいバージョンで構築することにあなたのコードを移行します。
  2. 新しいテクノロジへの移行(ActiveXから.net)
  3. 言語を移行します(C++からc#へ)。

コードベースが小さい場合は、必要に応じてスクラッチとポートの機能を新しいコードベースから開始するのがよいでしょう。

大規模なコードベースでは、これは労力と欠陥率の両方で高価な作業であることを認識する必要があります。

順序は次のようになります。

  1. のVisual Studioの新しいバージョンにコードをインポートします。それをコンパイルしてください。各プロジェクトのプロジェクト設定を確認します。
  2. コードをリファクタリングして、mfcとactivexコードをできるだけ分離してください。あなたが始める前に、特に多くの単体テストを持っていない場合、良いリファクタリング慣行に従ってください。
  3. ActiveXレイヤーを.netに置き換えることを検討してください。
  4. MFCの置き換えに最適なGUIツールキットを検討してください。
  5. 言語 - まずマネージC++に移行することを検討してください。
  6. 管理対象のC++からC#に移行することを検討してください。

最も重要なことは、上記のすべてを行うことを正当化できることです!

0

これを行うプロジェクトテンプレートはありません。また、ユーザーコントロールを読み込んで開始することもできます。

0

コントロールをホストするターゲットアプリケーションを検討する必要があります。それがビジネスアプリケーションの行であれば、私はheardをWPFがフォームよりも大きな利点を提供していないと思っています。しかし、thisブログエントリによれば、著者は、キラーWPFは、データ視覚化のためにWPFによって提供されるグラフィカルな力を活用するLOBアプリケーションだと考えています。

最終的には、それは費用便益分析だと思います。 WPFのルートを辿って、グラフィカルデータの視覚化の将来の利益のために学習曲線のコストを支払うか、試して真の方法を守り、古いアプリケーションを開発するリスクを負いますか?

関連する問題