diff --git a/build/build.proj b/build/build.proj
index 566bc8ae..9591143e 100644
--- a/build/build.proj
+++ b/build/build.proj
@@ -1,10 +1,11 @@
+
+
+
Debug
False
-
-
@@ -33,12 +34,14 @@
-
-
-
-
+
+
+
+
-
+
+
+
\ No newline at end of file
diff --git a/tools/Gendarme-2.4/AUTHORS b/tools/Gendarme-2.4/AUTHORS
new file mode 100644
index 00000000..55c17ea8
--- /dev/null
+++ b/tools/Gendarme-2.4/AUTHORS
@@ -0,0 +1,17 @@
+Sebastien Pouliot
+Aaron Tomb
+Russell Morris
+Christian Birkl
+Néstor Salceda
+Nidhi Rawal
+Lukasz Knop
+JB Evain
+Daniel Abramov
+Andreas Noever
+Adrian Tsai
+Seo Sanghyeon
+Scott Peterson
+Cedric Vivier
+Andres G. Aragoneses
+Peter Johanson
+Jesse Jones
diff --git a/tools/Gendarme-2.4/Gendarme.Framework.dll b/tools/Gendarme-2.4/Gendarme.Framework.dll
new file mode 100644
index 00000000..8bb27d62
Binary files /dev/null and b/tools/Gendarme-2.4/Gendarme.Framework.dll differ
diff --git a/tools/Gendarme-2.4/Gendarme.Rules.BadPractice.dll b/tools/Gendarme-2.4/Gendarme.Rules.BadPractice.dll
new file mode 100644
index 00000000..b88619a4
Binary files /dev/null and b/tools/Gendarme-2.4/Gendarme.Rules.BadPractice.dll differ
diff --git a/tools/Gendarme-2.4/Gendarme.Rules.Concurrency.dll b/tools/Gendarme-2.4/Gendarme.Rules.Concurrency.dll
new file mode 100644
index 00000000..791b4a60
Binary files /dev/null and b/tools/Gendarme-2.4/Gendarme.Rules.Concurrency.dll differ
diff --git a/tools/Gendarme-2.4/Gendarme.Rules.Correctness.dll b/tools/Gendarme-2.4/Gendarme.Rules.Correctness.dll
new file mode 100644
index 00000000..4ca6511a
Binary files /dev/null and b/tools/Gendarme-2.4/Gendarme.Rules.Correctness.dll differ
diff --git a/tools/Gendarme-2.4/Gendarme.Rules.Design.Generic.dll b/tools/Gendarme-2.4/Gendarme.Rules.Design.Generic.dll
new file mode 100644
index 00000000..830f3b51
Binary files /dev/null and b/tools/Gendarme-2.4/Gendarme.Rules.Design.Generic.dll differ
diff --git a/tools/Gendarme-2.4/Gendarme.Rules.Design.Linq.dll b/tools/Gendarme-2.4/Gendarme.Rules.Design.Linq.dll
new file mode 100644
index 00000000..a68043db
Binary files /dev/null and b/tools/Gendarme-2.4/Gendarme.Rules.Design.Linq.dll differ
diff --git a/tools/Gendarme-2.4/Gendarme.Rules.Design.dll b/tools/Gendarme-2.4/Gendarme.Rules.Design.dll
new file mode 100644
index 00000000..b59a2921
Binary files /dev/null and b/tools/Gendarme-2.4/Gendarme.Rules.Design.dll differ
diff --git a/tools/Gendarme-2.4/Gendarme.Rules.Exceptions.dll b/tools/Gendarme-2.4/Gendarme.Rules.Exceptions.dll
new file mode 100644
index 00000000..4c957674
Binary files /dev/null and b/tools/Gendarme-2.4/Gendarme.Rules.Exceptions.dll differ
diff --git a/tools/Gendarme-2.4/Gendarme.Rules.Interoperability.dll b/tools/Gendarme-2.4/Gendarme.Rules.Interoperability.dll
new file mode 100644
index 00000000..4e7a537a
Binary files /dev/null and b/tools/Gendarme-2.4/Gendarme.Rules.Interoperability.dll differ
diff --git a/tools/Gendarme-2.4/Gendarme.Rules.Maintainability.dll b/tools/Gendarme-2.4/Gendarme.Rules.Maintainability.dll
new file mode 100644
index 00000000..c09a61f8
Binary files /dev/null and b/tools/Gendarme-2.4/Gendarme.Rules.Maintainability.dll differ
diff --git a/tools/Gendarme-2.4/Gendarme.Rules.Naming.dll b/tools/Gendarme-2.4/Gendarme.Rules.Naming.dll
new file mode 100644
index 00000000..ebb81409
Binary files /dev/null and b/tools/Gendarme-2.4/Gendarme.Rules.Naming.dll differ
diff --git a/tools/Gendarme-2.4/Gendarme.Rules.Performance.dll b/tools/Gendarme-2.4/Gendarme.Rules.Performance.dll
new file mode 100644
index 00000000..b5410218
Binary files /dev/null and b/tools/Gendarme-2.4/Gendarme.Rules.Performance.dll differ
diff --git a/tools/Gendarme-2.4/Gendarme.Rules.Portability.dll b/tools/Gendarme-2.4/Gendarme.Rules.Portability.dll
new file mode 100644
index 00000000..dea5e601
Binary files /dev/null and b/tools/Gendarme-2.4/Gendarme.Rules.Portability.dll differ
diff --git a/tools/Gendarme-2.4/Gendarme.Rules.Security.Cas.dll b/tools/Gendarme-2.4/Gendarme.Rules.Security.Cas.dll
new file mode 100644
index 00000000..79c30055
Binary files /dev/null and b/tools/Gendarme-2.4/Gendarme.Rules.Security.Cas.dll differ
diff --git a/tools/Gendarme-2.4/Gendarme.Rules.Security.dll b/tools/Gendarme-2.4/Gendarme.Rules.Security.dll
new file mode 100644
index 00000000..da876f25
Binary files /dev/null and b/tools/Gendarme-2.4/Gendarme.Rules.Security.dll differ
diff --git a/tools/Gendarme-2.4/Gendarme.Rules.Serialization.dll b/tools/Gendarme-2.4/Gendarme.Rules.Serialization.dll
new file mode 100644
index 00000000..8bb5cf36
Binary files /dev/null and b/tools/Gendarme-2.4/Gendarme.Rules.Serialization.dll differ
diff --git a/tools/Gendarme-2.4/Gendarme.Rules.Smells.dll b/tools/Gendarme-2.4/Gendarme.Rules.Smells.dll
new file mode 100644
index 00000000..e3a265ac
Binary files /dev/null and b/tools/Gendarme-2.4/Gendarme.Rules.Smells.dll differ
diff --git a/tools/Gendarme-2.4/Gendarme.Rules.Ui.dll b/tools/Gendarme-2.4/Gendarme.Rules.Ui.dll
new file mode 100644
index 00000000..57fdf22f
Binary files /dev/null and b/tools/Gendarme-2.4/Gendarme.Rules.Ui.dll differ
diff --git a/tools/Gendarme-2.4/MIT.X11 b/tools/Gendarme-2.4/MIT.X11
new file mode 100644
index 00000000..34a52c9e
--- /dev/null
+++ b/tools/Gendarme-2.4/MIT.X11
@@ -0,0 +1,21 @@
+Copyright (c) 2005-2008 Novell, Inc and the individuals listed on the
+ChangeLog entries.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tools/Gendarme-2.4/Mono.Cecil.Mdb.dll b/tools/Gendarme-2.4/Mono.Cecil.Mdb.dll
new file mode 100644
index 00000000..3b9a8e60
Binary files /dev/null and b/tools/Gendarme-2.4/Mono.Cecil.Mdb.dll differ
diff --git a/tools/Gendarme-2.4/Mono.Cecil.Pdb.dll b/tools/Gendarme-2.4/Mono.Cecil.Pdb.dll
new file mode 100644
index 00000000..6c8668c6
Binary files /dev/null and b/tools/Gendarme-2.4/Mono.Cecil.Pdb.dll differ
diff --git a/tools/Gendarme-2.4/Mono.Cecil.dll b/tools/Gendarme-2.4/Mono.Cecil.dll
new file mode 100644
index 00000000..ffc515ce
Binary files /dev/null and b/tools/Gendarme-2.4/Mono.Cecil.dll differ
diff --git a/tools/Gendarme-2.4/NEWS b/tools/Gendarme-2.4/NEWS
new file mode 100644
index 00000000..4887c278
--- /dev/null
+++ b/tools/Gendarme-2.4/NEWS
@@ -0,0 +1,443 @@
+2009-01-20 Version 2.4
+
+ This release was the shortest (about 2 months) release cycle ever
+ for Gendarme. Nevertheless it contains a lot of enhancements for
+ rules builders (e.g. logging support, makefile helpers) provided
+ by Jesse Jones.
+
+ This release also includes 12 new rules (195 rules total):
+
+ Gendarme.Rules.BadPractice
+ * PreferEmptyInstanceOverNullRule [Cedric Vivier]
+
+ Gendarme.Rules.Correctness
+ * DoNotRecurseInEqualityRule [Jesse Jones]
+ * EnsureLocalDisposalRule [Cedric Vivier]
+ * ProvideCorrectRegexPatternRule [Cedric Vivier]
+ * ReviewInconsistentIdentityRule [Jesse Jones]
+
+ Gendarme.Rules.Design.Generic
+ * DoNotExposeNestedGenericSignaturesRule [Sebastien Pouliot]
+
+ Gendarme.Rules.Exceptions
+ * DoNotThrowInUnexpectedLocationRule [Jesse Jones]
+
+ Gendarme.Rules.Maintainability
+ * AvoidAlwaysNullFieldRule [Jesse Jones]
+
+ Gendarme.Rules.Naming
+ * AvoidTypeInterfaceInconsistencyRule [Sebastien Pouliot]
+
+ Gendarme.Rules.Performance
+ * PreferCharOverloadRule [Sebastien Pouliot]
+
+ Gendarme.Rules.Security
+ * DoNotShortCircuitCertificateChecksRule [Sebastien Pouliot]
+
+ Gendarme.Rules.Smells
+ * AvoidSwitchStatementsRule [Nestor Salceda]
+
+ Contributors for this release are:
+ Andres G. Aragoneses, Cedric Vivier, JB Evain, Jesse Jones,
+ Nestor Salceda, Sebastien Pouliot.
+
+2008-11-10 Version 2.2
+
+ This release includes the development results of the last four
+ months, including some major events like the Novell Hack Week 3
+ and the second half of GSoC 2008 work done by Nestor Salceda.
+
+ Major highlights includes:
+
+ * improvement to the framework by the addition of engines that
+ can build extra information to extend the model Cecil gives us
+ to work with.
+
+ * New [FxCopCompatibility] attribute to match between Gendarme
+ and FxCop rules. This will be used to support [SuppressMessage]
+ inside assemblies in a future release.
+
+ * New TearDown capability on rules and runners allow rules to
+ defer the reporting of defects until the analysis is completed.
+
+ * New "Audit" severity. This is used to denotate defects that,
+ too often, can't be fixed (i.e. will always be reported) but
+ needs to be audited (e.g. security items).
+
+ * By default the console runner now reports only when both
+ Severity > Low
+ i.e. skipping Low and Audit severity defects
+ Confidence > Low
+ i.e. skipping Low confidence defects
+
+ This is to help reduce false positives and get smaller reports
+ with the most important defects. You can override both option,
+ with lower or higher values, with new command switches. E.g.
+
+ gendarme --severity=audit,critical ...
+ gendarme --confidence=all ...
+
+ * The wizard runner is now, by default, limited to 1000 defects
+ on the visible API and will, like the console runner, report
+ only defects when both Severity > Low and Confidence > Low. A
+ new step in the wizard allow users to change those settings
+ before the analysis (defaults can be modified and saved).
+
+ * You can now save your rule selection as the new default in
+ the wizard. The same set will be enable next time you restart
+ the wizard.
+ * Known issue: does not work under Mono, bug #439943
+
+ and a lot of new rules including:
+
+ Gendarme.Rules.BadPractice
+ * AvoidAssemblyVersionMismatchRule [Sebastien Pouliot]
+ * DoNotUseGetInterfaceToCheckAssignabilityRule [Sebastien Pouliot]
+
+ Gendarme.Rules.Concurrency
+ * DoNotUseMethodImplOptionsSynchronizedRule [Sebastien Pouliot]
+ * ReviewLockUsedOnlyForOperationsOnVariablesRule [Cedric Vivier]
+ * ProtectCallToEventDelegatesRule [Sebastien Pouliot]
+
+ Gendarme.Rules.Correctness
+ * AttributeStringLiteralsShouldParseCorrectlyRule [Nestor Salceda]
+ * CheckParametersNullityInVisibleMethodsRule [Sebastien Pouliot]
+ * ProvideCorrectArgumentsToFormattingMethodsRule [Nestor Salceda]
+ * ReviewCastOnIntegerDivisionRule [Sebastien Pouliot]
+ * ReviewCastOnIntegerMultiplicationRule [Sebastien Pouliot]
+
+ Gendarme.Rules.Design
+ * AvoidSmallNamespaceRule [Sebastien Pouliot]
+ * ConsiderAddingInterfaceRule [Cedric Vivier]
+ * DeclareEventHandlersCorrectlyRule [Nestor Salceda]
+ * DoNotDeclareVirtualMethodsInSealedTypeRule [Sebastien Pouliot]
+ * InternalNamespacesShouldNotExposeTypesRule [Sebastien Pouliot]
+ * MarkAssemblyWithAssemblyVersionRule [Sebastien Pouliot]
+ * MarkAssemblyWithCLSCompliantRule [Sebastien Pouliot]
+ * MarkAssemblyWithComVisibleRule [Sebastien Pouliot]
+
+ Gendarme.Rules.Design.Generic
+ * AvoidMethodWithUnusedGenericTypeRule [Sebastien Pouliot]
+ * UseGenericEventHandlerRule [Sebastien Pouliot]
+ * PreferGenericsOverRefObjectRule [Sebastien Pouliot]
+
+ Gendarme.Rules.Design.Linq
+ * AvoidExtensionMethodOnSystemObjectRule [Sebastien Pouliot]
+
+ Gendarme.Rules.Exceptions
+ * InstantiateArgumentExceptionCorrectlyRule [Nestor Salceda]
+
+ Gendarme.Rules.Interoperability
+ * MarshalBooleansInPInvokeDeclarationsRule [Sebastien Pouliot]
+
+ Gendarme.Rules.Naming
+ * AvoidDeepNamespaceHierarchyRule [Sebastien Pouliot]
+ * AvoidRedundancyInMethodNameRule [Cedric Vivier]
+ * AvoidRedundancyInTypeNameRule [Cedric Vivier]
+
+ Gendarme.Rules.Performance
+ * AvoidUnneededFieldInitializationRule [Sebastien Pouliot]
+ * PreferLiteralOverInitOnlyFieldsRule [Sebastien Pouliot]
+
+ Gendarme.Rules.Security.Cas
+ * ReviewSuppressUnmanagedCodeSecurityUsageRule [Sebastien Pouliot]
+
+ Gendarme.Rules.Serialization
+ * MarkEnumerationsAsSerializableRule [Sebastien Pouliot]
+
+ Gendarme.Rules.Smells
+ * AvoidMessageChainsRule [Nestor Salceda]
+
+ Lots of rules have been updated and, in a few cases, renamed or
+ moved, to provide extended functionalities.
+
+ Move/merge changes:
+ * CAS-related Security rules were moved into Security.Cas
+ * DisposableFieldsShouldBeDisposedRule was moved from Design
+ into Correctness
+ * EnumNotEndsWithEnumOrFlagsSuffixRule was merged with
+ UseCorrectSuffixRule (Naming)
+ * FinalizersShouldCallBaseClassFinalizerRule was moved from
+ Design into Correctness
+ * ImplementGenericCollectionInterfacesRule was moved from
+ Design into Design.Generic
+
+ Contributors for this release are:
+ Peter Johanson, Nestor Salceda, Cedric Vivier, Jesse Jones,
+ Alan McGovern, Sebastien Pouliot.
+
+2008-07-14 Version 0.2.0.0
+
+ This release includes the development results of the last six
+ months, including some major events like the Novell Hack Week
+ (Winter 2008 edition), which changed much of the Gendarme
+ framework, the first "Gendarme Rule Day" and the first part of
+ GSoC 2008 work by Nestor Salceda.
+
+ General highlights:
+
+ * Performance enhancements, memory usage reduction (mostly
+ inside Cecil but the gains are very visible in Gendarme)
+ * MDB/PDB support: source files and line numbers are now
+ provided with defects [Sebastien Pouliot]
+ * New Windows installer: You can now easily enjoy Gendarme, and
+ it's wizard, from Windows computers [Sebastien Pouliot]
+ * .desktop file for the Wizard runner [Daniel Nauck]
+ * Console runner now uses color when displaying on the console
+ [Cedric Vivier]
+ * Albeit a bit invisible to end users, we started using the new
+ unit test helpers made during GHOP [Daniel Abramov]
+ * Bug fixes: works continue, like previous releases, to remove
+ false positives from existing rules;
+
+ and a lot of new rules including:
+
+ Gendarme.Rules.BadPractice
+ * AvoidCallingProblematicMethodsRule [Nestor Salceda]
+ * AvoidVisibleConstantFieldRule [Sebastien Pouliot]
+ * DoNotForgetNotImplementedMethodsRule [Cedric Vivier]
+ * DisableDebuggingCodeRule [Sebastien Pouliot]
+ * ObsoleteMessagesShouldNotBeEmptyRule [Sebastien Pouliot]
+ * ReplaceIncompleteOddnessCheckRule [Sebastien Pouliot]
+
+ Gendarme.Rules.Concurrency
+ * DoNotLockOnThisOrTypesRule [Sebastien Pouliot]
+ * DoNotLockOnWeakIdentityObjectsRule [Sebastien Pouliot]
+ * DoNotUseLockedRegionOutsideMethodRule [Andres G. Aragoneses]
+
+ Gendarme.Rules.Correctness
+ * DoNotRoundIntegersRule [Sebastien Pouliot]
+ * ReviewDoubleAssignmentRule [Sebastien Pouliot]
+ * ReviewSelfAssignmentRule [Sebastien Pouliot]
+ * ReviewUselessControlFlow [Sebastien Pouliot]
+ * ReviewUseOfInt64BitsToDoubleRule [Sebastien Pouliot]
+ * ReviewUseOfModuloOneOnIntegersRule [Sebastien Pouliot]
+
+ Gendarme.Rules.Design
+ * AvoidMultidimensionalIndexerRule [Sebastien Pouliot]
+ * AvoidRefAndOutParametersRule [Sebastien Pouliot]
+ * AvoidVisibleNestedTypesRule [Sebastien Pouliot]
+ * ConsiderConvertingFieldToNullableRule [Cedric Vivier]
+ * ConsiderUsingStaticTypeRule.cs [Sebastien Pouliot]
+ * ImplementGenericCollectionInterfacesRule [Daniel Abramov]
+ * ImplementIComparableCorreclyRule [Sebastien Pouliot]
+ * PreferIntegerOrStringForIndexersRule [Sebastien Pouliot]
+
+ Gendarme.Rules.Exception
+ * AvoidArgumentExceptionDefaultConstructorRule [Sebastien Pouliot]
+ * AvoidThrowingBasicExceptionsRule [Daniel Abramov]
+ * DoNotThrowReservedExceptionRule [Sebastien Pouliot]
+ * ExceptionShouldBeVisibleRule [Sebastien Pouliot]
+ * MissingExceptionConstructorsRule [Sebastien Pouliot]
+
+ Gendarme.Rules.Interoperability
+ * DoNotCastIntPtrToInt32Rule [Sebastien Pouliot]
+
+ Gendarme.Rules.Maintainability (new)
+ * AvoidComplexMethodsRule [Cedric Vivier]
+ * AvoidDeepInheritanceTreeRule [Sebastien Pouliot]
+ * AvoidLackOfCohesionOfMethodRule [Cedric Vivier]
+ * ConsiderUsingStopwatchRule [Cedric Vivier]
+ * PreferStringIsNullOrEmptyRule [Sebastien Pouliot]
+
+ Gendarme.Rules.Naming
+ * DoNotPrefixEventsWithAfterOrBeforeRule [Sebastien Pouliot]
+
+ Gendarme.Rules.Performance
+ * AvoidLargeNumberOfLocalVariablesRule [Sebastien Pouliot]
+ * AvoidLargeStructureRule [Sebastien Pouliot]
+ * AvoidRepetitiveCastsRule [Sebastien Pouliot]
+ * AvoidTypeGetTypeWhenPossibleRule [Sebastien Pouliot]
+ * AvoidUnusedPrivateFieldsRule [Sebastien Pouliot]
+ * AvoidUnneededUnboxingRule [Sebastien Pouliot]
+ * AvoidUnsealedUninheritedInternalClassesRule [Scott Peterson]
+ * ImplementEqualsTypeRule [Sebastien Pouliot]
+ * OverrideValueTypeDefaultsRule [Sebastien Pouliot]
+ * RemoveUnusedLocalVariablesRule [Sebastien Pouliot]
+ * UseIsOperatorRule [Seo Sanghyeon]
+ * UseTypeEmptyTypesRule [JB Evain]
+
+ Gendarme.Rules.Portability
+ * DoNotHardcodePathsRule [Daniel Abramov]
+
+ Gendarme.Rules.Serialization (new)
+ * CallBaseMethodsOnISerializableTypesRule [Nestor Salceda]
+ * DeserializeOptionalFieldRule [Sebastien Pouliot]
+ * ImplementISerializableCorrectlyRule [Nestor Salceda]
+ * MarkAllNonSerializableFieldsRule [Nestor Salceda]
+ * MissingSerializableAttributeOnISerializableTypeRule [Sebastien Pouliot]
+ * MissingSerializationConstructorRule [Sebastien Pouliot]
+ * UseCorrectSignatureForSerializationMethodsRule [Sebastien Pouliot]
+
+ Contributors for this release are:
+ Andres G. Aragoneses, Cedric Vivier, Daniel Abramov, JB Evain,
+ Nestor Salceda, Scott Peterson, Sebastien Pouliot, Seo Sanghyeon.
+
+2008-01-31 Version 0.0.5
+
+ This time Google Highly Open Participation (GHOP) was the main
+ source of new rules for Gendarme (Daniel Abramov, Andreas Noever,
+ Adrian Tsai) and even a Gendarme logo (Steve P).
+ Many thanks to all of them and to Google!
+
+ Other news includes:
+
+ * More rules: while GHOP added 40 rules, other contributors added
+ 7 more rules.
+ * Gendarme.Framework.Rocks: A new namespace, inside gendarme's
+ framework, introduce several extensions methods to ease rule
+ creation and avoid code duplication.
+ * Updated rules to be more friendly toward C# 3 code (e.g.
+ auto-implemented properties)
+ * Enhancements to existing rules to reduce false-positives. Even
+ with all the new rules the number of false-positives is lower
+ than before and Gendarme's self-test looks even better!
+
+ New rules by alphabetical order:
+
+ Gendarme.Rules.BadPractice
+ * CheckNewExceptionWithoutThrowingRule [Andreas Noever]
+ * CheckNewThreadWithoutStartRule [Andreas Noever]
+ * ConstructorShouldNotCallVirtualMethodsRule [Daniel Abramov]
+ * GetEntryAssemblyMayReturnNullRule [Daniel Abramov]
+
+ Gendarme.Rules.Concurrency
+ * NonConstantStaticFieldsShouldNotBeVisible [Andreas Noever]
+
+ Gendarme.Rules.Correctness
+ * DontCompareWithNaNRule [Sebastien Pouliot]
+
+ Gendarme.Rules.Design
+ * AbstractTypesShouldNotHavePublicConstructorsRule [Sebastien Pouliot]
+ * AttributeArgumentsShouldHaveAccessors [Daniel Abramov]
+ * AvoidEmptyInterfaceRule [Sebastien Pouliot]
+ * AvoidPropertiesWithoutGetAccessorRule [Sebastien Pouliot]
+ * AvoidPublicInstanceFieldsRule [Adrian Tsai]
+ * ConsiderConvertingMethodToPropertyRule [Adrian Tsai]
+ * DisposableFieldsShouldBeDisposedRule [Andreas Noever]
+ * DisposableTypesShouldHaveFinalizerRule [Andreas Noever]
+ * EnsureSymmetryForOverloadedOperatorsRule [Andreas Noever]
+ * EnumsShouldDefineAZeroValueRule [Sebastien Pouliot]
+ * FinalizersShouldBeProtectedRule [Daniel Abramov]
+ * FinalizersShouldCallBaseClassFinalizerRule [Daniel Abramov]
+ * FlagsShouldNotDefineAZeroValueRule [Sebastien Pouliot]
+ * MainShouldNotBePublicRule [Daniel Abramov]
+ * MissingAttributeUsageOnCustomAttributeRule [Daniel Abramov]
+ * OperatorEqualsShouldBeOverloadedRule [Andreas Noever]
+ * OverrideEqualsMethodRule [Andreas Noever]
+ * ProvideAlternativeNamesForOperatorOverloadsRule [Andreas Noever]
+ * TypesShouldBeInsideNamespacesRule [Sebastien Pouliot]
+ * TypesWithDisposableFieldsShouldBeDisposableRule [Andreas Noever]
+ * TypesWithNativeFieldsShouldBeDisposableRule [Andreas Noever]
+
+ Gendarme.Rules.Interoperability (new)
+ * GetLastErrorMustBeCalledRightAfterPInvokeRule [Andreas Noever]
+ * MarshalStringsInPInvokeDeclarationsRule [Daniel Abramov]
+ * PInvokeShouldNotBeVisibleRule [Andreas Noever]
+ * UseManagedAlternativesToPInvokeRule [Daniel Abramov]
+
+ Gendarme.Rules.Naming
+ * DoNotPrefixValuesWithEnumNameRule [Andreas Noever]
+ * DoNotUseReservedInEnumValueNamesRule [Andreas Noever]
+ * ParameterNamesShouldMatchOverridenMethodRule [Andreas Noever]
+ * UseCorrectCasing [Daniel Abramov]
+ * UseCorrectPrefixRule [Daniel Abramov]
+ * UseCorrectSuffixRule [Daniel Abramov]
+ * UsePreferredTermsRule [Daniel Abramov]
+
+ Gendarme.Rules.Performance
+ * AvoidReturningArraysOnPropertiesRule [Adrian Tsai]
+ * AvoidUnsealedConcreteAttributesRule [Daniel Abramov]
+
+ Gendarme.Rules.Portability
+ * ExitCodeIsLimitedOnUnixRule [Daniel Abramov]
+ * FeatureRequiresRootPrivilegeOnUnixRule [Andreas Noever]
+ * MonoCompatibilityReviewRule [Andreas Noever]
+
+ Gendarme.Rules.Security
+ * ArrayFieldsShouldNotBeReadOnlyRule [Andreas Noever]
+ * NativeFieldsShouldNotBeVisibleRule [Andreas Noever]
+ * StaticConstructorsShouldBePrivateRule [Daniel Abramov]
+
+ Gendarme.Rules.Ui
+ * UseSTAThreadAttributeOnSWFEntryPointsRule [Daniel Abramov]
+
+2007-12-20 Version 0.0.4
+
+ After a long time, many fixes, useful features (e.g. inclusion and
+ exclusion) and hours trimming down false positives, we're proud to
+ announce Gendarme 0.0.4!
+
+ Many of the new rules were contributed during the Google Summer
+ of Code 2007.
+
+ Gendarme.Rules.BadPractice
+ * CloneMethodShouldNotReturnNullRule [Nidhi Rawal]
+ * EqualShouldHandleNullArgRule [Nidhi Rawal]
+ * ImplementingEqualsButNotGetHashCodeAndViceVersaRule [Nidhi Rawal]
+ * ToStringReturnsNullRule [Nidhi Rawal]
+
+ Gendarme.Rules.Concurrency
+ * WriteStaticFieldFromInstanceMethodRule [Sebastien Pouliot]
+
+ Gendarme.Rules.Correcness
+ * AvoidConstructorsInStaticTypesRule [Lukasz Knop]
+ * CallingEqualsWithNullArgRule [Nidhi Rawal]
+ * FloatComparisonRule [Lukasz Knop]
+ * MethodCanBeMadeStaticRule [JB Evain]
+ * UseValueInPropertySetterRule [Lukasz Knop]
+
+ Gendarme.Rules.Design (new)
+ * DontDeclareProtectedFieldsInSealedClassRule [Nidhi Rawal]
+ * UsingCloneWithoutImplementingICloneableRule [Nidhi Rawal]
+
+ Gendarme.Rules.Exceptions
+ * DontSwallowErrorsCatchingNonspecificExceptionRule [Nestor Salceda]
+
+ Gendarme.Rules.Naming (new)
+ * AttributesEndsWithAttributeSuffixRule [Nestor Salceda]
+ * DetectNonAlphaNumericsInTypeNamesRule [Nidhi Rawal]
+ * EnumsNotEndsWIthEnumOrFlagsSuffixRule [Nestor Salceda]
+ * UsePluralNameInEnumFlagsRule [Nestor Salceda]
+ * UseSingularNameInEnumsUnlessAreFlagsRule [Nestor Salceda]
+
+ Gendarme.Rules.Performance
+ * AvoidToStringOnStringRule [Lukasz Knop]
+ * AvoidUncalledPrivateCodeRule [Nidhi Rawal]
+ * AvoidUninstantiatedInternalClassesRule [Nidhi Rawal]
+ * AvoidUnusedParametersRule [Nestor Salceda]
+ * DontIgnoreMethodResultRule [Lukasz Knop]
+
+ Gendarme.Rules.Smells (new)
+ * AvoidCodeDuplicatedInSameClassRule [Nestor Salceda]
+ * AvoidCodeDuplicatedInSiblingClassesRule [Nestor Salceda]
+ * AvoidLargeClassRule [Nestor Salceda]
+ * AvoidLongMethodsRule [Nestor Salceda]
+ * AvoidLongParameterListsRule [Nestor Salceda]
+ * AvoidSpeculativeGeneralityRule [Nestor Salceda]
+
+ Gendarme.Rules.Ui (new)
+ * GtkSharpExecutableTargetRule [Sebastien Pouliot]
+ * SystemWindowsFormsExecutableTargetRule [Sebastien Pouliot]
+
+ A special thanks to Nestor Salceda for his continuing dedication
+ to the project including a lot of "not so fun" (but so important)
+ tasks, like merging, rule documentation & bug hunting. You rock!
+
+2006-10-16 Version 0.0.3
+
+ * New rule for String.Empty [Sebastien Pouliot]
+ * New XML and HTML (via XSL transform) output [Christian Birkl,
+ Sebastien Pouliot]
+ * Updated to latest Cecil API [JBEvain]
+
+2006-06-19 Version 0.0.2
+
+ * Aaron Tomb added new rules for Concurrency and Correctness (based
+ on his works in Google's Summer of Code 2005) and updated the
+ framework;
+ * Russell Morris added new rules for exceptions management.
+
+2005-11-03 Version 0.0.1
+
+ * Initial version. Expect everything to change before 0.0.2 ;-)
diff --git a/tools/Gendarme-2.4/README b/tools/Gendarme-2.4/README
new file mode 100644
index 00000000..900cc612
--- /dev/null
+++ b/tools/Gendarme-2.4/README
@@ -0,0 +1,28 @@
+Gendarme README
+
+User-level documentation is available from the Mono:: project wiki
+http://www.mono-project.com/Gendarme
+
+ROADMAP
+http://www.mono-project.com/Gendarme.Roadmap
+
+Mailing list
+http://groups.google.com/group/gendarme
+
+Newsgroup gateway to the mailing list
+nntp://news.gmane.org/gmane.comp.gnome.mono.gendarme
+
+Developer documentation
+http://groups.google.com/group/gendarme
+
+
+IMPORTANT NOTES
+
+* Gendarme "official" build system is based on the auto*/Makefile files
+and tested on monobuild. See mono-tools on http://mono.ximian.com/monobuild/
+(checking out gendarme without its parent dir 'mono-tools' is not supported)
+
+* Visual Studio solutions and projects files (usable by both MonoDevelop
+and Visual Studio .NET 2008) are NOT always up to date with Makefiles.
+This depends on the developer making changes and his personal access to
+the developing environments.
diff --git a/tools/Gendarme-2.4/gendarme-wizard.exe b/tools/Gendarme-2.4/gendarme-wizard.exe
new file mode 100644
index 00000000..0c20cae4
Binary files /dev/null and b/tools/Gendarme-2.4/gendarme-wizard.exe differ
diff --git a/tools/Gendarme-2.4/gendarme.1 b/tools/Gendarme-2.4/gendarme.1
new file mode 100644
index 00000000..e765270d
--- /dev/null
+++ b/tools/Gendarme-2.4/gendarme.1
@@ -0,0 +1,102 @@
+.\"
+.\" Gendarme manual page.
+.\"
+.\" Author:
+.\" Sebastien Pouliot
+.\"
+.\" Copyright (C) 2005-2006,2008 Novell, Inc (http://www.novell.com)
+.\"
+
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+.TH Gendarme "Gendarme 2.4.0.0"
+.SH NAME
+Gendarme \- Rule-based code analysis for Mono::
+.SH SYNOPSIS
+.PP
+.B gendarme [--config configfile] [--set ruleset] [--log file | --xml file | --html file] [options] assemblies ...
+.SH DESCRIPTION
+\fIGendarme\fP is a extensible rule-based tool to find problems in .NET
+applications and libraries. Gendarme inspects programs and libraries that
+contain code in ECMA CIL format (Mono and .NET) and looks for common
+problems with the code, problems that compiler do not typically check or
+have not historically checked.
+.SH OPTIONS
+.TP
+.I "--config configfile"
+Specify the configuration file. Default is 'rules.xml'.
+.TP
+.I "--set ruleset"
+Specify the set of rules to verify. Default is '*'.
+.TP
+.I "--log file"
+Save the text output to the specified file.
+.TP
+.I "--xml file"
+Save the output, formatted as XML, to the specified file.
+.TP
+.I "--html file"
+Save the output, formatted as HTML, to the specified file.
+.TP
+.I "--ignore ignore-file"
+Do not report the known defects that are part of the specified file.
+.TP
+.I "--limit N"
+Stop reporting after N defects are found.
+.TP
+.I "--severity [all | audit[+] | low[+|-] | medium[+|-] | high[+|-] | critical[-]],...
+Filter the reported defects to include the specified severity levels.
+Default is 'medium+' (i.e. low and audit levels are ignored).
+.TP
+.I "--confidence [all | low[+] | normal[+|-] | high[+|-] | total[-]],...
+Filter the reported defects to include the specified confidence levels.
+Default is 'normal+' (i.e. low level is ignored).
+.TP
+.I "--quiet"
+Display minimal output (results) from the runner.
+.TP
+.I "--v|verbose"
+Enable debugging output. You can supply several -v to augment debugging verbosity.
+.TP
+.I "--version"
+Display Gendarme's version number. This number match the Mono release
+where it was released.
+.TP
+.I "assemblies ..."
+Specify the assemblies to verify. You can specify multiple filenames,
+including masks (? and *). You can also provide a file that list several
+assemblies (one by line) by prefixing the filename with @ on the command
+line.
+.SH FILES
+.TP
+.I rules.xml
+This files contains a list of all the rulesets available to Gendarme. Each
+ruleset includes a list of assemblies in which some, or all, rules can be
+verified (include) or not (exclude).
++.TP
++.I gendarme.exe.config
++Used by debug versions of Gendarme to enable logging for rules. A config
++file will be generated automatically by the make file. To enable logging
++for a rule add a switch using the rule's name and set the value to 1.
+.SH ENVIRONMENT VARIABLES
+.TP
+.I GENDARME_COLOR
+The runner will use colors when displaying defects on the console.
+By default colors are dark in order to display correctly on any
+background. You can change this default to "light" (lighter colors
+looks nice on a dark background, or "none" so no colors will be used.
+E.g.
+.nf
+ GENDARME_COLOR=none gendarme ...
+.fi
+.SH COPYRIGHT
+Copyright (C) 2005-2008 Novell, Inc (http://www.novell.com)
+.SH MAILING LISTS
+Mailing lists are listed at the
+http://groups.google.com/group/gendarme
+.SH WEB SITE
+http://www.mono-project.com/Gendarme
+.SH SEE ALSO
+.BR mono(1)
diff --git a/tools/Gendarme-2.4/gendarme.exe b/tools/Gendarme-2.4/gendarme.exe
new file mode 100644
index 00000000..f28c0e4c
Binary files /dev/null and b/tools/Gendarme-2.4/gendarme.exe differ
diff --git a/tools/Gendarme-2.4/rules.xml b/tools/Gendarme-2.4/rules.xml
new file mode 100644
index 00000000..890f499e
--- /dev/null
+++ b/tools/Gendarme-2.4/rules.xml
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+