如何:使用“添加引用”对话框添加或移除引用

为了在应用程序中使用组件,必须首先添加对组件的引用。Visual Studio 在“添加引用”对话框中提供了五个选项:

  • “.NET”:列出可供引用的所有 .NET Framework 组件。

  • “COM”:列出可供引用的所有 COM 组件。

  • “项目”:列出在本地项目中创建的所有可重用组件。

  • **“浏览”**使您能够于通过浏览查找文件系统中的组件。

  • “最近”:列出计算机上最近添加到项目中的组件。

**“添加引用”对话框上部可用的选项卡数因打开的项目类型及其正在使用的资源而异。C++ 本机项目仅包含“项目”**选项卡。

列表中的一些组件可能不会显示,具体取决于项目的 .NET Framework 版本。在下列条件下,可能会出现这种情况:

  • 使用最新版本的 .NET Framework 的组件与以早期版本的 .NET Framework 为目标的项目不兼容。

    有关如何更改项目的目标 .NET Framework 版本的信息,请参见如何:面向 .NET Framework 的某个版本

  • 使用 .NET Framework 4 的组件与以 .NET Framework 4 Client Profile 为目标的项目不兼容。

    当创建新的应用程序时,一些项目默认情况下以 .NET Framework 4 Client Profile 为目标。有关详细信息,请参阅 .NET Framework Client Profile

不能从全局程序集缓存添加引用,因为它完全是运行时环境的一部分。

如果某个应用程序包含对在全局程序集缓存中注册的自定义组件的引用,则在部署或复制该应用程序时,无论 Copy Local 的设置如何,所引用的组件都不会与该应用程序一起部署或复制。有关详细信息,请参阅管理项目引用

您可以创建一些应用程序,这些应用程序引用的项目或程序集面向 .NET Framework 的不同版本。例如,您可以创建一个面向 .NET Framework 4 Client Profile的应用程序,该配置文件引用面向 .NET Framework 2.0的程序集。如果创建以 .NET Framework 的早期版本为目标的项目,则无法在该项目中设置对以 .NET Framework 4 Client Profile 或 .NET Framework 版本 4 为目标的项目或程序集的引用。有关详细信息,请参阅面向特定的 .NET Framework 版本或配置文件

应当避免添加对同一解决方案中另一个项目的输出的文件引用,因为这样做可能导致编译错误。而应使用**“添加引用”对话框的“项目”**选项卡来创建项目到项目的引用。这样就可以更好地管理在项目中创建的类库,从而更易于进行团队开发。有关详细信息,请参阅有关无效的引用的疑难解答

说明说明

在 Visual Studio 2010 中,如果一个项目的 .NET Framework 目标版本为版本 4,而另一个项目的目标版本为版本 2、3.0 或 3.5,则将创建文件引用而不是项目引用。

如果要添加对包含内部清单的已注册 COM DLL 的引用,请确保先注销该 DLL。如果没有这样做,则 Visual Studio 会将程序集引用作为 ActiveX 组件而不是本机 DLL 添加。

还可以使用**“添加 Web 引用”**对话框添加 Web 引用。有关详细信息,请参阅How to: Add and Remove Web References

在手动添加对任何 EnvDTE 命名空间(EnvDTEEnvDTE80EnvDTE90EnvDTE90aEnvDTE100)的引用时,请在“属性”窗口中将引用的**“嵌入互操作类型”属性设置为“False”。将此属性设置为“True”**可能会导致生成问题,因为某些 EnvDTE 属性是不能嵌入的。

说明说明

所有项目都包含对 mscorlib 的隐式引用。Visual Basic 项目包含对 Microsoft.VisualBasic 的隐式引用。

在 Visual Studio 2010 中,所有项目都包含对 System.Core 的隐式引用,即使从引用列表中移除了 System.Core 也是如此。

在“添加引用”对话框中显示程序集

  • 将程序集移动或复制到下列位置之一:

    • 当前项目目录。(可以使用**“浏览”**选项卡查找这些程序集。)

    • 同一解决方案中的其他项目目录。(可以使用**“项目”**选项卡查找这些程序集。)

    - 或 -

  • 设置指定要显示的程序集位置的注册表项:

    对于 32 位操作系统,添加以下注册表项之一。

    • [HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework\VersionMinimum\AssemblyFoldersEx\MyAssemblies]@="AssemblyLocation"

    • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\VersionMinimum\AssemblyFoldersEx\MyAssemblies]@="AssemblyLocation"

    对于 64 位操作系统,在 32 位注册表配置单元中添加以下注册表项之一。

    • [HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\VersionMinimum\AssemblyFoldersEx\MyAssemblies]@="AssemblyLocation"

    • [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\VersionMinimum\AssemblyFoldersEx\MyAssemblies]@="AssemblyLocation"

    VersionMinimum 是适用的最低 .NET Framework 版本。如果 VersionMinimum 为 v3.0,则在 AssemblyFoldersEx 中指定的文件夹适用于面向 .NET Framework 3.0 和更高版本的项目。

    AssemblyLocation 是要在**“添加引用”**对话框中显示的程序集目录,例如 C:\MyAssemblies\。

    在 HKEY_LOCAL_MACHINE 节点下创建注册表项以后,所有用户都可以在**“添加引用”**对话框中的指定位置看到这些程序集。如果在 HKEY_CURRENT_USER 节点下创建注册表项,则只会影响当前用户的设置。

    再次打开**“添加引用”对话框。程序集应出现在“.NET”**选项卡中。如果未显示,请确保这些程序集位于指定的 AssemblyLocation 目录中,然后重新启动 Visual Studio 并重试。

在 Visual Basic 中添加引用

  1. 在**“解决方案资源管理器”中,双击项目的“我的项目”**节点。

  2. 在**“项目设计器”中,单击“引用”**选项卡。

  3. 单击**“添加”按钮以打开“添加引用”**对话框。

  4. 在**“添加引用”**对话框中,选择指示要引用的组件类型的选项卡。

  5. 选择要引用的组件,然后单击**“确定”**。

    提示提示

    如果要引用的组件都在同一选项卡上,则按住 Ctrl 键可以同时选择多个组件。

在 Visual C# 中添加引用

  1. 在**“解决方案资源管理器”中右击项目节点,再单击“添加引用”**。

  2. 在**“添加引用”**对话框中,选择指示要引用的组件类型的选项卡。

  3. 选择要引用的组件,然后单击**“确定”**。

    提示提示

    如果要引用的组件都在同一选项卡上,则按住 Ctrl 键可以同时选择多个组件。

在 Visual Basic 中移除引用

  1. 在**“解决方案资源管理器”中,双击项目的“我的项目”**节点。

  2. 在**“项目设计器”中,单击“引用”**选项卡。

  3. 在**“引用”**列表中,选择希望移除的引用。

  4. 单击**“移除”**按钮。

    提示提示

    还可以选中项目中未使用的引用,并一次性将它们全部移除。有关详细信息,请参阅How to: Remove Unused References (Visual Basic)

在 Visual C# 中移除引用

  1. 在**“解决方案资源管理器”中,打开项目节点下的“引用”**节点。

  2. 右击一个引用,再单击**“移除”**。

请参见

任务

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

如何:添加或移除导入的命名空间 (Visual Basic)

参考

“项目设计器”->“应用程序”页 (C#)

“高级编译器设置”对话框 (Visual Basic)

概念

管理项目引用

如何:使用引用管理器添加或移除引用

管理项目引用

Visual Studio 多目标概述

.NET Framework 目标错误疑难解答

其他资源

面向特定的 .NET Framework 版本或配置文件