Showing posts with label FxCop. Show all posts
Showing posts with label FxCop. Show all posts

How to suppress code violations in FxCop?

Monday, September 28, 2009


You can suppress code violations in FxCop by providing using the attribute
System.Diagnostics.CodeAnalysis.SuppressMessage


www.codecollege.NET

What is the namespace used to interact with the code analysis tools in .NET?


System.Diagnostics.CodeAnalysis.


www.codecollege.NET

What is the use of CompilerGenerateAttribute in FxCop?


If this attribute is given to your code then FxCop will not raise warnings. Generally it is used to give for
compiler generated code.


www.codecollege.NET

Name some of Code Analysis Tools ?

Wednesday, August 5, 2009


1. FxCop
2. StyleCop
3. NDepend
4. SourceMonitor


www.codecollege.NET

FxCop – Part III (A detailed explanation over Project)

Thursday, June 25, 2009

FxCop – Part III (A detailed explanation over Project and its functionalities)


In the Part I we saw the introduction to FxCop and in Part II we saw about the startup usage of FxCop. In this Part III we are going to see in detail about FxCop Project and its features.



Here we dived the explanations over the Project into 2, they are:

· Basics of Project

· Advanced features of Project



Basics of Project:

In this we will see the basics of FxCop Project which needs little explanation. The topics we are going to cover here are:

1. Creating a new project

2. Open an existing project

3. Saving project

4. Opening Recent Projects

5. Saving Reports

6. Importing Reports

7. Adding Targets

8. Adding Rules

9. Analyzing a Project

10. Viewing Analysis Summary



1. Creating a new Project:

To create a new project,

Click File > New Project.



2. Open an existing project

To open an exiting project,

· File > Open Project

· Select the project file you want to open from the location you stored it or the location in which it is available.

· Click Open button.



3. Saving project

You can save the project in 2 ways, as follows,

i) When you are saving it for the first time

ii) When you are saving one more copy of the project.



a) When you are saving it for the first time

· Click File > Save Project or Ctrl S

· Select the path where you want to save it

· Enter the name of the project you want to save in

· Click Save





b) When you are saving one more copy of the project

· Click File > Save Project as

· Select the path where you want to save it

· Enter the name of the project you want to save in

· Click Save



4. Opening Recent Projects

To open Opening Recent Projects,

a) Click File > Recent Projects

b) Select the desired project



5. Saving Reports

To save reports,

· Click File > Save Report as

· Select the path where you want to save it

· Enter the name of the Report you want to save in

· Click Save



6. Importing Reports

To Import Reports,

· Click File > Import Reports or Ctrl I

· Select the Report file you want to open from the location you stored it or the location in which it is available.

· Click Open button



7. Adding Targets

To add Target,

· Project > Add Targets.

· Select the desired assembly you want to analyze(it can either be a dll or an exe).



8. Adding Rules

To Add Rules,

· Project > Add Rules.

· Select the desired Rules dll from the location you are having the rules.



9. Analyzing a Project

To analyze a project, its given in detail in the earlier chapters. Anyhow its given here once more for continuity or completeness of the topic.

· Select the desired assembly you want to analyze (it can either be a .dll or an .exe).

· For example, I am selecting here a .net application (Which was downloaded from internet)

· If you have selected multiple assemblies then select any one of them (the one you want to analyze first) and then click Project > Analyze or press F5 or Click Analyze from toolbar.

· Analyzing with introspection Engine dialog box will appear when the analysis is under process.

· Then it will display list of messages in the right pane.



10. Viewing Analysis Summary

To view Analysis Summary report,

· Click Project > Analysis summary

· Analysis summary window will appear.

· Click ok to close the window.



Advanced features of Project:

In this we will Advanced features of FxCop Project which needs some explanation. The topics we are going to cover here are:

1. General Project settings

2. Saving and Compression settings

3. Spelling and Analysis settings

4. Preferences Settings

5. Font and colors settings

6. Analysis Engine settings



1. General Project settings
For doing General Project settings,

· Click Project > Options

· Select General tab



Here you can do the things like:

(1) Changing Project name

(2) Changing Report style sheet path

(3) Save messages settings for Project and Reports



2. Saving and Compression settings

For doing this,

· Click Project > Options

· Select Saving and Compression tab



Here you can do the things like:

(1) Project Save settings

(2) Project File name Rule settings

(3) Compression settings



3. Spelling and Analysis settings

For doing this,

· Click Project > Options

· Select Spelling and Analysis tab



Here you can do the things like:

(1) Multithreading settings

(2) GAC settings

(3) Spelling and analysis settings





4. Preferences Settings
For doing this,

· Click Tools > Settings

· Select Preferences tab



Here you can do the things like:

(1) General preference settings like checking for updates in startup,etc

(2) Filtering messages

(3) Launching in source code editor

(4) Command line settings



5. Font and colors settings

For doing this,

· Click Tools > Settings

· Select Font and colors tab



As the name implies, it does the font and color related settings.



6. Analysis Engine settings

For doing this,

· Click Tools > Settings

· Select Analysis Engine tab



Here you can do the things like:

(1) Engine related settings

(2) Some more advanced settings.

Part II (A startup lesson on using FxCop)

Monday, June 15, 2009

Part II (A startup lesson on using FxCop)

In the previous article (FxCop Part I – Introduction), we saw the basics of FxCop , its definition, download path, comparison with other Code analysis tools, a simple demo for doing a analysis,etc.

