Visual Studio 2005 SP1 Bug Fixes

Following Brian Harry’s lead and transparency, below is list of Managed Code Analysis fixes that made it into Visual Studio 2005 Service Pack 1


  • FxCop reporting CA1811 on private const, while const is being used in code.

  • Microsoft.VisualBasic.ComClassAttribute cause VB.NET compiler to generate code that doesn’t comply with design rules and gets noisy in FxCop

  • Line numbers for unnecessary initialization rule incorrectly use first initialization

  • False positive of AvoidUnusedPrivateCode on designer code

  • ImplementIDisposableCorrectly doesn’t fire on generic types

  • False positive for duplicate accelerator rule on new whidbey menu strips

  • False positives around generics operators

  • RuleUtilities.IsLocalized should be robust against nullness issues

  • Do not cast unnecessarily doesn’t fire on generic locals & parameters

  • ImplementIDisposableCorrectly should allow Dispose reimplementation if it does not affect the dispatching for calls through the base class

  • We should ignore VB event accessor overrides have parameters that do not match base declaration

  • Generic Methods Should Provide Type Parameter fires false positives and has false negatives

  • NullReferenceException in Microsoft.FxCop.Sdk.Introspection.RuleUtilities.SkipArgument(Method caller, Int32 offset)

  • Code Analysis reports CA1063 for generic types even when IDisposable is properly implemented.

  • MethodSecurityShouldBeASupersetOfType should not fire on all permission differences between a method and its type

  • ValidateArgumentsOfPublicMethods incorrectly fires on structs passed by reference

  • ProvideCorrectArgumentsToFormattingMethods throws exception when run over String.Format variations that use Type arguments

  • DoNotInitializeUnnecessarily incorrectly fires on members that have previously been assigned

  • UsePropertiesWhereAppropriate incorrectly firing on SetXXX method with single array parameter

  • ImplementISerializableCorrectly and ImplementSerializationConstructors should not fire on derived classes where the base does not provide an overridable version of GetObjectData or a serialization constructor

  • AvoidUnusedPrivateFields incorrectly fires on ‘constant’ Decimals

  • PInvokeEntryPointsShouldExist inconsistantly throws an exception on certain pinvoke signatures

  • PInvokeEntryPointsShouldExist rule does not handle stdcall mangling correctly for arguments smaller than 4 bytes

  • Runing FxCop on Device Application 1.0 returns an error out of the box.

  • RethrowToPreserveStackDetails throws exception when analyzing nested try…catch clauses

  • StackOverflowException is thrown when FxCop analyzes generic code that has where clauses that use type parameters in where clause

Visual Studio Integration

  • Enabling code analysis in a C++ project in VSTS and then building on Pro causes an error

  • Fail to do FxCop on v1.1 CLR assembly in ASP.NET scenario.

  • FxCop retuns error code 1024 for Visual Basic web project

  • NullReferenceException thrown when running code analysis during build of project in Team Edition for Sofware Architects

  • Code Analysis Warnings sometimes fail to show up in ErrorList due to Errorlist/Tasklist DCR (introduced in SP1)

Comments (3)

  1. Rob Caron says:

    David Kean posted a list of fixes for managed code analysis that are included in Visual Studio 2005 SP1

  2. Peter Ritchie says:

    Thanks David.  Very useful information.

  3. Service Pack 1 (SP1) for Visual Studio 2005 clients and Team Foundation Server is scheduled…