アンマネージドC++とマネージドC++(C++/CLI)との混在環境において、windowsフォームデザイナを利用する方法

今、わけあって内部コードはネイティブC++、ガワは.NETフォームで、というアプリを作っています。

C++/CLIで書いているので、コードのクラスレベルでの混在はまったく問題ありません。
しかし。何故か同じプロジェクト内にフォームを置き、ユーザーコントロールを作ると、そのコントロールがデザイナにおいて「見つかりません」というエラーが出て追加できない、という現象が起きます(コードで直に設定すれば動く)。

この問題に数日悩んでいたんですが、今日ようやく原因が分かりました。コンパイラオプションで"共通言語ランタイムサポート"を /clr にすると駄目みたいです。/clr:pure にするときちんと表示されます。さらに、どれかひとつのソースのオプションを /clr にするととたんに読み込みエラーが起きます。しかしネイティブコードがあるので /clr じゃないとコンパイル通らないという。

この現象を避けるには、フォームとコントロール、またはコントロールのみを別プロジェクトに置くしかなさそうです。うーん、変なところで制限があるんですな。最初からMFC勉強したほうが良かった・・・かも。まぁこれはこれで勉強になるからいいけれども。