當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] .NET Compact Framework已經(jīng)升級(jí)到3.5的版本了,.NET CF 3.5支持LINQ和WCF等新的特性。對(duì)于Windows Mobile的開發(fā)人員來說,只需要安裝一個(gè)更新的CAB包就可以了??墒荳ind

 .NET Compact Framework已經(jīng)升級(jí)到3.5的版本了,.NET CF 3.5支持LINQ和WCF等新的特性。對(duì)于Windows Mobile的開發(fā)人員來說,只需要安裝一個(gè)更新的CAB包就可以了??墒荳indows CE的開發(fā)者如果想將.NET CF 3.5加入到OS Design,還是需要花一點(diǎn)功夫的。我們會(huì)使用革新2410D開發(fā)板作為我們的平臺(tái),關(guān)于該開發(fā)板的介紹和開發(fā)過程,大家可以參考我之前的文章——《革新2410D開發(fā)板試用手記》,鏈接如下:

http://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年一月份推出的一個(gè)QFE的包,其中包括了.NET Compact Framework 3.5的組件。所謂QFE,就是Quick Fix Engineering,用于快速修復(fù)一些BUG或者增加一些新的功能,修改比SP要小,所以可以每月推出。

好了,既然有老大級(jí)的人物給我們指明了方向,小弟們跟著干就是了,首先在微軟網(wǎng)站上下載這個(gè)QFE包:

http://www.microsoft.com/downloads/details.aspx?FamilyID=a83124d5-7c8e-4abe-87fd-69654561be40&displaylang=en

然后確認(rèn)你的開發(fā)計(jì)算機(jī)上已經(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)閉,然后運(yùn)行QFE的安裝程序就可以了。如果是在Vista下安裝的話,可能會(huì)遇到安裝文件出錯(cuò)的問題,這是由權(quán)限問題造成的。我們可以參考下面的文章解決:

http://support.microsoft.com/kb/950793/en-us

不過我在Vista下安裝時(shí)沒有碰到這個(gè)問題。

創(chuàng)建.NET Compact Framework 3.5的應(yīng)用程序

好了,安裝完成后,我們是不是需要打開Visual Studio 2005開始我們的平臺(tái)定制歷程了?不,首先還是讓我們先換一臺(tái)機(jī)器。

換機(jī)器干嘛?因?yàn)槲覀冇龅搅艘粋€(gè)邏輯問題——.NET CF 3.5的應(yīng)用程序在哪里?.NET CF 3.5的應(yīng)用程序是由Visual Studio 2008開發(fā)的,而我們的Platform Builder 6.0是運(yùn)行在Visual Studio 2005之上的。您可以將VS 2005和VS 2008裝在同一臺(tái)機(jī)器上,但是我沒有那么做,而是換了臺(tái)裝有VS 2008的機(jī)器,來進(jìn)行下面的應(yīng)用程序開發(fā)。

需要說明的是,按照常規(guī),我們應(yīng)該先用Platform Builder 6.0構(gòu)建一個(gè)CE 6.0的平臺(tái),然后導(dǎo)出SDK,然后再裝有VS 2008的機(jī)器上安裝,安裝完成后再使用VS 2008開發(fā)一個(gè)針對(duì)該CE 6.0平臺(tái)的應(yīng)用程序。如果真這么干,拐彎就拐到爪哇國(guó)去了。

幸好Visual Studio 2008為我們提供了另一種方式,還是來看一下:

打開Visual Studio 2008后,還是首先選擇File – New – Project菜單項(xiàng)。在New Project對(duì)話框中選擇Visual C#中的Smart Device,然后選擇創(chuàng)建Smart Device Project,名字隨便定。

接下來的對(duì)話框?qū)τ诮?jīng)??次椅恼碌呐笥岩矔?huì)很熟悉:

只是這一次我們選擇的Target platform不是Pocket PC或者Smartphone,而是Windows CE,還要記得一定要選擇.NET CF 3.5。

好了,接下來就進(jìn)入了IDE的窗口設(shè)計(jì)器,看起來和普通的WinForm程序沒有太多區(qū)別。我們添加了三個(gè)按鈕和一個(gè)ListBox,還有兩個(gè)菜單項(xiàng)。

