If you're gonna to use .net then you have to get Visual Studio 2008 and download the Windows Mobile SDK. They removed the support for creating Windows Mobile applications in VS 2010 and up.
In Visual Studio 2008 you will find smart device project etc.. And there is also a Emulator for it.
There is other options to create applications for these devices. Like RhoMobile Suite. With it you code HTML5 / CSS3/ Javascript / Ruby etcc. But it is not free. Developing applications in RhoMobile is free but when deploying it and uses some features will cost.