Today our team wanted to be able to determine the AssemblyVersion of a Compact Framework application from the developer's desktop without having to access the source code, or install it on a Windows Mobile device.
The first place we checked was inside Windows Explorer in Details View. We found the "File Version" and the "Product Version" details. The only problem here was they were both set to empty strings.
The next best option was Lutz Roeder's Reflector for .NET. Okay, now we can see Assembly Version 1.4.3.0. We're cooking with gas now.
I'm still thinking this would make a good shell extension, right-click an assembly and get a message box displays with the assembly's main stats.
I did a little researching and found out, on The Moth's blog, that this is a known issue with the .NET Compact Framework.
"The Compact Framework does not support the AssemblyFileVersion attribute."
"Also learned the Product Version of your file can be set with the AssemblyInformationalVersion."
Neil Cowburn stopped by to point out his blog post on HOWTO: Add the Win32 file version to your .NET Compact Framework assemblies. I did actually attempt to get to this article from The Moth's blog, but the link didn't find the article directly. Looking at the date I think I can guess why.
Daniel Moth further clarifies the root cause and cases of the issue we were seeing, and as matter of fact it was indeed a .NET Compact Framework v1 application that had been updated to v2 that we weren't seeing the file version information. Thanks guys. Now we know it's "by design", and have a another work around as well.