3

私の問題は、プロジェクトのビルド アクションをデバッグではなくリリースに設定すると、外部ライブラリからのコントロールが失われることです。それを使用するすべての行に次のエラーがあります。

「myControlName」が定義されていません。

コントロールはSDKライブラリの一部です(つまり、私はそれを作成しませんでした)
アクションを再度デバッグして再構築するように設定すると、問題はなくなりました。何が問題なのですか?

編集:WeifenLuo DockPanel Suiteを使用したときに、この問題に遭遇しました

今は別のライブラリですが、エラーは同じです


編集: リファレンスは、ビルド アクションをリリースに設定した後 の dll ファイルのスクリーンショットです。ここに画像の説明を入力

4

2 に答える 2

2

構成に固有のプロジェクト設定があり、デバッグとリリースで異なる値を保存します。最初に修正する必要があるのは、スクリーン ショットに表示されているように、[Project + Properties]、[Compile] タブ、スクロール ダウン、[Advanced Compile Options]、[Target CPU] です。AnyCPU から x86 に変更します。使用しているような ActiveX コントロールが 64 ビット モードで使用できることはめったにありません。コントロールを使用できるように、アプリを強制的に 32 ビット モードで実行する必要があります。

ただし、それは特定のエラーの略です。このような問題をより簡単に説明する重要なもう 1 つの設定は、フレームワーク ターゲットの設定です。クライアント プロファイルの代わりに完全なものを選択してみてください。ところで、どちらも素晴らしい説明ではありません。デバッグ構成とリリース構成の [コンパイル] タブの設定を比較して、考えられるその他の修正を追跡します。完全な外れ値の説明は、IDE を使用する代わりに .vbproj ファイルを編集して ActiveX 参照を追加したことです。[エラー リスト] ウィンドウの警告に注意してください。このような警告は、他のエラーの診断を困難にする可能性があります。

于 2012-10-03T14:00:11.600 に答える
0

コントロールをどのように参照していますか? ソリューション内のディレクトリにありますか?

プロジェクト内のソース dll を右クリックして、[プロパティ] を選択します。「出力ディレクトリにコピー」は「常にコピー」にする必要があります。

于 2012-10-03T11:14:28.423 に答える