由于需要设计NCF中和CCR类似的东东,决定尝试用下CCR(这个是微软工程师用C#实现的,需要.net framework的支持,dll是托管的dll)。以前没怎么用过C#,只是“hello world”水平的C#,现在需要使用CCR。
网上说,微软没有单独发布CCR,它是随着RDS(机器人开发平台)一起发布的,所以笔者先下载个RDS装上了,然后自动把CCR也装了。在安装好的RDS的安装目录下,我的是C:\Program Files\Reference Assemblies\Microsoft\Robotics\v4.0(其中v4.0是因为RDS是第4版),其中找到了CCR和DSS的非托管库(dll)。
在VS2010中新建个C#控制台工程,代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Ccr.Core;
using Microsoft.Ccr.Adapters;
using Microsoft.Ccr.Adapters.Wpf;
using Microsoft.Ccr.Adapters.WinForms;
namespace CsConsole
{
class Program
{
static void Main(string[] args)
{
Microsoft.Ccr.Core.Port<int> portInt = new Microsoft.Ccr.Core.Port<int>();
portInt.Post(10);
Console.WriteLine(portInt.ItemCount);
}
}
}
其中,Port<>是一个异步操作类,测试结果: