2011-04-12 45 views
0

我創建了一個在Windows CE設備上運行的C#控制檯應用程序。我在程序中有一行代碼:Windows CE控制檯輸出轉換字符串

Console.WriteLine(「Hello World」);

輸出在屏幕上:11

的11是串的長度,所以是東西我的字符串轉換爲字符數組或什麼?

我正在使用從BSP創建的SDK來定位我的設備。另外,BSP包含用於操作系統的.NET 2.0和.NET 3.5,並且我將Visual Studio 2005用於我的控制檯應用程序。

有沒有人曾經在.NET控制檯應用程序中見過這個?謝謝。

更新:我試圖創建一個基本的Windows窗體應用程序,並在我的設備上運行該應用程序。這次我得到了一個實際的錯誤「System.Windows.Forms dll無法找到」,所以這表明.NET未正確安裝。我將它包含在Platform Builder目錄中,所以我不確定還有什麼可能會丟失。有任何想法嗎?

+0

我做了很多Windows Mobile開發,有時候典型的重載不可用。查看SDK中的Console.WriteLine()參數。我不用這個特定的SDK運行,所以這可能不是你的答案。 – jp2code 2011-04-12 18:40:34

+0

謝謝。我確實看了一下,intellisense確實包含了一個字符串參數的重載 – 2011-04-12 20:59:01

回答

0

我從來沒有見過這樣的事情,而且我見過很多CF行爲。

首先,不要在操作系統中放入CF 2.0和3.5。永遠。由於SYSGEN重疊,它們不會共存於操作系統映像項目中,而且由於3.5運行時可以加載和運行2.0二進制文件,因此它是不必要的。

你確定你唯一的代碼是那一行嗎?你確定你正在運行你所看到的代碼的應用程序(即它沒有錯誤地運行舊的或不同的版本)?發生這種情況時你處於斷點嗎?

+0

感謝您的建議。我刪除了一個.NET框架,所以只有一個安裝在操作系統映像中,但這對我沒有幫助。是的,我使用VS 2005運行應用程序,並在程序 – 2011-04-12 20:59:38

+0

中的一行代碼中設置斷點。如果執行Debug.WriteLine(「Hello World」)調用,會發生什麼? – ctacke 2011-04-12 21:38:01

0

我終於搞定了,但我仍然不確定確切的問題是什麼。

「修復」是從一個全新安裝的Windows XP,Visual Studio 2005和Windows Embedded CE 6.0以及所有最新的QFE開始的。

重建OS映像後,我的兩個測試應用程序開始按預期工作。