Oliver Huppert said:
Hi all,
can someone tell me what I need to develop applications for PPC2003 with C#?
I have read several meanings about this topic.
Do I need Visual Studio .NET or is Visual C# .NET Standard enough??
Here is an answer:
http://msdn.microsoft.com/mobility/netcf/FAQ/default.aspx#1.2
Frequently Asked Questions
Find answers to frequently asked questions about Microsoft® .NET Compact Framework development.
This FAQ is compiled, in part, from questions and answers posted to the public .NET Compact Framework newsgroup (microsoft.public.dotnet.framework.compactframework). The .NET Compact Framework team would like to thank everyone for their participation in the public newsgroup and for their contributions to this FAQ and the ..NET Compact Framework development community as a whole.
To request FAQ items, please send e-mail to (e-mail address removed).
1. Development
1.1. What is the Microsoft .NET Compact Framework?
1.2. What tools do I need to develop a .NET Compact Framework application?
1.3. Where can I download the latest tools and software?
1.4. What devices are supported by the .NET Compact Framework?
1.5. What devices will be supported by the .NET Compact Framework in the future?
1.6. Why does the debugger fail to establish a connection to the emulator (error launching application)?
1.7. What are the differences between the .NET Framework and ..NET Compact Framework?
1.8. What is new in the latest .NET Compact Framework Service Pack?
1.9. What are the differences in Microsoft .NET Compact Framework development between the Pocket PC and Windows CE .NET?
1.10. Where can I find more information about how to create .NET Compact Framework-based applications?
1.11. Where is the documentation for the .NET Compact Framework?
1.12. How do I specify not to copy a dependant file every time the debugger runs?
1.13. How do I set the emulator properties?
1.14. How do I debug a Microsoft .NET Compact Framework application?
1.15. How do I get started using Visual Basic .NET to develop applications for devices?
1.16. How do I install .NET Compact Framework Assemblies into the Global Assembly Cache (GAC)?
1.17. How can I work around "Sharing Violation" when deploying a Smart Device application from Visual Studio .NET 2003?
1.18. What is the common language runtime (CLR)?
1.19. What is the Global Assembly Cache (GAC)?
1.20. How is memory managed in the .NET Compact Framework?
1.21. Why can't I deploy to my device when the number of network protocols exceeds 50?
1.22. Why are there cross-platform binaries?
1.23. What are all of these ARM binaries?
1.24. How do I write to the registry on a device?
1.25. How can I prevent .CAB files from being deleted after installation?
1.26. How can I determine the version of the .NET Compact Framework that is installed on a device?
1.27. How do I copy files to the emulator?
1.28. Why does installation of the PocketPC 2002 SDK fail?
1.29. How do I debug a Web service consumed by a Smart Device application?
1.30. What is the footprint of the .NET Compact Framework?
1.31. How do I include imgdecmp.dll in an emulator image?
1.32. How do I programmatically replace Assemblies in the Global Assembly Cache (GAC)?
1.33. How can I display Pocket PC applications on my desktop or laptop without needing any device side configuration?
1.34. How can I allow Activesync to connect to an Emulator session from Visual Studio .NET 2003?
1.35. How can I copy files to the device currently connected to desktop ActiveSync?
1.36. How can I stress test user input?
1.37. Where can I get a UI version of the Platform Builder Target Control Window?
1.38. Where can I get a Command shell for Pocket PC 2003 devices?
1.39. How can I get detailed information about currently running processes?
1.40. How can I remotely start an application on a Pocket PC from my desktop?
1.41. Why can't I load different assemblies with the same name?
1.42. How can I force Visual Studio .NET 2003 to connect to newer versions of the Pocket PC 2003 emulator?
1.43. Why don't my custom controls show up properly in the toolbox?
2. Graphics
2.1. How do I create a Graphics object?
2.2. What can I do to optimize GDI+ rendering?
2.3. How do I draw an image on a form?
2.4. How do I draw an image with transparency?
2.5. Why does CreateGraphics fail when I call it on a TextBox?
2.6. How can I determine the screen size of text?
2.7. Can I set the width of a pen?
2.8. How do I zoom an image?
2.9. Why can't I load an image?
2.10. How do I use GAPI to create a graphics engine?
3. Deployment
3.1. How do I create a PocketPC setup application?
3.2. Which redistributables can I include with my application install?
3.3. How can I create an install program that does not require the .NET Framework on the desktop?
3.4. How do I create a Pocket PC platform independent CAB file?
3.5. Why are there different CAB files for each processor type?
3.6. How do I create a desktop installer that detects the presence of the .NET Compact Framework on the target device and installs it if necessary?
3.7. How do I deploy a .NET Compact Framework Service Pack to the emulator?
3.8. How do I include SQL Server CE with my application installation?
3.9. How do I run my application at startup?
3.10. How do I detect the version of the .NET Compact Framework from a desktop installer?
4. Graphical User Interface (GUI): Forms
4.1. How do I create a full screen form?
4.2. When should I use the form constructor vs. the Load function?
4.3. How do I replace the smart minimize button with a close button?
4.4. How do I create a Multiple Form Application Framework for the Microsoft .NET Compact Framework?
4.5. How can I improve Microsoft .NET Compact Framework-based application Form load performance?
4.6. How do I modify Form styles at runtime?
4.7. How do I scroll From contents?
4.8. How do I make a floating form? It looks like forms are always full screen.
4.9. How do I force a form to stay minimized?
4.10. I have a Smart Device form with a lot of controls. Why do I get a "NotSupportedException" at runtime?
4.11. What is the proper method to close a form: Application.Exit or Form.Close?
4.12. Why does showing a MessageBox on Windows Mobile 2003 for Smartphone with the Abort, Retry, and Fail set of buttons or the Yes, No, Cancel set of buttons, or the third button as the default button result in a NotSupportedException?
4.13 How do I get an icon in the Pocket PC Start Menu Most Recently Used (MRU) List?
4.14 How do I center a Form on the screen?
4.15 Why can't I show a Form that has been closed?
4.16 How can I enable multiple instances of an application?
5. Graphical User Interface (GUI): General
5.1. How do I create an image or multi-line text button?
5.2. How does TextBox.AcceptsReturn work in the .NET Compact Framework?
5.3. Why is the SelectedIndexChanged event not triggered when data is loaded into a ComboBox?
5.4. What is the difference between Show and ShowDialog?
5.5. Why can't I create a ContextMenu separator?
5.6. Why do images not show up when I assign an ImageList to a ToolBar at run-time?
5.7. How do I set the waiting cursor?
5.8. How do I display an ampersand (&) in a menu item?
5.9. How do I create a Microsoft .NET Compact Framework-based Animation Control?
5.10. How do I create Custom Controls for the .NET Compact Framework?
5.11. How do I create a Microsoft .NET Compact Framework-based image button?
5.12. How do I use the Microsoft .NET Compact Framework MessageWindow class?
5.13. How do I add rows and columns to a DataGrid?
5.14. How do implement cell editing in a DataGrid?
5.15. How do I set the DataSource of a DataGrid?
5.16. How do I sort the columns of a DataGrid?
5.17. How do I sort ListView items?
5.18. How do I use the InputPanel Component (SIP)?
5.19. How do I create custom events?
5.20. How do I create an owner-drawn List Box?
5.21. How do I create a true/false check box?
5.22. Why do I get an exception when I set InputPanel.Enabled = true?
5.23. Why doesn't my custom control inherit its parent's font automatically?
5.24. Why don't the NumericUpDown and DomainUpDown controls fire their ValueChanged and SelectedItemChanged events when I manually enter new text?
5.25. Why does the NumericUpDown control increment its value by something other than the set Increment value?
5.26. Why can't I place the StatusBar control anywhere on a form? It seems to always go to the bottom?
5.27. Why doesn't my custom control inherit its parent's background color automatically?
5.28. Why does the NumericUpDown control not seem to use any numbers greater than 2^16, even though it accepts a decimal Value?
5.29. Why can't I enter text into a DomainUpDown control and have it select the associated item?
5.30. Why is the OpenFileDialog restricted to the "My Documents" folder?
5.31. How can I activate the SIP (InputPanel) without a menu?
5.32. How do I add a subnode to every node in a TreeView?
5.33. How do I determine the number of rows or columns in a DataGrid?
5.34. How do I create a owner drawn Listbox?
5.35. How can I implement Control.GetNextControl under the .NET Compact Framework?
5.36. How do I get notified when the user clicks on a treeview node?
5.37. How do I set the title of a fullscreen multiline edit control window?
5.38. Why don' I see the validItem selected when I set ComboBox.SelectedValue to validItemInCollection?
5.39. How do I detect the location where a 'tap & hold' occurred to bring up a context menu on my custom control?
5.40. Why doesn't the scrollbar value ever get set to the maximum value?
5.41. How do I tab out of a custom control to the previous control?
5.42. How do I add Toolbar buttons with Transparency?
5.43. How can I allow multiple selections in a ListView Control?
6. Interoperability and Native Code
6.1. How do I call a function that is in a native DLL?
6.2. How do I use dumpbin.exe as an aid for declaring P/Invokes?
6.3. How do I write unmanaged functions for Microsoft .NET Compact Framework-based applications?
6.4. How do I P/Invoke GetTickCount?
6.5. How do I determine how much memory a device has available?
6.6. How do I force a form to stay minimized?
6.7. How do I marshal types during Platform Invoke (P/Invoke) on the Microsoft .NET Compact Framework?
6.8. How do I get a handle (HWND) of a control or form?
6.9. How do I use the performance counter functions?
6.10. What are the limitations on marshalling types via P/Invoke?
6.11. Why do I get odd return codes when I P/Invoke to GetLastError?
6.12. Is there a limit on the number of arguments I can pass to a native function?
6.13. Why do I get a "NotSupportedException" when I P/Invoke to a native function?
6.14. How do I convert a byte[] to an IntPtr?
6.15. Why do I get a MissingMethodException when I call a function from a native DLL?
6.16. How do I set the system time?
6.17. How do I programmatically soft reset the device?
6.18. How can I put an icon on the title bar regardless of the which form is active?
6.19. How do I disable and capture hardware buttons?
6.20. How do I hide the start icon?
6.21. How do I enumerate, create, and terminate processes?
6.22. Where can I find a centralized library of P/Invoke samples?
6.23. How do I play and record .WAV audio files with the Waveform Audio Inteface?
6.24. How can I allow a Control to accept multiple selections?
7. General
7.1. How do I determine the application's root directory?
7.2. How can I calculate an accurate time interval?
7.3. How do I access an embedded resource as a stream?
7.4. Why am I getting the message: "An unhandled exception of type 'System.Net.Sockets.SocketException' occurred in System.dll?"
7.5. How do I use the performance monitor?
7.6. How do I stop an application from closing?
7.7. How do I launch another application from within my application?
7.8. What threads are created by a .NET Compact Framework application?
7.9. How do I convert a byte array to a structure?
7.10. Can I create a custom delegate to pass to invoke?
7.11. How do I access the Phone APIs from the Microsoft .NET Compact Framework?
7.12. How do I generate GUIDs on the Pocket PC?
7.13. How can I incorporate Pocket Outlook data into my Microsoft .NET Compact Framework-based applications?
7.14. Can I determine the version of a file in the .NET Compact Framework?
7.15. What are some techniques for Microsoft .NET Compact Framework background processing?
7.16. What are some tips for Microsoft .NET Compact Framework Multithreading?
7.17. How do I use obfuscation in Smart Device Applications?
7.18. How do encrypt and decrypt data using the cryptography services?
7.19. How do I retrieve a unique Windows CE Device ID with the Microsoft .NET Compact Framework?
7.20. How do I send SMSs from my Microsoft .NET Compact Framework-based Applications?
7.21. How can I determine the Sender of an Event without using the Control.Name property?
7.22. How do I invoke method parameters on a thread?
7.23. How do I create notifications and timed applications?
7.24. How do I play a sound?
7.25. How do I use command line arguments?
7.26. Why do I get an exception when using properties or methods on a disposed object?
7.27. How do I get the "Enter", "TAB", and "Arrow" key press events?
7.28. How do I delete a read-only file?
7.29. How do I determine if a member exists at runtime?
7.30. How do I determine the device name programatically?
7.31. How do I build a C# Smart Device project from the command line?
7.32. How do I abort an executing thread?
7.33. Why can't I play a movie on the Pocket PC emulator?
7.34. How do I suppress Form titles from showing in the active applications list?
7.35. How do I access a Control from its instance name?
7.36. How do I detect the hardware directional pad buttons?
7.37. How do I get a double click event when only the Click event is supported?
7.38. How do I get onenter/onleave style notifications?
7.39. How do I use threading in a modal dialog that doesn't hang my app?
7.40. How do I round floating point numbers efficiently?
7.41. Why does Control.Invoke take so long when a modal dialog is displayed?
7.42. Is there a way to retrieve the culture information of an Assembly?
7.43. Why do I get a NotSupportedException when calling some System.Math methods?
8. Communications and Web services
8.1. How do I send data over TCP sockets to a desktop server?
8.2. Why can't I access a Web service on localhost?
8.3. How do I consume Web services with the Microsoft .NET Compact Framework?
8.4. How do I submit an HTTP GET Request with Proxy?
8.5. How do I use an Web service?
8.6. How do I get a map with MapPoint 3.0?
8.7. How do I get a map and directions with MapPoint 3.0?
8.8. Is NTLM authentication supported by the .NET Compact Framework?
8.9. When using blocking Sockets, why does Send throw an InvalidOperationException when blocking is set to false?
8.10. How do I create an http-server?
8.11. Why do I get an exception when calling SetSocketOption with ReuseAddress set?
8.12. Why do I get a socket error using SSL to communicate with a server via the WebRequest namespace?
8.13. Why do I get an invalid chunk length error when executing HTTPWebRequest?
9. SQL CE and Data
9.1. What are some development considerations for developing applications with the .NET Compact Framework, SQL Server CE, and Replication?
9.2. How do I use Merge Replication with the Microsoft .NET Compact Framework?
9.3. How do I use ADO.NET Data Binding with XML?
9.4. How do I create an SQL Server CE Database?
9.5. How do I submit an SQL Server CE parameterized query?
9.6. Why does using RDA and the push method fail with error 27750?
10. Additional Information
10.1. Pocket TaskVision Application.
10.2. Create a Microsoft .NET Compact Framework-based Process Manager.
10.3. Developing mobile games using the Microsoft .NET Compact Framework.
10.4. Create a Microsoft .NET Compact Framework-based DateTimePicker control.
10.5. Write a Pocket PC signature capture application.
10.6. Are there any non-Microsoft web sites that have information about developing .NET Compact Framework-based applications?
11. Connectivity
11.1. Why am I unable to deploy to Windows CE devices through ActiveSync?
11.2. Why am I unable to debug CEPC or any other x86 based Windows CE devices through ActiveSync?
11.3. Why does debugging fail when Toolhelp.dll is missing on the device?
11.4. Why am I unable to deploy to devices when the number of network protocols exceeds 50?
11.5. Why am I unable to deploy to devices through ActiveSync after uninstalling ActiveSync?
11.6. How come localized machine names or user names may cause failure of deployment to devices?
11.7. Why does deployment to devices fail if the logon user is not in the Administrators group?
11.8. Why does deployment to a Pocket PC device or Emulator fail with a sharing violation error?
11.9. Why do I get a Security Alert message when the Emulator is used for the first time on a Windows Server 2003 machine?
11.10. Why do I get an error message about missing files when the Emulator is being started?
11.11. Why does the first Emulator deployment attempt sometimes fails?
11.12. How come after the Emulator is started with the Connect to Device button, the first deployment attempt fails?
11.13. Why does Emulator debugging fail if the machine does not have a network connection?
11.14. How come the Emulator won't boot (black screen) if it uses a COM port?
11.15. Why does the Visual Studio .NET 2003 Emulator not work with eMbedded Visual Tools Emulator at the same time?
11.16. Why am I unable to deploy to a device with a TCP connection but no ActiveSync connection?
11.17. How can I allow Activesync to connect to an Emulator session from Visual Studio .NET 2003?
11.18. How can I copy files to the device currently connected to desktop ActiveSync?
11.19. Why does the Visual Studio debugger fail to connect to an ARMV4I device?
12. Smartphone
12.1. Where can I get the latest Smartphone SDK?
12.2. What are the rules for Smartphone menus?
12.3. Why are there disabled controls in the toolbox when creating a Smartphone project?
12.4. Does Smartphone support RAM installs of the .NET Compact Framework?
12.5. How do I set the title of a fullscreen multiline edit control window?
12.6. How can I generate Smartphone CABWizSP XML docs from existing Pocket PC CAB files?
12.7. How can I send characters and strings to the Smartphone 2003 Emulator via ActiveSync?
12.8. How do I programmatically set the Smartphone input mode?
Top of Page
--------------------------------------------------------------------------
1. Development
1.1. What is the Microsoft .NET Compact Framework?
The Microsoft .NET Compact Framework is the smart device development framework for the Microsoft .NET initiative and a key part of realizing Microsoft's goal to provide customers with great experiences - any time, any place, and on any device. The .NET Compact Framework brings the world of managed code and Web services to smart devices, and it enables the execution of secure, downloadable applications on devices, such as personal digital assistants (PDAs), mobile phones, and set-top boxes.
http://msdn.microsoft.com/mobility/prodtechinfo/devtools/netcf/overview/default.aspx
1.2. What tools do I need to develop a .NET Compact Framework application?
Visual Studio .NET 2003 Professional, or higher, is required to develop .NET Compact Framework-based applications for devices based on Pocket PC 2000, Pocket PC 2002 and Windows CE .NET 4.1. The .NET Compact Framework ships with Visual Studio .NET 2003.
I believe there will be a .NET Compact Framework SDK available when version 2.0 is released.
- carl