C#、C++、および C++/CLI プロジェクトを使用したソリューションがあります。具体的には、C++ コア (アンマネージ dll が最大 5 つ)、C++/CLI コア ラッパー、およびプロジェクト固有のビジネス ロジックを備えた C# アセンブリです。
少し前に、VS 2008 フォーム デザイナー (WinForms) がコア ラッパー アセンブリを読み込めないことがあることに気付きました。VS デバッガーと Procmon で数時間過ごした後、ラッパーが依存するアンマネージ ライブラリを解決できないため、VS がアセンブリを読み込めないことがわかりました。VS は、PATH 環境変数からすべてのシステム フォルダーとフォルダーを検索しますが、ラッパー アセンブリが配置されているフォルダーは検索しません。
さらに、1 つのアセンブリに 2 つのフォームがあり、1 つは別のアセンブリから継承されています。VS フォーム デザイナーは親フォームを正常にロードし、継承されたフォームのロードに失敗します。
だから、ここに私の質問があります: 誰かがこの動作の理由を知っていますか?
PS私は回避策を使用しました:プロジェクトバイナリを含むフォルダーをPATH変数に追加しましたが、それでも理由を知りたいです。