有关无效的引用的疑难解答

更新:2007 年 11 月

如果应用程序尝试使用无效的引用,则会生成异常错误。无法找到引用组件是造成该错误的主要起因,但是在几种情况下可将引用视为无效。这些情况在下面的列表中说明:

  • 项目的引用路径不正确或不完整。

  • 所引用的文件已删除。

  • 所引用的文件已重命名。

  • 网络连接或身份验证失败。

  • 计算机上未安装引用指向的 COM 组件。

下面是这些问题的补救办法。

说明:

在项目文件中使用绝对路径来引用程序集中的文件。因此,在多开发人员环境中工作的用户可能在自己的本地环境中找不到所引用的程序集。若要避免这些错误,在这种情况下最好添加项目到项目的引用。有关更多信息,请参见如何:在 Visual Studio 中添加或移除引用 (Visual Basic)使用程序集编程

引用路径不正确

如果项目在不同的计算机上共享,则当某组件位于每台计算机上的不同目录时,可能会找不到某些引用。引用以组件文件的名称(例如,MyComponent)来存储。在将引用添加到项目时,该组件文件的文件夹位置(例如,C:\MyComponents\)将会追加到“ReferencePath”项目属性。

当该项目被打开时,它会尝试通过查找引用路径上的目录来定位这些被引用的组件文件。如果某计算机将该组件存储在不同的目录(如 D:\MyComponents\)中,则在此计算机上打开该项目时,将无法找到该引用,并会在“任务列表”中显示一个错误。

若要修复此问题,可以删除损坏的引用,然后使用“添加引用”对话框替换该引用。另一个解决方案是使用项目的属性页中的“引用路径”项,并修改该列表中的文件夹以指向正确的位置。将为每台计算机上的每个用户保持“引用路径”属性。因此,修改引用路径不会影响项目的其他用户。

提示:

项目到项目引用不存在这些问题。因此,应尽可能使用项目到项目引用而不使用文件引用。

通过纠正引用路径修复无效的项目引用

  1. 在“解决方案资源管理器”中,右击项目节点,然后单击“属性”。

  2. 出现“项目设计器”。

  3. 如果正在使用 Visual Basic,请选择“引用”页并单击“引用路径”按钮。在“引用路径”对话框中,在“文件夹”字段中键入包含您想要引用的项的文件夹的路径,然后单击“添加文件夹”按钮。

    - 或 -

    如果正在使用 Visual C#,请选择“引用路径”页。在“文件夹”字段中,键入包含您想要引用的项的文件夹的路径,然后单击“添加文件夹”按钮。

引用的文件已删除

有可能要引用的文件已被删除,在驱动器上不再存在。

修复对驱动器上不再存在的文件的无效项目引用

引用的文件已重命名

有可能要引用的文件已被重命名。

修复对已重命名文件的无效引用

网络连接或身份验证失败

无法访问文件可能有许多原因:例如,网络连接失败或身份验证失败。对于每一种原因都可能会有不同的恢复方法;例如,可能必须与本地管理员联系以获取对所需资源的访问权。不过,始终可以通过删除该引用并修复使用它的代码来进行恢复。有关更多信息,请参见如何:在 Visual Studio 中添加或移除引用 (Visual Basic)

计算机上未安装 COM 组件

如果某用户已添加了一个对 COM 组件的引用而第二个用户试图在未安装此组件的计算机上运行该代码,则第二个用户将收到错误信息,指示引用已无效。在第二个用户的计算机上安装此组件即可更正这一错误。有关在项目中如何使用对 COM 组件的引用的更多信息,请参见 .NET Framework 应用程序中的 COM 互操作性

请参见

任务

如何:在 Visual Studio 中添加或移除引用 (Visual Basic)

参考

“添加引用”对话框

其他资源

引用命名空间和组件

项目属性 (Visual Studio)