We are going to install FxCop and integrate it with Visual Studio when a project is build. All violations of FxCop rules will be viewed in Warnings tab of Visual Studio and the build will fail.
Install FxCop : Click here
Edit the .csproj and add below tag under the last <PropertyGroup> tag and just above the child node <PostBuildEvent>
<FxCopResults> $(ProjectDir)obj\$(Configuration)\FxCopResults.xml </FxCopResults>
In the <PostBuildEvent> tag add the below mentioned text
"%25ProgramFiles%25\Microsoft FxCop 10.0\FxCopCmd.exe" /file:"$(TargetPath)" /console /out:"$(ProjectDir)obj\$(ConfigurationName)\FxCopResults.xml"
In the <Target Name=”BeforeBuild”> tag add the below mentioned tag
<Delete Files="$(FxCopResults)" ContinueOnError="true" />
In the <Target Name=”AfterBuild”> tag add the below mentioned tag
<Error Text="One or more FxCop warnings occurred. Please look at the Warnings tab." Condition="Exists('$(FxCopResults)')" />
After completing all the above steps the xml in project file will look something similar to this
<Error Text="One or more FxCop warnings occurred. Please look at the Warnings tab." Condition="Exists('$(FxCopResults)')" />
Make sure your <Target Name=”BeforeBuild”> and <Target Name=”AfterBuild”> is not commented. Build your project if FxCop catches any error you will see an error as “One or more FxCop warnings occurred. Please look at the Warnings tab.”
<PropertyGroup> <FxCopResults> $(ProjectDir)obj\$(Configuration)\FxCopResults.xml </FxCopResults> <PostBuildEvent> "%25ProgramFiles%25\Microsoft FxCop 10.0\FxCopCmd.exe" /file:"$(TargetPath)" /console /out:"$(ProjectDir)obj\$(ConfigurationName)\FxCopResults.xml" </PostBuildEvent> </PropertyGroup> <PropertyGroup> <PreBuildEvent> </PreBuildEvent> </PropertyGroup> <Target Name="BeforeBuild"> <Delete Files="$(FxCopResults)" ContinueOnError="true" /> </Target> <Target Name="AfterBuild"> <Error Text="One or more FxCop warnings occurred. Please look at the Warnings tab." Condition="Exists('$(FxCopResults)')" /> </Target>
Happy Coding!