添加对托管 Visual C++ 项目的引用

本文介绍如何添加对托管 Visual C++ 项目的引用。

原始产品版本: Visual C++
原始 KB 数: 310674

总结

本文介绍在 Visual C++ 项目中添加对另一个程序集的引用的过程。 在其他语言(如 Visual C#)中,可以通过“添加引用”对话框添加引用。 此对话框不适用于托管C++应用程序。 有几个提示可以简化在托管C++应用程序中使用引用。

Microsoft .NET 引用

.NET 引用指向共享程序集。 例如,程序集System.Windows.Forms.dll是用于访问Windows 窗体类的标准程序集。 若要在托管C++应用程序中使用此程序集,只需使用 #using 预处理器指令引用它,如下所示:

#using <System.Windows.Forms.dll>

COM 引用

在托管C++应用程序中使用组件对象模型 (COM) 对象涉及设计决策。 一个选项是在托管类中使用非托管 COM 代码。 例如,可以决定使用传统 #import 解决方案。 对于使用 COM 互操作时出现问题的情况,这可以是一个不错的选择。

第二个选项是使用包装 COM 对象的互操作程序集。 这是可用于其他语言(如 C# 和 Visual Basic .NET)的唯一方法。 若要为 COM 对象创建互操作程序集,请使用TLBIMP.exe工具。 例如,使用以下步骤从托管应用程序自动执行 Internet Explorer:

  1. 打开命令提示符。

  2. 导航到 Windows 系统 文件夹。

  3. 输入以下命令:

    tlbimp shdocvw.dll /out:Interop.shdocvw.dll
    
  4. 将Interop.shdocvw.dll移动到项目文件夹。

这将为 Shdocvw.dll 中的 COM 对象创建互操作程序集。 生成的文件 (Interop.shdocvw.dll)可与指令一 #using 起使用。 然后,它可以被视为托管组件。 有关自动将此动态链接库(DLL)复制到输出文件夹的说明,请参阅本文的“ 使用生成后事件 ”部分。

注意

必须设置 Visual C++的环境变量,以便识别TLBIMP.exe。 如果未设置它们,必须先在 Visual Studio .NET 或 ./VC/BIN/VCVARS32.bat Visual Studio 和 Visual C++ Express Edition 中运行./VC7/BIN/VCVARS32.bat

项目引用

项目引用是对由其他项目创建的程序集的引用。 同样,该 #using 指令用于引用这些程序集。 但是,由于这些程序集未共享,因此必须采取措施来确保编译器能够找到它们。 执行此操作有两种方法:

  • 将程序集复制到项目文件夹。
  • 更改项目设置以查找程序集:
  1. 打开项目的“属性页” 对话框。

  2. 单击 “C/C++” 文件夹。

    注意

    在 Visual C++中,展开 “配置属性”,然后展开 C/C++

  3. 单击“常规”属性页。

  4. 修改 Resolve #using References 属性以指向包含目标程序集的文件夹。

使用生成后事件

专用程序集必须与正在使用它们的可执行文件位于同一文件夹中。 在 Visual C#、Visual Basic .NET 或 Visual Basic 中添加引用时,会自动将其复制到输出文件夹。 在托管C++应用程序中,可以通过使用 post-build 事件自动执行此步骤。 例如,假设在名为 TestApp 的托管C++应用程序的项目文件夹中有一个名为MYLIB.dll的程序集。 以下步骤将设置将post-build此 DLL 复制到 TestApp 项目的输出文件夹的事件。

  1. 打开托管C++项目的 “属性页 ”对话框。

  2. 单击“生成事件”文件夹。

    注意

    在 Visual C++ 中,展开 “配置属性”,然后展开“ 生成事件”。

  3. 单击“ 生成后事件”属性 页。

  4. 命令行 属性修改为以下命令:

    copy $(<ProjectDir>)mylib.dll $(<TargetDir>)  
    

使用 Visual C++ .NET 或 Visual C++

通过使用 Visual C++ .NET 或 Visual C++,可以通过“添加引用”对话框添加引用。 若要添加项目引用,请执行以下步骤:

  1. 在“解决方案资源管理器”中,选择 项目。

  2. “项目 ”菜单上,单击“ 添加引用”。

    注意

    在 Visual C++中,单击“项目”菜单上的“引用,然后单击“添加新引用”。

  3. “添加引用 ”对话框中,单击与要添加引用的类别对应的选项卡。

    注意

    在 Visual C++ 中,单击“添加引用”对话框中的浏览”选项卡。

  4. 单击“浏览,找到本地驱动器上所需的组件,然后单击“确定”。 该组件将添加到 “所选组件 ”字段。

    注意

    在 Visual C++中,找到本地驱动器上所需的组件。

  5. 若要将所选引用添加到当前选项卡,请单击“ 添加”。

    注意

    在 Visual C++中,单击“确定关闭对话框,并将组件添加到项目的“属性页”对话框中的“引用”列表框中。