I bit the bullet today and started my first 2005 solution. I'm not talking about a “coding for fun” project. I'm talking about an enterprise solution. Specifically, to handle automated shipping and receiving for RFID.
I had started the solution with VS 2003, but decided to convert what I had (currently only two projects and about 30 classes) based on my experiences so far and the information from the RFID framework provider, Globeranger. Although, the iMotion EdgeWare framework does not support CLR 2.0 libraries the “development testing on 2.0 and [the] products seem [to] work.”
GlobeRanger was cautious in the e-mail they sent me indicating that “QA has not tested and ... have not certified [the framework].” And the representative said, "Certification will occur on .NET 2.0, [we] just don't have a date yet." They do have a utility that will allow the applications and services to run on CLR 2.0. The utility will be invaluable for testing. It was also made clear that only version 5.1 of the iMotion EdgeWare will work with CLR 2.0.
I feel confident about my decision, because it will be months before I complete the development and testing for the solution. And in the meantime I want to take advantage of all the new features in VS 2005. What better way of learning the tools then with a real-world solution?
The conversion went off fairly well. The only user input was to specify a backup directory. I think it would have been useful to specify a destination location instead. As it is, I had to move the converted files to a new directory underneath the Visual Studio 2005\Projects directory. (I don't care what anyone says. I like the My Documents folder hierarchy.) At the end of the conversion you have the option of viewing the conversion log. I chose to view the log, because I like to know what is going on. I was pleasantly surprised to find the log displayed within Visual Studio in an appealing format due to the XSLT and CSS files behind the scenes.
There's really not much involved in the conversion. According to the log it converted my SLN file and my CSPROJ files. It didn't touch any of the code files. I'm not sure if that's because of my code, or because of the conversion in general. The application compiled although with warnings. The warnings included:
- Use the command line /KEYFILE instead of using the AssemblyKeyFile attribute in the ASSEMBLYINFO.CS file
- Thread.Suspend depricated
- Thread.Resume depricated
The first was easy to fix, the second is taking a little more work to achieve the result that I want.