I downloaded the Visual Studio 2008 beta and started messing around with it. I was particularly curious about the .NET Compact Framework, and poking around with writing programs for my fancy new AT&T 8525.
First impressions of Visual Studio 2008 are positive. It’s basically a refined version of 2005, with support for newer versions of the .NET framework. I haven’t worked long enough with it yet to say for sure if it’s more or less stable than 2005, though. The beta will apparently be usable through mid-March 2008, so I should be able to get a solid amount of seat time in on it.
As far as mobile development goes, my initial experience has been similar to that of developing for game consoles. That is, any time you’re targeting a platform other than the one you’re working on, there are going to be little quirks and things that trip you up. You’re almost guaranteed to run afoul of some esoteric detail when you’re first getting familiar with a platform, whether it be during setup of a console development kit, debugging applications, or burning application discs. Resolving some of these issues can sometimes take days of careful documentation perusal, consultation of fellow developers, maddening experimentation, and ingenious debugging techniques.
In my case, my first hurdle to overcome related to code signing for Windows Mobile. Running my “Hello Mobile” application on my actual phone resulted in a user prompt to confirm the execution of unsigned code. I realized that hitting “Yes” every time I wanted to debug on the phone would get tiresome, so I decided to set up code signing for the application to streamline things.
Unfortunately, this article in the Windows Mobile 5 SDK led me astray. I followed the instructions and installed the SdkCerts.cab file on my phone, and everything seemed okay. However, from that point on, any attempt to deploy my test application onto the phone would fail with an error relating to security settings on the device. (“The device security configuration disallowed the connection. Ensure that you have the appropriate certificates on your device for development. Review your SDK documentation for proper security settings for connecting to this device.”)
“Here we go again,” I’m thinking…
I found this article that described a similar problem, and tried to figure out what was wrong. I was able to run the rapiconfig
tool, but although the tool claimed success, I was still unable to deploy or run my application. I futzed about a little bit more, and then decided to throw in the towel — I would simply wipe my phone and start anew. (Thanks to ActiveSync, I wouldn’t lose any of my contacts, appointments, or anything else like that, so wiping my phone wasn’t actually a big deal from a time-loss perspective.) I realize that, by going this route, I’m not really solving the problem or gaining any understanding of it…but at this early juncture, I would rather think more about application development than trying to understand mobile security models.
After wiping my phone, I investigated the Device Security Manager in Visual Studio, which apparently shipped as a PowerToy for Visual Studio 2005 but is a standard feature in 2008. I connected my phone, and was able to upload the proper SDK test certificate to the phone without incident. Finally, I set up my C# project settings to sign using the appropriate key, and presto…problem solved. I can deploy and debug without any annoying dialog boxes…
Hello, mobile.