Developing .NET Compact Framework apps in Post-2008 Visual Studio?
I want to develop a Compact Framework App for a Windows CE 6.0 target device. Can I do this with Visual Studio 2013?
If this is not possible, what would be a development environment for .net compact framework?
Solution 1:
I'm positive this question is a duplicate, but for the life of me I can't find the original so I'll re-answer here.
Microsoft's support for Compact Framework development is not completely obvious or well documented. It's a mixed matrix of the target version of Windows CE, the version of the Compact Framework and the version (and SKU level) of Visual Studio.
Generally speaking it comes out like this, based on your target OS:
WEC 2013
WEC 2013 supports only Compact Framework 3.9. Assemblies targeting previous CF versions should be recompiled (though I suspect they would still run).
Compact Framework 3.9 is supported starting with Visual Studio 2012, so you must use VS2012 or later for these projects.
Unlike previous versions of the CF, CF 3.9 application development isn't provided "out of the box" in these versions of Visual Studio. You must install an "Application Builder" SDK from the device vendor to do any CF development.
Windows CE 7.0
Windows CE 7.0 supports CF 3.5 or CF 2.0 applications. Generally these devices only shipped with CF 3.5, if it was included, because 2.0 wasn't available as a catalog item in Platform Builder.
You can develop CF applications for CE 7 in Visual Studio 2008 Pro or Visual Studio 2005 Standard (CF 2.0) only. There is no option to build using a newer version of Visual Studio for these targets, period.
Where does one get Studio 2008, you might ask? Either through an MSDN subscription, or (and many don't know) by purchasing Platform Builder 7.
Windows CE 6.0
Same story as CE 7.0 above. CF 2.0 or 3.5, using Studio 2008 Pro or Studio 2005 Standard.
Windows CE 5.0 and Windows Mobile 5.0-6.x
Same story as CE 7.0 with an addition. These platforms also support CF 1.0. For CF 1.0, using Visual Studio 2005 Standard or Visual Studio 2003 Professional.
Windows CE 4.2
My memory gets hazy here, since it's been a while, but IIRC you can use CF 1.0, 2.0 or 3.5. This would require Studio 2005 Standard (CF 2.0/3.5) or Studio 2003 Pro (CF 1.0)
Windows CE 4.1
Supports CF 1.0, using Studio 2003 Pro or eVC 4.0
Windows CE 4.0
Though this was called "Windows CE .NET", it actually had nothing to do with .NET outside of marketing. It will not run CF apps of any sort. eVB or eVC were the choices for application development
Windows CE 3.0 and Pocket PC (original and 2003 variants)
eVB or eVC were the development platforms.
Windows CE 2.11 and 2.12, HPC Pro
eVB or eVC
Windows CE 2.0, PsPC
(Yes, my memory goes back this far)
eVB, eVC or the Visual Basic 6.0 Toolkit for Windows CE, depending on when you came into it
Solution 2:
If targeting Windows CE/Mobile 5-6.5 then the last version to support .NET CF was Visual Studio 2008 and so generally speaking apps for .NET CF must be developed in that.
There is however a plugin for Visual Studio 2013 (required Visual Studio 2008 Installed) to allow development of .NET CF apps but its not free:
http://ifactr.com/platform/modernization-framework/visual-studio-2013-compact-framework-plugin
Solution 3:
It is alwyas best to go to the source:
http://msdn.microsoft.com/en-us/library/dn197932.aspx
A quick summary:
Get started developing for Windows Embedded Compact in Visual Studio (Compact 2013)
You can develop your .NET Compact Framework 3.9 or Visual C++ apps from within Visual Studio 2013 or Visual Studio 2012 Professional, Premium, and Ultimate editions. When you install Application Builder and the SDK provided for the version of Windows Embedded Compact Edition you are targeting, the SDK provides Visual Studio project templates and Application Builder provides the ability to deploy your apps from Visual Studio to a device or virtual machine for debugging and testing.
And if you are targeting earlier devices that are still running Windows Mobile 6.5 or earlier, or Windows CE devices running Windows Embedded Compact 7 or earlier, you will need to use the tried-and-true Visual Studio 2008.