托管程序集是一种库,您可以创建该库以便高效地重用代码。 这样,就不必在多个程序中重新实现同样的例程,而只需编写这些例程一次,然后在需要该功能的应用程序中引用它们即可。
创建类库项目:
1. 在“文件”菜单上指向“新建”,然后单击“项目”。
2. 在“项目类型”窗格中,选择“Visual C++”下的“CLR”。
此组中的每个项目类型都将创建一个面向公共语言运行时 (CLR) 的项目。
3. 在“模板”窗格中,选择“类库”。
4. 在“名称”框中键入项目的名称,例如,MathFuncsAssembly。 在“解决方案名称”字段中键入解决方案的名称,例如,ManagedAssemblies。
5. 单击“确定”创建项目。
6. 默认情况下,在创建项目时,会将项目设置为使用预编译头。 若要为 MathFuncsAssembly 项目禁用预编译头,请在“解决方案资源管理器”中选择项目,然后在“项目”菜单上,单击“属性”。 依次展开“配置属性”节点和“C/C++”节点,然后选择“预编译头”。 在“创建/使用预编译头”旁边的列表中,选择“不使用预编译头”。 单击“确定”保存这些更改。
在生成的代码中添加方法Class1是生成的,可以自己换成别的名字,然后在下面添加方法:
namespace clr5 {
public ref class Class1
{
public:
static double add(double a, double b);
static double subtract(double a, double b);
};
}
在clr5.cpp添加:
namespace clr5 {
double Class1::add(double a, double b)
{
return a + b;
}
double Class1::subtract(double a, double b)
{
return a - b;
}
}
编译成功生成 可供其他程序使用的动态链接库 (DLL),本文生成clr5.dll。
创建引用库的控制台应用程序:一定要把这个测试工程和当前工程创建一起:
下面创建两个解决方法:
1. 在您创建 CLR 控制台应用程序后,向导将生成一个仅向控制台写入“Hello World”的程序。 生成的源文件的名称与您在创建项目时为项目指定的名称相同。 在本示例中,名称为“clr5Test.cpp”。
2. 若要使用在类库中创建的算术例程,必须引用类库。 为此,请在“解决方案资源管理器”中选择 clr5Test 项目,然后在“项目”菜单上,单击“属性”。 在“属性页”对话框中展开“通用属性”节点,选择“框架和引用”,然后单击“添加新引用”。 有关更多信息,请参见“<Projectname> 属性页”对话框 ->“通用属性”->“框架和引用”。
3. “添加引用”对话框列出了所有可以引用的库。 “.NET”选项卡列出了 .NET Framework 附带的库。 “COM”选项卡列出了计算机上的所有 COM 组件。 “项目”选项卡列出了当前解决方案中的所有项目,以及它们包含的所有库。 在“项目”选项卡上,选择“clr5”,然后单击“确定”。
编写代码:
// clr5Test.cpp: 主项目文件。
#include "stdafx.h"
using namespace System;
int main(array<System::String ^> ^args)
{
Console::WriteLine(L"Hello World");
double a = 7.4;
int b = 99;
Console::WriteLine("a + b = {0}", clr5::Class1::add(a, b));
Console::WriteLine("a - b = {0}", clr5::Class1::subtract(a,b));
return 0;
}
编译解决方案,
如果想在这里,直接运行clr5test 解决方案,先要把这个设置为启动项目
运行成功,没有问题