In this article (Part II -A startup lesson on using FxCop), we are going to see the usage of FxCop at a beginner’s level.

As we saw in the previous article two things are required for doing any analysis in FxCop, they are:
· Assembly ( either a .exe or .dll)
· Rule

A brief explanation about the windows and menus in FxCop
Run FxCop by clicking , Start > All Programs > Microsoft FxCop > Microsoft FxCop 1.36
After the FxCop window was opened,
Click File > New Project.
The following Figure 1.0 shows the FxCop tool,
Fig 1.0


Panes in FxCop
There are 3 panes in the tool, they are:
· Main Pane
· Messages Pane
· Output Pane

Main Pane
Figure 1.1 shows the Main Pane,
Fig 1.1
It will have 2 tabs in it, they are
· Targets
· Rules
These two tabs serve the respective purpose of showing and managing targets and Rules in the current project.

Messages Pane
This Pane shows the messages that are generated by the FxCop tool after doing the Code analysis and it will be of various categories.
Figure 1.2 shows the Messages pane.
Fig 1.2
It will have 4 tabs in it they are,
· Active
· Exclude in Project
· Exclude in Source
· Absent
The usage of these we will see in the later articles.

Output Pane
This will show the properties in code format when an item is clicked on the Main Pane.
Figure 1.3 shows the Output Pane,
Fig 1.3

Menus
For the initial level, it is enough to know about the 3 menus in the tool. They are
1. File > New Project
It is used to create a new project.
2. Project > Add Targets
It is used to add assemblies from the Project on which you want to do the analysis.
3. Project > Analyze
To start the analysis, you need to click this or press F5 or click Analyze button on the toolbar.

A simple analysis:
1. Run FxCop.
Start > All Programs > Microsoft FxCop > Microsoft FxCop 1.36
2. File > New Project.
3. Project > Add Targets.
4. Select the desired assembly you want to analyze (it can either be a .dll or an .exe).
For example, I am selecting here a .net application (Which was downloaded from internet)
5. If you have selected multiple assemblies then select any one of them (the one you want to analyze first) and then click Project > Analyze or press F5 or Click Analyze from toolbar.
6. Analyzing with introspection Engine dialog box will appear when the analysis is under process.
7. Then it will display list of messages in the right pane.
The resultant window is what is shown in the Figure 1.0. The messages shown will be of the following categories, they are:
· Critical error
This means that it is an major issue and need to be corrected.
· Warning
This means it’s just a warning and not that much serious, but if corrected the it will be good.

More details about the messages:
Double click on the respective message, then Message Details window will appear, which gives a detailed explanation about the message along with other options.
That window will have 5 tabs in it which elaborates about he message and its dependencies.
Figure 2.0 shows the Message Details window,
Fig 2.0

Stopping the Analysis
Click the Cancel button on the Analyzing with introspection Engine dialog box to cancel the Analysis in the middle.
Viewing a summary of the Analysis
Click Project > Analysis Summary, it will display a summary of the analysis done.
Figure 2.1 shows the Analysis Summary window,
Fig 2.0

Saving the Project
After the analysis is over , save the project before saving the Message XML file otherwise it will throw an error.

Note:
Moreover save the Project file in the same directory of the Assembly for which the code analysis is done.
To save the project click,
File > Save Project.

Saving the Report
After saving the Project file, you a save the report file wherever you want.
To save the Report click,
File > Save Report
This might have given a basic idea about the usage and components of FxCop. We shall see more in the coming Chapters.

FxCop – Part I (Introduction)

FxCop – Part I (Introduction)

This will be a series of articles on FxCop, which explains from the basics to advanced usage of FxCop. This article is the first of them which gives an introduction to FxCop.

Definition
It is a code analysis tool which analyzes the code and gives suggestions to improve coding.

Overview
It analyzes programming elements in targets, and provides an informational report that contains messages about the targets;
It can analyze either a dll or an exe.

Target
They are nothing but managed assemblies.

Message
Messages include suggestions about how to improve the source code used to generate them.

Rule
A rule is a code which analyses and finds defects and informs about it.

For analysis 2 things are required,
1. Target assemblies
2. Rules

Running FxCop
· From GUI
After installation, you will have shortcut in Programs menu; you can start FxCop by clicking the link.
· Command Line
You can run FxCop.exe with respective command line arguments to start it from command line.

Using FxCop you can do the following:
· Manage Rules (decide which rules need to be applied to which assembly)
· Apply Styles to Reports.
· Filter and save messages.
· And also you can save and reuse application settings.

Download Link
www.microsoft.com/Downloads/details.aspx?FamilyID=9aeaa970-f281-4fb0-aba1-d59d7ed09772&displaylang=en

Similar Code Analysis tools:
StyleCop is another tool which does code analysis.

Difference between FxCop and StyleCop:
FxCop does code analysis over the binaries, whereas StyleCop does code analysis over the source code itself.

Latest Versions:
FxCop : ver. 1.36
StyleCop : ver. 4.3.1.3

Steps to do an analysis:
1. Run FxCop.
2. File > New Project.
3. Project > Add Targets.
4. Select the desired assembly you want to analyze(it can either be a dll or an exe).
5. If you have selected multiple assemblies then select any one of them ( the one you want to analyze first) and then click Project > Analyze or press F5.
6. Then it will display list of messages in the right pane.

LinkWithin

Blog Widget by LinkWithin

Recommended Books