壊れた参照のトラブルシューティングTroubleshoot broken references

アプリケーションが、壊れている参照を使用しようとすると例外エラーが生成されます。If your application attempts to use a broken reference, an exception error is generated. エラーの主なトリガーは参照先のコンポーネントを見つけられないことですが、参照が壊れていると考えられるいくつかの状況があります。The inability to find the referenced component is the primary trigger for the error, but there are several situations in which a reference can be considered broken. これらの例を次のリストに示します。These instances are shown in the following list:

  • プロジェクトの参照パスが不正確または不完全な場合。The project's reference path is incorrect or incomplete.

  • 参照されているファイルが削除されている場合。The file being referenced has been deleted.

  • 参照されているファイルの名前が変更されている場合。The file being referenced has been renamed.

  • ネットワーク接続または認証に失敗した場合。The network connection or authentication has failed.

  • 参照先が、コンピューターにインストールされていない COM コンポーネントになっている場合。The reference is to a COM component that is not installed on the computer.

    これらの問題に対する解決策を次に示します。The following are remedies to these problems.

注意

アセンブリ内のファイルは、プロジェクト ファイルの絶対パスで参照されます。Files in assemblies are referenced with absolute paths in the project file. したがって、複数の開発者がいる環境で作業しているユーザーには、ローカル環境で参照されるアセンブリがなくなる可能性があります。Therefore, it is possible for users who work in a multideveloper environment to be missing a referenced assembly in their local environment. これらのエラーを避けるためには、このような場合にプロジェクト間参照を追加することをお勧めします。To avoid these errors, it is better in these cases to add project-to-project references. 詳細については、「アセンブリを使用したプログラミング」を参照してください。For more information, see Programming with Assemblies.

参照パスが正しくないReference path is incorrect

異なるコンピューターでプロジェクトを共有している場合、コンポーネントが各コンピューターで異なるディレクトリに配置されていると、一部の参照が見つからない場合があります。If projects are shared on different computers, some references might not be found when a component is located in a different directory on each computer. 参照は、コンポーネント ファイルの名前 (MyComponent など) で格納されます。References are stored under the name of the component file (for example, MyComponent). 参照がプロジェクトに追加されると、コンポーネント ファイルのフォルダーの場所 (C:\MyComponents\ など) が ReferencePath プロジェクト プロパティに追加されます。When a reference is added to a project, the folder location of the component file (for example, C:\MyComponents\) is appended to the ReferencePath project property.

プロジェクトを開くと、参照パスで指定したディレクトリ内を検索して、これらの参照先のコンポーネント ファイルを検索しようとします。When the project is opened, it attempts to locate these referenced component files by looking in the directories on the reference path. コンポーネントを D:\MyComponents\ などの別のディレクトリに格納しているコンピューターでプロジェクトを開くと、参照が見つらず、[タスク一覧] にエラーが表示されます。If the project is opened on a computer that stores the component in a different directory, such as D:\MyComponents\, the reference cannot be found and an error appears in the Task List.

この問題を解決するには、壊れている参照を削除し、[参照の追加] ダイアログ ボックスを使用してこれを置き換えます。To fix this problem, you can delete the broken reference and then replace it using the Add Reference dialog box. 別の解決策は、プロジェクトのプロパティ ページで [参照パス] 項目を使用して、一覧内のフォルダーを適切な場所を指すように変更することです。Another solution is to use the Reference Path item in the project's property pages and modify the folders in the list to point to the correct locations. [参照パス] プロパティは、各コンピューターのユーザーごとに保持されます。The Reference Path property is persisted for each user on each computer. したがって、参照パスを変更しても、プロジェクトの他のユーザーには影響しません。Therefore, modifying your reference path does not affect other users of the project.

ヒント

プロジェクト間参照には、これらの問題はありません。Project-to-project references do not have these problems. このため、可能であれば、ファイル参照の代わりにプロジェクト間参照を使用します。For this reason, use them instead of file references, if you can.

