none
VS 2012/2013 Express Edition で、OpenCV のNuget インストール時に、Windowsデザインフォーム編集ができない RRS feed

  • 質問

  • 下記問題を確認しています。何か使用上の注意点、もしくは既知のバグなど情報がありましたら、ご教示いただけませんでしょうか。

    ●問題

     VS 2012/2013 Express Edition で、OpenCV のNuget インストール時に、Windowsデザインフォーム編集ができない

    ●再現方法

    1.Windowsフォームアプリケーションを作成(例:下記)

    http://qiita.com/episteme/items/85257fe9ff4532b23159

    2.Nuget OpenCV ライブラリをインストール

    3. ソリューションエクスプローラーの Myform.h をクリック
    4. デザイン表示画面がエラー表示になる

    2015年4月24日 15:37

回答

  • 動きを見る限り、vcxproj に Import タグで別プロジェクトファイルを読み込むだけでもうまく動きませんね。
    C++/CLI & Windows Forms & OpenCV という組み合わせをあきらめて別のアプローチを考えた方が時間的に早く解決する可能性が高いです。
    OpenCV のフォーラムにおいて1月に同様の疑問 が提示されていますが、解決していません)

    なぜ、あきらめることを第一に示すかというと、Microsoft は以下のスタンスであるためです。

    > マイクロソフトでは、Visual C++ (C++/CLI) を使用した Windows フォームアプリケーションの作成は、推奨しておりません。
    > C++/CLI は、マネージ コード と アンマネージ コードの相互運用を行う目的でのみ使用してください。
    https://support.microsoft.com/ja-jp/kb/3001686

    推奨されていないし、使わないで欲しいというニュアンスが受け取れる中、新規に作るアプリケーションで選択するのは将来性という面で苦しい立場に立たされると思われます。
    必要なところだけ、C++/CLI にしてメインは C# で作る、あるいはすべてネイティブ C++ で作ると行った道をご検討いただければと思います。

    • 回答としてマーク Kazu1234 2015年4月27日 14:20
    2015年4月25日 7:22
    モデレータ

すべての返信

  • 動きを見る限り、vcxproj に Import タグで別プロジェクトファイルを読み込むだけでもうまく動きませんね。
    C++/CLI & Windows Forms & OpenCV という組み合わせをあきらめて別のアプローチを考えた方が時間的に早く解決する可能性が高いです。
    OpenCV のフォーラムにおいて1月に同様の疑問 が提示されていますが、解決していません)

    なぜ、あきらめることを第一に示すかというと、Microsoft は以下のスタンスであるためです。

    > マイクロソフトでは、Visual C++ (C++/CLI) を使用した Windows フォームアプリケーションの作成は、推奨しておりません。
    > C++/CLI は、マネージ コード と アンマネージ コードの相互運用を行う目的でのみ使用してください。
    https://support.microsoft.com/ja-jp/kb/3001686

    推奨されていないし、使わないで欲しいというニュアンスが受け取れる中、新規に作るアプリケーションで選択するのは将来性という面で苦しい立場に立たされると思われます。
    必要なところだけ、C++/CLI にしてメインは C# で作る、あるいはすべてネイティブ C++ で作ると行った道をご検討いただければと思います。

    • 回答としてマーク Kazu1234 2015年4月27日 14:20
    2015年4月25日 7:22
    モデレータ
  • Azuleanさん、ご回答ありがとうございます。

    やはり難しそうですか。マイクロソフトが C++/CLI自体に後ろ向きであることは存じていましたが、

    例えばC# と C++ のIFはラッパーのようなものが必要になりますので、解決策があれば、と思っておりました。

    ただ、諦めるにしても、マイクロソフトに問題があることを伝えておきたく考えております。

    ここでお伝えしたことで、事実上マイクロソフトに問題が伝わったと考えてよろしいのでしょうか。

    もしくは、明示的にマイクロソフトにお伝えする手段がありましたらご教示いただけませんでしょうか。

    2015年4月26日 22:12
  • 例えばC# と C++ のIFはラッパーのようなものが必要になりますので、解決策があれば、と思っておりました。

    OpenCV.NET というものもあるそうなので、そちらも検討してみてはいかがでしょうか。
    (使ったことがないのでどの程度のものかはコメントできかねます)

    ここでお伝えしたことで、事実上マイクロソフトに問題が伝わったと考えてよろしいのでしょうか。

    もしくは、明示的にマイクロソフトにお伝えする手段がありましたらご教示いただけませんでしょうか。

    フォーラムに書くことは不具合報告とはなりません。
    Connect に書くことがそうなりますが、そもそも、C++/CLI での Windows Forms は推奨しないというスタンスから、不具合は修正されない可能性が高いです。(第三者による勝手な予想です)

    2015年4月26日 22:28
    モデレータ
  • OpenCV.NET というものもあるそうなので、そちらも検討してみてはいかがでしょうか。
    (使ったことがないのでどの程度のものかはコメントできかねます)

    OpenCV.NETは承知しておりますが、私の研究分野では、その他の条件も含めますとC++ライブラリは必須であり、全面的にC#は難しい状況であります。

    フォーラムに書くことは不具合報告とはなりません。

    Connectに書くことがそうなりますが、そもそも、C++/CLI での Windows Forms は推奨しないというスタンスから、不具合は修正されない可能性が高いです。(第三者による勝手な予想です)

    ご教示ありがとうございます。期待薄ですが、下記の報告を持って、区切りとさせていただきました。

    ttps://connect.microsoft.com/VisualStudio/feedback/details/1282717


    2015年4月27日 14:19
  • C++ の他の資産を使わないといけないと言うことであれば、そうですね。
    画面や新規ロジックを C# にして、必要な部分は C++/CLI をかませるか、SWIG のようなラッパー生成のツールを使うかですね。

    2015年4月27日 15:36
    モデレータ