0

私は Visual Studio 2008 で VB.NET を使用してカスタム コントロールを作成しました。これにより、サーチ アンド レスキュー アプリに広範なマッピングおよび追跡機能が提供されます。私が抱えている問題は、コントロールが適切に機能するために必要な多くのディレクトリを見つけるために、多くの場所でメインアプリケーションの実行可能ファイルへのパスを定義する必要があることです。VS で使用している場合はすべて正常に動作しますが、別のソリューションのフォームにコントロールを埋め込もうとすると、次のエラーが発生します。

コンポーネント 'MainControl' の作成に失敗しました。エラー メッセージは次のとおりです。

これは、Visual Studio プログラム パスで \GIS\Data\Default ディレクトリを探していることを示しているようですが、Application.StartupPath を使用してコントロール全体でこの場所を定義しました。

このエラーは、コントロール ソリューションの外部のフォームにコントロールを埋め込もうとした場合にのみ発生します。このコントロールを開発するために作成したソリューションには、2 つのプロジェクトがあります (1 つはコントロール用で、もう 1 つはデバッグを行うためのテスト フォーム用です)。

誰でもこれに関するガイダンスを提供できますか?

4

1 に答える 1

1

これは、コントロールがデザイナーで使用されているときにコードを実行すると発生します。Visual Studio のフォームにコントロールをドロップすると、コンストラクター、Load イベント、Paint イベントなどが実行されます。

現在の作業ディレクトリが間違っている場合に、このコードが実行されてクラッシュするのを防ぐには、DesignMode プロパティを使用する必要があります。デザイナーでは間違っています。作業ディレクトリは Visual Studio のものであり、最終的に使用されるアプリのものではありません。または、相対パスではなく絶対パスを使用してください。

それでも問題が解決しない場合は、設計時の問題をデバッグする方法について説明されています

于 2010-07-30T23:11:39.310 に答える