本文介绍如何添加对托管 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:
打开命令提示符。
导航到 Windows 系统 文件夹。
输入以下命令:
tlbimp shdocvw.dll /out:Interop.shdocvw.dll
将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
指令用于引用这些程序集。 但是,由于这些程序集未共享,因此必须采取措施来确保编译器能够找到它们。 执行此操作有两种方法:
- 将程序集复制到项目文件夹。
- 更改项目设置以查找程序集:
打开项目的“属性页” 对话框。
单击 “C/C++” 文件夹。
注意
在 Visual C++中,展开 “配置属性”,然后展开 C/C++。
单击“常规”属性页。
修改 Resolve #using References 属性以指向包含目标程序集的文件夹。
使用生成后事件
专用程序集必须与正在使用它们的可执行文件位于同一文件夹中。 在 Visual C#、Visual Basic .NET 或 Visual Basic 中添加引用时,会自动将其复制到输出文件夹。 在托管C++应用程序中,可以通过使用 post-build
事件自动执行此步骤。 例如,假设在名为 TestApp 的托管C++应用程序的项目文件夹中有一个名为MYLIB.dll的程序集。 以下步骤将设置将post-build
此 DLL 复制到 TestApp 项目的输出文件夹的事件。
打开托管C++项目的 “属性页 ”对话框。
单击“生成事件”文件夹。
注意
在 Visual C++ 中,展开 “配置属性”,然后展开“ 生成事件”。
单击“ 生成后事件”属性 页。
将 命令行 属性修改为以下命令:
copy $(<ProjectDir>)mylib.dll $(<TargetDir>)
使用 Visual C++ .NET 或 Visual C++
通过使用 Visual C++ .NET 或 Visual C++,可以通过“添加引用”对话框添加引用。 若要添加项目引用,请执行以下步骤:
在“解决方案资源管理器”中,选择 项目。
在 “项目 ”菜单上,单击“ 添加引用”。
注意
在 Visual C++中,单击“项目”菜单上的“引用”,然后单击“添加新引用”。
在 “添加引用 ”对话框中,单击与要添加引用的类别对应的选项卡。
注意
在 Visual C++ 中,单击“添加引用”对话框中的“浏览”选项卡。
单击“浏览”,找到本地驱动器上所需的组件,然后单击“确定”。 该组件将添加到 “所选组件 ”字段。
注意
在 Visual C++中,找到本地驱动器上所需的组件。
若要将所选引用添加到当前选项卡,请单击“ 添加”。
注意
在 Visual C++中,单击“确定”关闭对话框,并将组件添加到项目的“属性页”对话框中的“引用”列表框中。