1

マネージコードとアンマネージコードの両方がDLLにコンパイルされたC++アセンブリがあります。オブジェクトブラウザですべてのクラスとそのメンバーを確認できるため、プロジェクト参照に正しくインポートされます。

問題はXAMLデザインビューにあります。XAMLコードでは、データをC ++アセンブリにバインドしたいので、次のような名前空間を使用します。

xmlns:kudu="clr-namespace:kudu;assembly=CLI"

CLIはdllの名前であり、内部にkuduという名前空間があります。デザインビューはXAMLの表示を拒否し、次のエラーを表示します。

アセンブリ'CLI'が見つかりませんでした。あなたが逃していないことを確認してください
アセンブリリファレンス。また、プロジェクトとすべてが参照されていることを確認してください
アセンブリが構築されました。

最良の部分は、実際にソリューション全体を構築でき、すべてが機能することです。C ++オブジェクトが変更されると、ウィンドウは更新されます。ただし、デザインビューがないと、開発を継続することが非常に困難になります。

なぜこれが起こるのか、どうすれば修正できるのかについて誰かが答えを持っていますか?

4

3 に答える 3

2

私が見つけた別の解決策は、Windows PATH 変数に、すべての DLL を含むアセンブリの bin ディレクトリを追加することです。

于 2008-12-15T19:52:41.293 に答える
1

これはおそらく、ide が管理されていない dll の 1 つを読み込めないために発生しています。これらを windows/system32 に移動する必要がある場合があります。

于 2008-11-10T17:16:56.900 に答える
0

この洞察に感謝します。

私の解決策は、ビルド後のイベントを使用して DLL を出力ディレクトリにコピーすることです。方法は次のとおりです。 1. プロジェクト プロパティ / ビルド イベント 2. ビルド後のイベント コマンド ラインを設定します。

path_to_dependent_dlls をコピーします。

ああ、動作を開始するには VStudio の再起動が必要であることがわかりました...

于 2009-05-08T02:51:43.527 に答える