演练:编译面向中 CLR 的 C++/CLI Visual Studio

通过使用 C++/CLI,可以创建使用 .NET 类和本机 C++ 类型的 C++ 程序。 C++/CLI 旨在用于控制台应用程序和 DLL,这些 DLL 包装本机 C++ 代码,使其可从 .NET 程序访问。 若要创建Windows .NET 的用户界面,请使用 C# 或 Visual Basic。

对于此过程,可以键入自己的 C++ 程序或使用其中一个示例程序。 我们在此过程中使用的示例程序创建了名为“textfile.txt”的文本文件,并将其保存到项目目录。

先决条件

  • 你需要了解 C++ 语言的基础知识。
  • 在 Visual Studio 2017 及更高版本中,C++/CLI 支持是可选组件。 若要安装它,请从Visual Studio 安装程序打开Windows "开始"菜单。 请确保已选中"使用 C++ 的桌面开发"磁贴,在"可选组件"部分中,还要检查"C++/CLI 支持"

创建新项目

根据使用的 Visual Studio 版本,以下步骤会有所不同。 若要查看 Visual Studio 首选项的文档,请使用“版本”选择器控件。 它位于此页面上目录表的顶部。

在 Visual Studio

  1. 解决方案资源管理器中,右键单击顶部以打开"创建新Project对话框。

  2. 在对话框顶部,在搜索框中键入 CLR,然后从结果Project"CLR Empty"。

  3. 选择“创建”按钮创建项目。

在 2017 Visual Studio C++/CLI 项目

  1. 创建新项目。 在 “文件” 菜单上,指向 “新建” ,然后单击 “项目”

  2. 在 Visual C++ 项目类型中,依次单击“CLR”、“CLR 空项目”

  3. 键入项目名称。 默认情况下,包含该项目的解决方案具备和新项目一样的名称,不过可以输入一个不同的名称。 可以按需要为项目输入不同的位置。

  4. 单击“确定”以创建新项目

在 2015 年 Visual Studio C++/CLI 项目

  1. 创建新项目。 在 “文件” 菜单上,指向 “新建” ,然后单击 “项目”

  2. 在 Visual C++ 项目类型中,依次单击“CLR”、“CLR 空项目”

  3. 键入项目名称。 默认情况下,包含该项目的解决方案具备和新项目一样的名称,不过可以输入一个不同的名称。 可以按需要为项目输入不同的位置。

  4. 单击“确定”以创建新项目

添加源文件

  1. 如果“解决方案资源管理器”不可见,请单击“视图”菜单上的“解决方案资源管理器”

  2. 向项目添加新的源文件:

    • 在“解决方案资源管理器”中右键单击“源文件”文件夹,指向“添加”并单击“新建项”

    • 单击“C++ 文件 (.cpp)”并键入文件名,然后单击“添加”

    .cpp 文件会出现在“解决方案资源管理器”中的“源文件”文件夹中,并且当你按需要在该文件中键入代码时,会出现一个选项卡式窗口。

  3. 单击 Visual Studio 中新创建的选项卡并键入有效的 Visual C++ 程序或从示例程序中复制粘贴一个。

    例如,可以使用如何:编写文本文件 (C++/CLI) 示例程序(位于编程指南中的“文件处理和 I/O”节点)

    如果使用该示例程序,请注意在创建 .NET 对象时使用 gcnew 关键字(而不是 new 关键字),并且 gcnew 返回图柄 (^) 而不是指针 (*):

    StreamWriter^ sw = gcnew StreamWriter(fileName);

    有关 C++/CLI 语法详细信息,请参阅运行时 平台的组件扩展

  4. 在“生成”菜单中,单击“生成解决方案”。

    “输出”窗口显示编译进度的相关信息,例如生成日志的位置以及指示生成状态的消息

    如果在未进行生成操作的情况下做出更改且运行程序,则可能出现一个指示该程序已过期的对话框。 如果希望 Visual Studio 始终使用当前版本的文件而不是在每次生成应用程序时都出现提示,请选择该对话框中的复选框后再单击“确定”

  5. 在"调试 "菜单 上,单击 "启动但不调试"

  6. 如果使用了示例程序,在运行程序时会显示一个命令窗口,该窗口指示已创建文本文件。

    textfile.txt 文本文件现在位于你的项目目录中。 可以使用记事本打开此文件。

    注意

    选择自动设置 /clr 编译器选项的空 CLR 项目模板。 为了验证这一点,请在“解决方案资源管理器”中右键单击该项目并单击“属性”,然后选中“配置属性”的“常规”节点中的“公共语言运行时支持”选项

请参阅

C++ 语言参考
项目和生成系统