在第一個(gè)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的新特性,我們還要添加對(duì)于LINQ的支持:

private void button2_Click(object sender, EventArgs e)

{

listBox1.Items.Clear();

var numbers = new List() { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };

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后,我們還有一個(gè)更直接的辦法,就是版本號(hào):

private void button3_Click(object sender, EventArgs e)

{

MessageBox.Show(Environment.Version.ToString());

}

System.Environment中的Version屬性可以很直接的告訴我們當(dāng)前運(yùn)行的.NET CLR的版本號(hào)。具體細(xì)節(jié)看MSDN幫助吧。

好了,程序編寫好了,接下來就要運(yùn)行它了。但是我們的Visual Studio 2008里并沒有Windows CE的模擬器。沒辦法,只好選擇Windows Mobile 6 Professional的模擬器來跑了。[!--empirenews.page--]

事實(shí)證明,在應(yīng)用程序開發(fā)方面,Windows CE和Windows Mobile的差距的確不大。程序不但跑起來了,而且菜單還按照Windows Mobile的方式顯示到了窗體下方。

上面就是點(diǎn)擊Version按鈕后的運(yùn)行結(jié)果,可以看到我們的.NET CLR是3.5的。

創(chuàng)建支持.NET CF 3.5的OS Design

OK,終于可以回到我們的Platform Builder里創(chuàng)建包含.NET CF 3.5的OS Design了。我們可以創(chuàng)建一個(gè)新的OS Design,或者利用已有的OS Design。

具體方法請(qǐng)參考:

革新2410D開發(fā)板試用手記(三)

http://www.cnblogs.com/aawolf/archive/2008/06/03/1212696.html

Windows Embedded CE 6.0開發(fā)初體驗(yàn)(五)構(gòu)建CE平臺(tái)

http://www.cnblogs.com/aawolf/archive/2008/01/15/1040306.html

當(dāng)我們打開OS Design的Catalog Item View頁面。在Core OS - CEBASE – Application and Services Development下,我們可以看到.NET Compact Framework 2.0和.NET Compact Framework 3.5兩個(gè)選項(xiàng)。選擇.NET CF 3.5的選項(xiàng)和簡(jiǎn)體中文資源,以及OS Dependencies for .NET Compact Framework 3.5的選項(xiàng)。

當(dāng)然,我們也可以在OS Design的創(chuàng)建向?qū)Ю镞x擇.NET CF 3.5的組件。

為了驗(yàn)證我們的.NET CF 3.5 CLR可以良好運(yùn)行,我們還需要添加一個(gè).NET CF 3.5的應(yīng)用程序。怎么添加呢?

第一步,呃,從另外一臺(tái)機(jī)器上把應(yīng)用程序拷過來……

第二步,在Solution Explorer里選擇OS Design下的Parameter Files下的Project.bib文件。在《Windows Embedded CE 6.0開發(fā)初體驗(yàn)(六)平臺(tái)定制》中我們?cè)敿?xì)討論過bib文件,請(qǐng)參考:

http://www.cnblogs.com/aawolf/archive/2008/02/03/1063444.html

第三步,將.NET CF 3.5的應(yīng)用程序加入到OS Design中:

就一句話,簡(jiǎn)單吧?然后就是OS Design的編譯、下載、運(yùn)行和調(diào)試了。需要說明一點(diǎn)的是,可能由于Debug版的NK.bin太大,我一直沒有成功運(yùn)行起來。不過Release版的一切正常。

關(guān)于編譯和下載的話題,可以參考下面的文章:

革新2410D開發(fā)板試用手記(六)

http://www.cnblogs.com/aawolf/archive/2008/06/24/1228752.html

Windows Embedded CE 6.0開發(fā)初體驗(yàn)(七) 編譯和調(diào)試平臺(tái)

http://we.cnblogs.com/article.aspx?id=20

好了,最后來看一下運(yùn)行結(jié)果:我們點(diǎn)擊了Version按鈕,顯示當(dāng)前的.NET CF CLR確實(shí)是.NET CF 3.5版本。

最后讓大家看看開發(fā)板的裸照吧(開發(fā)板本來就……)

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