This documentation is archived and is not being maintained.

Smart Device Development

Smart device development refers to the development of Windows CE and Windows Mobile-based rich-client applications that run on the device itself. Visual Studio offers rich, integrated support for developing software that runs on Windows CE-based smart devices such as Pocket PCs and Smartphones. You can use Visual C# or Visual Basic to write managed applications that run on the .NET Compact Framework, or you can write native applications by using Visual C++. Whichever language you select, you will use the same code editor, designers, and debugger interface as you would use when you develop desktop applications. Simply select from one of the Smart Device Project templates available for the language of your choice, and begin coding. 

Visual Studio provides emulators that enable you to run and debug your code on your development computer. In addition, Visual Studio provides tools that simplify packaging your application and its resources into CAB files for deployment to end-user devices.

For the most up-to-date information about smart device projects, visit the Mobile Developer Center.


Visual Studio also supports a different kind of device development known as Mobile Web development with ASP.NET. Mobile Web development refers to the development of mobile Web applications that run on a Web server and are rendered in different formats on a variety of browser-equipped mobile devices. For more information about mobile Web development, see Developing Web Sites for Mobile Devices.

Getting Started with Smart Device Projects

Provides overview information about issues specific to device application development, such as what's new for Visual Studio, how Visual Studio for Devices relates to other Windows Mobile SDKs and tools, and how to set up your computer to do software development for devices.

Design Considerations for Smart Device Development

Provides information about how to select a project type, selecting a development language, and customizing skins for emulators.

Working with Smart Devices and Emulators

Provides information about the Device Emulator and how to connect devices to Visual Studio.

Programming for Devices Using the .NET Compact Framework

Explains common procedures for developing smart device software by using Visual C# or Visual Basic and the .NET Compact Framework.

Programming for Devices Using Visual C++

Explains common procedures when you use Visual C++ to develop native device applications.

Debugging Device Projects

Explains differences from desktop debugging, and provides instructions for debugging solutions made up of both native and managed code.

Testing Tools for Smart Device Projects

Describes the testing tools for smart devices that enable you to create, managed, edit, and run tests on Visual C# and Visual Basic smart device applications.

Packaging Device Solutions for Deployment

Provides instructions for packaging the device applications that you develop and transferring them onto one or more target devices.

Security in Device Projects

Describes how to sign files with security certificates and provision devices.

Reference (Devices)

Includes reference topics for ATL and MFC for devices, user interface reference for device projects, error messages, and more.

Smart Device Samples

Provides complete projects to illustrate the syntax, structure, and techniques used to solve device programming challenges.

.NET Compact Framework

Describes how to program device applications. The .NET Compact Framework brings the power of the .NET Framework to devices. Compares the .NET Compact Framework with the .NET Framework, describes key features, illustrates common programming tasks, and lists supported classes.

Introducing Visual Studio

Describes what's new in Visual Studio.

Application Development in Visual Studio

Provides information about designing, developing, debugging, testing, and managing applications created by using Visual Studio.