Read the README that’s included as part of the XAML Toolkit CTP.
The big thing to note is that FxCop 10 Beta 2 does not currently support Silverlight. You’ll have to use FxCop 1.36 and force it to run in .NET 4 to get things to work for Silverlight. If you’re running WPF, FxCop 10 should be fine. (FxCop 10 RC & RTM wills support Silverlight)
After running FxCop, add the XAML Rule
Go to the folder where you installed the XAML Toolkit (C:\Program Files\Microsoft XAML Toolkit\) and add Microsoft.Xaml.Tools.FxCop.dll
You should see all the XAML rules added in the Rules section:
Add your Silverlight/WPF assembly and hit F5 (or Analyze). You may get a popup about finding System.Windows.dll. Have it point to C:\Program Files\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0
WPF users can point to PresentationFramework/PresentationCore/WindowsBase in C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0
You may also need to point FxCop towards System.Windows.Controls.dll which can be found in: C:\Program Files\Microsoft SDKs\Silverlight\v4.0\Libraries\Client
If everything goes smoothly you should see the rules run:
You should be able to do similar things for adding your own custom rules to FxCop as well.
One of the most common requests I had at PDC was to be able check if your WPF XAML was Silverlight friendly and vice versa. Over the next few weeks, I’ll try working on some simple rules to validate WPF/Silverlight compatibility and whether you can use the XAML between the two platforms.
Pingback: Twitted by alvinashcraft
Pingback: Tweets that mention Running FxCop rules against Silverlight or WPF XAML | Michael Shim -- Topsy.com
#1 by Thadeus on November 24, 2009 - 12:35 am
Quote
Great job !
Nevertheless i have some trouble to add your assemblies into fxcop 1.36, i have the error “Unable to load the assemblie …. or one of its dependence”
Pingback: Dew Drop – November 24, 2009 | Alvin Ashcraft's Morning Dew
#2 by Michael Shim on November 24, 2009 - 3:03 pm
Quote
Sorry about that Thadeus. We had a couple of issues but it should be all fixed now. Let me know if you still have issues.
#3 by Vikd on December 2, 2009 - 12:34 am
Quote
Thanks for posting this Michael.
I am still facing the same issue mentioned by Thadeus.
Took the latest version from http://code.msdn.microsoft.com/XAML/Release/ProjectReleases.aspx?ReleaseId=3598
#4 by Michael Sync on December 9, 2009 - 4:59 pm
Quote
Could you please support .NET 3.5 as well?
#5 by Michael Shim on December 10, 2009 - 8:54 am
Quote
Do you want to analyze 3.5 XAML or run XAML FxCop on 3.5?
We should be able to run against 3.5 XAML. I’ll try it out and see what issues pop up.
The XamlToolkit is built on System.Xaml which is a .net 4 component so we’d have to port that first (which may not be possible). Why do you want to use 3.5?
#6 by Eddie on February 16, 2010 - 10:35 am
Quote
When are the FxCop bits going to be updated for the new release candidates of VS and .NET Fx?
FxCop crashes when you point it at the new runtime.
Thanks