讓W(xué)indows CE 6.0 R2支持.NET CF 3.5
.NET Compact Framework已經(jīng)升級到3.5的版本了,.NET CF 3.5支持LINQ和WCF等新的特性。對于Windows Mobile的開發(fā)人員來說,只需要安裝一個更新的CAB包就可以了??墒荳indows CE的開發(fā)者如果想將.NET CF 3.5加入到OS Design,還是需要花一點功夫的。我們會使用革新2410D開發(fā)板作為我們的平臺,關(guān)于該開發(fā)板的介紹和開發(fā)過程,大家可以參考我之前的文章——《革新2410D開發(fā)板試用手記》,鏈接如下:
本文引用地址:http://www.ex-cimer.com/article/201610/305891.htmhttp://www.cnblogs.com/aawolf/archive/2008/05/29/1209854.html
來自Mike Hall的QFE
這篇文章的起因是Mike Hall在自己BLOG上發(fā)表的一篇文章:
http://blogs.msdn.com/mikehall/archive/2008/03/17/net-compact-framework-3-5-component-for-windows-embedded-ce-6-0-catalog-component.aspx
這篇文章介紹了微軟在2008年一月份推出的一個QFE的包,其中包括了.NET Compact Framework 3.5的組件。所謂QFE,就是Quick Fix Engineering,用于快速修復(fù)一些BUG或者增加一些新的功能,修改比SP要小,所以可以每月推出。
好了,既然有老大級的人物給我們指明了方向,小弟們跟著干就是了,首先在微軟網(wǎng)站上下載這個QFE包:
http://www.microsoft.com/downloads/details.aspx?FamilyID=a83124d5-7c8e-4abe-87fd-69654561be40displaylang=en
然后確認(rèn)你的開發(fā)計算機上已經(jīng)裝了下面的東西:
1. Visual Studio 2005
2. Visual Studio 2005 SP1
3. Visual Studio 2005 SP1 Update for Vista (if applicable)
4. Windows Embedded CE 6.0 Platform Builder
5. Windows Embedded CE 6.0 SP1 (required if PB 6.0 Tools have been installed)
6. Windows Embedded CE 6.0 R2
別緊張,基本上來說,只要你用的是Windows CE 6.0 R2,那么這些東西就都有了。
接下來,我們確認(rèn)將Visual Studio 2005關(guān)閉,然后運行QFE的安裝程序就可以了。如果是在Vista下安裝的話,可能會遇到安裝文件出錯的問題,這是由權(quán)限問題造成的。我們可以參考下面的文章解決:
http://support.microsoft.com/kb/950793/en-us
不過我在Vista下安裝時沒有碰到這個問題。
創(chuàng)建.NET Compact Framework 3.5的應(yīng)用程序
好了,安裝完成后,我們是不是需要打開Visual Studio 2005開始我們的平臺定制歷程了?不,首先還是讓我們先換一臺機器。
換機器干嘛?因為我們遇到了一個邏輯問題——.NET CF 3.5的應(yīng)用程序在哪里?.NET CF 3.5的應(yīng)用程序是由Visual Studio 2008開發(fā)的,而我們的Platform Builder 6.0是運行在Visual Studio 2005之上的。您可以將VS 2005和VS 2008裝在同一臺機器上,但是我沒有那么做,而是換了臺裝有VS 2008的機器,來進行下面的應(yīng)用程序開發(fā)。
需要說明的是,按照常規(guī),我們應(yīng)該先用Platform Builder 6.0構(gòu)建一個CE 6.0的平臺,然后導(dǎo)出SDK,然后再裝有VS 2008的機器上安裝,安裝完成后再使用VS 2008開發(fā)一個針對該CE 6.0平臺的應(yīng)用程序。如果真這么干,拐彎就拐到爪哇國去了。
幸好Visual Studio 2008為我們提供了另一種方式,還是來看一下:
打開Visual Studio 2008后,還是首先選擇File – New – Project菜單項。在New Project對話框中選擇Visual C#中的Smart Device,然后選擇創(chuàng)建Smart Device Project,名字隨便定。
接下來的對話框?qū)τ诮?jīng)??次椅恼碌呐笥岩矔苁煜ぃ?/p>
只是這一次我們選擇的Target platform不是Pocket PC或者Smartphone,而是Windows CE,還要記得一定要選擇.NET CF 3.5。
好了,接下來就進入了IDE的窗口設(shè)計器,看起來和普通的WinForm程序沒有太多區(qū)別。我們添加了三個按鈕和一個ListBox,還有兩個菜單項。
在第一個Button“Message”里添加下面的事件處理函數(shù):
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(Hello,.NET CF 3.5);
}
我承認(rèn)我沒追求,所有程序不都是從Hello World開始的嗎?為了要突出一下.NET Compact Framework 3.5的新特性,我們還要添加對于LINQ的支持:
private void button2_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
var numbers = new List
var evenNumbers =
from p in numbers
where (p % 2) == 0
select p;
foreach (var number in evenNumbers)
listBox1.Items.Add(string.Format({0} , number));
}
關(guān)于LINQ我就不多作解釋了,記得添加System.Linq的引用,還有:
using System.Linq;
在添加完Linq后,我們還有一個更直接的辦法,就是版本號:
private void button3_Click(object sender, EventArgs e)
{
MessageBox.Show(Environment.Version.ToString());
}
System.Environment中的Version屬性可以很直接的告訴我們當(dāng)前運行的.NET CLR的版本號。具體細(xì)節(jié)看MSDN幫助吧。
好了,程序編寫好了,接下來就要運行它了。但是我們的Visual Studio 2008里并沒有Windows CE的模擬器。沒辦法,只好選擇Windows Mobile 6 Professional的模擬器來跑了。
評論