The basic idea behind this tool is simple: Fire it up (which may take quite some time the first time you do it...this is something that should be improved), pick the namespaces you are interested in (or use one of the Select... buttons at the bottom to pick likely set of namespaces that seem to be used a lot), pick the version of XAML you want to compare from (such as "WPF" if you are currently using WPF and want to convert from WPF to some other dialect) and then pick the target (such as "Metro" if you are wondering how hard it will be to convert your WPF app to Metro... or whatever the case may be) and click "Go". This then creates a compatibility report.

What Really Happens

The tool has a list of all types and members used by WPF, Silverlight, Windows Phone, and Metro, and it creates a Matrix that can be used to compare what is available. This takes a long time the first time around, so please be patient. Subsequent times us a cache file (see below).

Note that a) this tool is in beta and provided "as is" (there could be issues with the code that might create misleading results), and b) the results have to be taken with a grain of salt, because the tool only compares the types to see what exists. The tool does not know however, whether classes, properties, methods, and events of the same name and signature, do in fact behave the same way or not. As such, the tool is only to be used for general guidance and you have to draw your own conclusions based on the created results.

The Cache File

Since there is so much to compare, the tool creates cache files in your "My Documents\XamlAnalysis" folder. Note that this can be large, so you may consider deleting that cache if you do not need the tool anymore. It does however significantly speed up startup (which can take 15 minutes or more on some systems, the first time the tool runs).

Note: This performance problem is due to a) the large size of the data set, but b) also due to how the tool has grown and needs to be cleaned up. Consider it a "beta issue" ;-)

Last edited Mar 30, 2012 at 6:30 AM by MarkusEgger, version 3


No comments yet.