参照パスを修正して壊れたプロジェクト参照を修正するにはTo fix a broken project reference by correcting the reference path

  1. ソリューション エクスプローラーで、プロジェクト ノードを右クリックし、[プロパティ] をクリックします。In Solution Explorer, right-click your project node and click Properties.

  2. プロジェクト デザイナーが表示されます。The Project Designer appears.

  3. Visual Basic を使用している場合は、[参照] ページを選択し、[参照パス] ボタンをクリックします。If you are using Visual Basic, select the References page and click the Reference Paths button. [参照パス] ダイアログ ボックスで、参照する項目を含むフォルダーのパスを [フォルダー] フィールドに入力し、[フォルダーの追加] ボタンをクリックします。In the Reference Paths dialog box, type the path of the folder that contains the item you want to reference in the Folder field, and then click the Add Folder button.

    または-or-

    Visual C# を使用している場合は、[参照パス] ページを選択します。If you are using Visual C#, select the Reference Paths page. 参照する項目を含むフォルダーのパスを [フォルダー] フィールドに入力し、[フォルダーの追加] ボタンをクリックします。In the Folder field, type the path of the folder that contains the item you want to reference, and then click the Add Folder button.

参照先ファイルが削除されているReferenced file has been deleted

参照されているファイルが削除されたため、ドライブに存在しません。It is possible that the file being referenced has been deleted and no longer exists on the drive.

ドライブに存在しなくなったファイルの破損したプロジェクト参照を修正するにはTo fix a broken project reference for a file that no longer exists on your drive

  • 参照を削除します。Delete the reference.

  • 参照がコンピューター上の別の場所にある場合は、その場所から読み取ります。If the reference exists in another location on your computer, read it from that location.

参照先のファイル名が変更されているReferenced file has been renamed

参照されているファイルの名前が変更されている可能性があります。It is possible that the file being referenced has been renamed.

名前が変更されたファイルの壊れた参照を解決するにはTo fix a broken reference for a file that has been renamed

  • 参照を削除し、名前を変更したファイルへの参照を追加します。Delete the reference, and then add a reference to the renamed file.

  • 参照がコンピューター上の別の場所にある場合は、その場所から読み込む必要があります。If the reference exists in another location on your computer, you have to read it in from that location.

ネットワーク接続または認証に失敗したNetwork connection or authentication has failed

ファイルにアクセスできないということには、多くの考えられる原因があります。たとえば、ネットワーク接続の障害や認証の失敗などです。There can be many possible causes for inaccessible files: a failed network connection or a failed authentication, for example. これらの原因には、たとえば、必須リソースへのアクセスについては、ローカル管理者に連絡する必要があるなど、それぞれ独自の回復方法があります。Each cause might have a unique means of recovery; for example, you might have to contact the local administrator for access to the required resources. ただし、参照を削除して使用したコードを修正することは、常に選択肢の 1 つです。However, deleting the reference and fixing the code which used it is always an option.

COM コンポーネントがコンピューターにインストールされていないCOM component is not installed on computer

ユーザーが COM コンポーネントに参照を追加し、2 番目のユーザーが、このコンポーネントがインストールされていないコンピューターでコードを実行しようとすると、2 番目のユーザーは、参照が壊れているというエラーを受信します。If a user has added a reference to a COM component and a second user tries to run the code on a computer that does not have this component installed, the second user will receive an error that the reference is broken. 2 番目のコンピューターにコンポーネントをインストールすると、エラーが修正されます。Installing the component on the second computer will correct the error. プロジェクトで COM コンポーネントへの参照を使用する方法の詳細については、「.NET Framework アプリケーションにおける COM 相互運用性」を参照してください。For more information about how to use references to COM components in your projects, see COM Interoperability in .NET Framework Applications.

関連項目See also

[参照設定] ページ (プロジェクト デザイナー) (Visual Basic)References Page, Project Designer (Visual Basic)