 |
 |
$(ProjectDir)/../Build/CCTray/ThoughtWorks.CruiseControl.CCTrayLib.dll - thoughtworks.cruisecontrol.cctraylib.dll |
NonBreaking |
95 %
|
Assemblies should have valid strong names |
|
| Rule: |
Assemblies should have valid strong names |
| Check Id: |
CA2210 |
| Category: |
Microsoft.Design |
| Description: |
Either the assembly has no strong name, an invalid one, or the strong name is valid only because of the computer configuration. The assembly should not be deployed in this state. The most common causes of this are: 1) The assembly's contents were modified after it was signed. 2) The signing process failed. 3) The assembly was delay-signed. 4) A registry key existed that allowed the check to pass (where it would not have otherwise). |
| Found at: |
|
| Resolution: |
Sign 'ThoughtWorks.CruiseControl.CCTrayLib.dll' with a strong name key. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182127(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
$(ProjectDir)/../Build/CCTray/ThoughtWorks.CruiseControl.CCTrayLib.dll - thoughtworks.cruisecontrol.cctraylib.dll |
NonBreaking |
95 %
|
Mark assemblies with CLSCompliantAttribute |
|
| Rule: |
Mark assemblies with CLSCompliantAttribute |
| Check Id: |
CA1014 |
| Category: |
Microsoft.Design |
| Description: |
Assemblies should explicitly state their CLS compliance using the CLSCompliant attribute. An assembly without this attribute is not CLS-compliant. Assemblies, modules, and types can be CLS-compliant even if some parts of the assembly, module, or type are not CLS-compliant. The following rules apply: 1) If the element is marked CLSCompliant, any noncompliant members must have the CLSCompliant attribute present with its argument set to false. 2) A comparable CLS-compliant alternative member must be supplied for each member that is not CLS-compliant. |
| Found at: |
|
| Resolution: |
Mark 'ThoughtWorks.CruiseControl.CCTrayLib.dll' with CLSCompliant(true) because it exposes externally visible types. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182156(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
$(ProjectDir)/../Build/CCTray/ThoughtWorks.CruiseControl.CCTrayLib.dll - thoughtworks.cruisecontrol.cctraylib.dll |
NonBreaking |
95 %
|
Mark assemblies with ComVisibleAttribute |
|
| Rule: |
Mark assemblies with ComVisibleAttribute |
| Check Id: |
CA1017 |
| Category: |
Microsoft.Design |
| Description: |
The System.Runtime.InteropServices.ComVisible attribute indicates whether COM clients can use the library. Good design dictates that developers explicitly indicate COM visibility. The default value for this attribute is 'true'. However, the best design is to mark the assembly ComVisible false, and then mark types, interfaces, and individual members as ComVisible true, as appropriate. |
| Found at: |
|
| Resolution: |
Because 'ThoughtWorks.CruiseControl.CCTrayLib.dll' exposes externally visible types, mark it with ComVisible(false) at the assembly level and then mark all types within the assembly that should be exposed to COM clients with ComVisible(true). |
| Help Link: |
http://msdn2.microsoft.com/library/ms182157(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
$(ProjectDir)/../Build/CCTray/ThoughtWorks.CruiseControl.CCTrayLib.dll - thoughtworks.cruisecontrol.cctraylib.dll |
NonBreaking |
95 %
|
Mark assemblies with NeutralResourcesLanguageAttribute |
|
| Rule: |
Mark assemblies with NeutralResourcesLanguageAttribute |
| Check Id: |
CA1824 |
| Category: |
Microsoft.Performance |
| Description: |
The NeutralResourcesLanguage attribute informs the ResourceManager of the language used to render the neutral culture's resources for an assembly. When looking up resources in the same culture as the neutral resources language, the ResourceManager automatically uses the resources located in the main assembly, instead of searching for a satellite assembly with the current user interface culture for the current thread. This will improve lookup performance for the first resource you load and can reduce your working set. |
| Found at: |
|
| Resolution: |
Because assembly 'ThoughtWorks.CruiseControl.CCTrayLib.dll' contains a ResX-based resource file, mark it with the NeutralResourcesLanguage attribute, specifying the language of the resources within the assembly. This could improve lookup performance the first time a resource is retrieved. |
| Help Link: |
http://msdn2.microsoft.com/library/bb385967(VS.90).aspx |
| Rule File: |
PerformanceRules.dll Version: 9.0.0.0 |
|
 |
 |
ThoughtWorks.CruiseControl.CCTrayLib - Audio |
Breaking |
90 %
|
Static holder types should not have constructors |
|
| Rule: |
Static holder types should not have constructors |
| Check Id: |
CA1053 |
| Category: |
Microsoft.Design |
| Description: |
Instances of types that define only static members do not need to be created. Many compilers will automatically add a public default constructor if no constructor is specified. To prevent this, adding an empty private constructor may be required. |
| Found at: |
|
| Resolution: |
Remove the public constructors from 'Audio'. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182169(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
Audio - #PlaySound(System.Byte[],System.Int16,System.Int64) |
Breaking |
95 %
|
Move P/Invokes to NativeMethods class |
|
| Rule: |
Move P/Invokes to NativeMethods class |
| Check Id: |
CA1060 |
| Category: |
Microsoft.Design |
| Description: |
This type contains members with the DllImport attribute. Members with the DllImport attribute should be contained in classes named NativeMethods, SafeNativeMethods, or UnsafeNativeMethods. |
| Found at: |
|
| Resolution: |
Because it is a P/Invoke method, 'Audio.PlaySound(byte[], short, long)' should be defined in a class named NativeMethods, SafeNativeMethods, or UnsafeNativeMethods. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182161(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
Audio - #PlaySound(System.Byte[],System.Int16,System.Int64) |
NonBreaking |
95 %
|
P/Invoke declarations should be portable |
|
| Rule: |
P/Invoke declarations should be portable |
| Check Id: |
CA1901 |
| Category: |
Microsoft.Portability |
| Description: |
. |
| Found at: |
|
| Resolution: |
As it is declared in your code, parameter 'hMod' of P/Invoke 'Audio.PlaySound(byte[], short, long)' will be 2 bytes wide on 32-bit platforms. This is not correct, as the actual native declaration of this API indicates it should be 4 bytes wide on 32-bit platforms. Consult the MSDN Platform SDK documentation for help determining what data type should be used instead of 'short'. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182284(VS.90).aspx |
| Rule File: |
PortabilityRules.dll Version: 9.0.0.0 |
|
 |
 |
Audio - #PlaySound(System.Byte[],System.Int16,System.Int64) |
NonBreaking |
95 %
|
P/Invoke declarations should be portable |
|
| Rule: |
P/Invoke declarations should be portable |
| Check Id: |
CA1901 |
| Category: |
Microsoft.Portability |
| Description: |
. |
| Found at: |
|
| Resolution: |
As it is declared in your code, parameter 'fdwSound' of P/Invoke 'Audio.PlaySound(byte[], short, long)' will be 8 bytes wide on 32-bit platforms. This is not correct, as the actual native declaration of this API indicates it should be 4 bytes wide on 32-bit platforms. Consult the MSDN Platform SDK documentation for help determining what data type should be used instead of 'long'. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182284(VS.90).aspx |
| Rule File: |
PortabilityRules.dll Version: 9.0.0.0 |
|
 |
 |
Audio - #sndPlaySoundA(System.String,System.Int32) |
Breaking |
95 %
|
Move P/Invokes to NativeMethods class |
|
| Rule: |
Move P/Invokes to NativeMethods class |
| Check Id: |
CA1060 |
| Category: |
Microsoft.Design |
| Description: |
This type contains members with the DllImport attribute. Members with the DllImport attribute should be contained in classes named NativeMethods, SafeNativeMethods, or UnsafeNativeMethods. |
| Found at: |
|
| Resolution: |
Because it is a P/Invoke method, 'Audio.sndPlaySoundA(string, int)' should be defined in a class named NativeMethods, SafeNativeMethods, or UnsafeNativeMethods. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182161(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
Audio - #sndPlaySoundA(System.String,System.Int32) |
NonBreaking |
75 %
|
Specify marshaling for P/Invoke string arguments |
|
| Rule: |
Specify marshaling for P/Invoke string arguments |
| Check Id: |
CA2101 |
| Category: |
Microsoft.Globalization |
| Description: |
When marshaling strings as ANSI (or as Auto on Win9x), some characters may be changed. If best-fit mapping is on, strings that appear different in Unicode will be marshaled to identical ANSI strings, which may lead to incorrect security decisions. Turning best-fit mapping off reduces this risk, as all characters without equivalents are mapped to '?'. Also, note that CharSet.Ansi is the default setting for all string marshaling; Unicode marshaling must be specified explicitly, either as a CharSet setting of DllImport or StructLayout, or as a MarshalAs attribute with a Unicode (or system-dependent) UnmanagedType. |
| Found at: |
|
| Resolution: |
To reduce security risk, marshal parameter 'lpszSoundName' as Unicode, by setting DllImport.CharSet to CharSet.Unicode, or by explicitly marshaling the parameter as UnmanagedType.LPWStr. If you need to marshal this string as ANSI or system-dependent, specify MarshalAs explicitly, and set BestFitMapping=false; for added security, also set ThrowOnUnmappableChar=true. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182319(VS.90).aspx |
| Rule File: |
GlobalizationRules.dll Version: 9.0.0.0 |
|
 |
 |
BuildOccurredEventArgs - #BuildTransition |
NonBreaking |
25 %
|
Do not declare read only mutable reference types |
|
| Rule: |
Do not declare read only mutable reference types |
| Check Id: |
CA2104 |
| Category: |
Microsoft.Security |
| Description: |
A read-only declaration for a mutable reference type does not prevent the field's instance data from being modified. For example, a read-only StringBuilder field declaration does not make sense, since the data encapsulated by the StringBuilder can be modified using the read-only reference. |
| Found at: |
|
| Resolution: |
Remove the read-only designation from 'BuildOccurredEventArgs.BuildTransition' or change the field to one that is an immutable reference type. If the reference type 'BuildTransition' is, in fact, immutable, exclude this message. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182302(VS.90).aspx |
| Rule File: |
SecurityRules.dll Version: 9.0.0.0 |
|
 |
 |
BuildOccurredEventArgs - #BuildTransition |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'BuildOccurredEventArgs.BuildTransition' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
BuildOccurredEventArgs - #ProjectStatus |
NonBreaking |
25 %
|
Do not declare read only mutable reference types |
|
| Rule: |
Do not declare read only mutable reference types |
| Check Id: |
CA2104 |
| Category: |
Microsoft.Security |
| Description: |
A read-only declaration for a mutable reference type does not prevent the field's instance data from being modified. For example, a read-only StringBuilder field declaration does not make sense, since the data encapsulated by the StringBuilder can be modified using the read-only reference. |
| Found at: |
|
| Resolution: |
Remove the read-only designation from 'BuildOccurredEventArgs.ProjectStatus' or change the field to one that is an immutable reference type. If the reference type 'ProjectStatus' is, in fact, immutable, exclude this message. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182302(VS.90).aspx |
| Rule File: |
SecurityRules.dll Version: 9.0.0.0 |
|
 |
 |
BuildOccurredEventArgs - #ProjectStatus |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'BuildOccurredEventArgs.ProjectStatus' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
ThoughtWorks.CruiseControl.CCTrayLib - BuildOccurredEventHandler |
Breaking |
95 %
|
Use generic event handler instances |
|
| Rule: |
Use generic event handler instances |
| Check Id: |
CA1003 |
| Category: |
Microsoft.Design |
| Description: |
Do not declare new delegates to be used as event handlers when targeting a version of the .NET Framework that supports generics. Use an instance EventHandler<T> instead. |
| Found at: |
|
| Resolution: |
Remove 'BuildOccurredEventHandler' and replace its usage with EventHandler<T> |
| Help Link: |
http://msdn2.microsoft.com/library/ms182178(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
BuildTransition - #Broken |
NonBreaking |
25 %
|
Do not declare read only mutable reference types |
|
| Rule: |
Do not declare read only mutable reference types |
| Check Id: |
CA2104 |
| Category: |
Microsoft.Security |
| Description: |
A read-only declaration for a mutable reference type does not prevent the field's instance data from being modified. For example, a read-only StringBuilder field declaration does not make sense, since the data encapsulated by the StringBuilder can be modified using the read-only reference. |
| Found at: |
|
| Resolution: |
Remove the read-only designation from 'BuildTransition.Broken' or change the field to one that is an immutable reference type. If the reference type 'BuildTransition' is, in fact, immutable, exclude this message. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182302(VS.90).aspx |
| Rule File: |
SecurityRules.dll Version: 9.0.0.0 |
|
 |
 |
BuildTransition - #Fixed |
NonBreaking |
25 %
|
Do not declare read only mutable reference types |
|
| Rule: |
Do not declare read only mutable reference types |
| Check Id: |
CA2104 |
| Category: |
Microsoft.Security |
| Description: |
A read-only declaration for a mutable reference type does not prevent the field's instance data from being modified. For example, a read-only StringBuilder field declaration does not make sense, since the data encapsulated by the StringBuilder can be modified using the read-only reference. |
| Found at: |
|
| Resolution: |
Remove the read-only designation from 'BuildTransition.Fixed' or change the field to one that is an immutable reference type. If the reference type 'BuildTransition' is, in fact, immutable, exclude this message. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182302(VS.90).aspx |
| Rule File: |
SecurityRules.dll Version: 9.0.0.0 |
|
 |
 |
BuildTransition - #StillFailing |
NonBreaking |
25 %
|
Do not declare read only mutable reference types |
|
| Rule: |
Do not declare read only mutable reference types |
| Check Id: |
CA2104 |
| Category: |
Microsoft.Security |
| Description: |
A read-only declaration for a mutable reference type does not prevent the field's instance data from being modified. For example, a read-only StringBuilder field declaration does not make sense, since the data encapsulated by the StringBuilder can be modified using the read-only reference. |
| Found at: |
|
| Resolution: |
Remove the read-only designation from 'BuildTransition.StillFailing' or change the field to one that is an immutable reference type. If the reference type 'BuildTransition' is, in fact, immutable, exclude this message. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182302(VS.90).aspx |
| Rule File: |
SecurityRules.dll Version: 9.0.0.0 |
|
 |
 |
BuildTransition - #StillSuccessful |
NonBreaking |
25 %
|
Do not declare read only mutable reference types |
|
| Rule: |
Do not declare read only mutable reference types |
| Check Id: |
CA2104 |
| Category: |
Microsoft.Security |
| Description: |
A read-only declaration for a mutable reference type does not prevent the field's instance data from being modified. For example, a read-only StringBuilder field declaration does not make sense, since the data encapsulated by the StringBuilder can be modified using the read-only reference. |
| Found at: |
|
| Resolution: |
Remove the read-only designation from 'BuildTransition.StillSuccessful' or change the field to one that is an immutable reference type. If the reference type 'BuildTransition' is, in fact, immutable, exclude this message. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182302(VS.90).aspx |
| Rule File: |
SecurityRules.dll Version: 9.0.0.0 |
|
 |
 |
CCTimeFormatter - #AddIfNeeded(System.Text.StringBuilder,System.Int32,System.String) |
NonBreaking |
95 %
|
Mark members as static |
|
| Rule: |
Mark members as static |
| Check Id: |
CA1822 |
| Category: |
Microsoft.Performance |
| Description: |
Methods which do not access instance data or call instance methods can be marked as static (Shared in Visual Basic). After doing so, the compiler will emit non-virtual call sites to these members which will prevent a check at runtime for each call that ensures the current object pointer is non-null. This can result in a measurable performance gain for performance-sensitive code. In some cases, the failure to access the current object instance represents a correctness issue. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\CCTimeFormatter.cs at line 29 |
| Resolution: |
The 'this' parameter (or 'Me' in Visual Basic) of 'CCTimeFormatter.AddIfNeeded(StringBuilder, int, string)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate. |
| Help Link: |
http://msdn2.microsoft.com/library/ms245046(VS.90).aspx |
| Rule File: |
PerformanceRules.dll Version: 9.0.0.0 |
|
 |
 |
CCTimeFormatter - #ToString() |
DependsOnFix |
95 %
|
Specify IFormatProvider |
|
| Rule: |
Specify IFormatProvider |
| Check Id: |
CA1305 |
| Category: |
Microsoft.Globalization |
| Description: |
If an overload exists that takes an IFormatProvider argument, it should always be called in favor of an overload that does not. Some methods in the runtime convert a value to or from a string representation and take a string parameter that contains one or more characters, called format specifiers, which indicate how the value is to be converted. If the meaning of the format specifier varies by culture, a formatting object supplies the actual characters used in the string representation. In scenarios where sorting and comparison behavior should never change between cultures, specify CultureInfo.InvariantCulture, otherwise, specify CultureInfo.CurrentCulture. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\CCTimeFormatter.cs at line 18 |
| Resolution: |
Because the behavior of 'string.Format(string, object)' could vary based on the current user's locale settings, replace this call in 'CCTimeFormatter.ToString()' with a call to 'string.Format(IFormatProvider, string, params object[])'. If the result of 'string.Format(IFormatProvider, string, params object[])' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182190(VS.90).aspx |
| Rule File: |
GlobalizationRules.dll Version: 9.0.0.0 |
|
 |
 |
ThoughtWorks.CruiseControl.CCTrayLib - CCTrayLibException |
Breaking |
75 %
|
Types should not extend certain base types |
|
| Rule: |
Types should not extend certain base types |
| Check Id: |
CA1058 |
| Category: |
Microsoft.Design |
| Description: |
It is best not to extend some base types or to prefer extending better alternatives to those base types. |
| Found at: |
|
| Resolution: |
Change the base type of 'CCTrayLibException' so that it no longer extends 'ApplicationException'. This base exception type does not provide any additional value for framework classes. Extend 'System.Exception' or an existing unsealed exception type instead. Do not create a new exception base type unless there is specific value in enabling the creation of a catch handler for an entire class of exceptions. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182171(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
CCTrayLibException - #.ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) |
NonBreaking |
95 %
|
Implement standard exception constructors |
|
| Rule: |
Implement standard exception constructors |
| Check Id: |
CA1032 |
| Category: |
Microsoft.Design |
| Description: |
Multiple constructors are required to correctly implement a custom exception. Missing constructors can make your exception unusable in certain scenarios. For example, the serialization constructor is required for handling exceptions in XML Web services. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\CCTrayLibException.cs at line 12 |
| Resolution: |
Change the accessibility of 'CCTrayLibException.CCTrayLibException(SerializationInfo, StreamingContext)' to protected. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182151(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
CCTrayLibException - #.ctor(System.String) |
Breaking |
75 %
|
Identifiers should be spelled correctly |
|
| Rule: |
Identifiers should be spelled correctly |
| Check Id: |
CA1704 |
| Category: |
Microsoft.Naming |
| Description: |
The individual words that make up an identifier should not be abbreviated and should be spelled correctly. If this rule generates a false positive on a term that should be recognized, add the word to the FxCop custom dictionary. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\CCTrayLibException.cs at line 10 |
| Resolution: |
In method 'CCTrayLibException.CCTrayLibException(string)', consider providing a more meaningful name than parameter name 's'. |
| Help Link: |
http://msdn2.microsoft.com/library/bb264492(VS.90).aspx |
| Rule File: |
NamingRules.dll Version: 9.0.0.0 |
|
 |
 |
CCTrayLibException - #.ctor(System.String,System.Exception) |
Breaking |
75 %
|
Identifiers should be spelled correctly |
|
| Rule: |
Identifiers should be spelled correctly |
| Check Id: |
CA1704 |
| Category: |
Microsoft.Naming |
| Description: |
The individual words that make up an identifier should not be abbreviated and should be spelled correctly. If this rule generates a false positive on a term that should be recognized, add the word to the FxCop custom dictionary. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\CCTrayLibException.cs at line 11 |
| Resolution: |
In method 'CCTrayLibException.CCTrayLibException(string, Exception)', consider providing a more meaningful name than parameter name 'e'. |
| Help Link: |
http://msdn2.microsoft.com/library/bb264492(VS.90).aspx |
| Rule File: |
NamingRules.dll Version: 9.0.0.0 |
|
 |
 |
CCTrayLibException - #.ctor(System.String,System.Exception) |
Breaking |
75 %
|
Identifiers should be spelled correctly |
|
| Rule: |
Identifiers should be spelled correctly |
| Check Id: |
CA1704 |
| Category: |
Microsoft.Naming |
| Description: |
The individual words that make up an identifier should not be abbreviated and should be spelled correctly. If this rule generates a false positive on a term that should be recognized, add the word to the FxCop custom dictionary. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\CCTrayLibException.cs at line 11 |
| Resolution: |
In method 'CCTrayLibException.CCTrayLibException(string, Exception)', consider providing a more meaningful name than parameter name 's'. |
| Help Link: |
http://msdn2.microsoft.com/library/bb264492(VS.90).aspx |
| Rule File: |
NamingRules.dll Version: 9.0.0.0 |
|
 |
 |
ErrorLevel - #Error |
NonBreaking |
25 %
|
Do not declare read only mutable reference types |
|
| Rule: |
Do not declare read only mutable reference types |
| Check Id: |
CA2104 |
| Category: |
Microsoft.Security |
| Description: |
A read-only declaration for a mutable reference type does not prevent the field's instance data from being modified. For example, a read-only StringBuilder field declaration does not make sense, since the data encapsulated by the StringBuilder can be modified using the read-only reference. |
| Found at: |
|
| Resolution: |
Remove the read-only designation from 'ErrorLevel.Error' or change the field to one that is an immutable reference type. If the reference type 'ErrorLevel' is, in fact, immutable, exclude this message. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182302(VS.90).aspx |
| Rule File: |
SecurityRules.dll Version: 9.0.0.0 |
|
 |
 |
ErrorLevel - #Info |
NonBreaking |
25 %
|
Do not declare read only mutable reference types |
|
| Rule: |
Do not declare read only mutable reference types |
| Check Id: |
CA2104 |
| Category: |
Microsoft.Security |
| Description: |
A read-only declaration for a mutable reference type does not prevent the field's instance data from being modified. For example, a read-only StringBuilder field declaration does not make sense, since the data encapsulated by the StringBuilder can be modified using the read-only reference. |
| Found at: |
|
| Resolution: |
Remove the read-only designation from 'ErrorLevel.Info' or change the field to one that is an immutable reference type. If the reference type 'ErrorLevel' is, in fact, immutable, exclude this message. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182302(VS.90).aspx |
| Rule File: |
SecurityRules.dll Version: 9.0.0.0 |
|
 |
 |
ErrorLevel - #Warning |
NonBreaking |
25 %
|
Do not declare read only mutable reference types |
|
| Rule: |
Do not declare read only mutable reference types |
| Check Id: |
CA2104 |
| Category: |
Microsoft.Security |
| Description: |
A read-only declaration for a mutable reference type does not prevent the field's instance data from being modified. For example, a read-only StringBuilder field declaration does not make sense, since the data encapsulated by the StringBuilder can be modified using the read-only reference. |
| Found at: |
|
| Resolution: |
Remove the read-only designation from 'ErrorLevel.Warning' or change the field to one that is an immutable reference type. If the reference type 'ErrorLevel' is, in fact, immutable, exclude this message. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182302(VS.90).aspx |
| Rule File: |
SecurityRules.dll Version: 9.0.0.0 |
|
 |
 |
ThoughtWorks.CruiseControl.CCTrayLib - IconNotFoundException |
Breaking |
75 %
|
Types should not extend certain base types |
|
| Rule: |
Types should not extend certain base types |
| Check Id: |
CA1058 |
| Category: |
Microsoft.Design |
| Description: |
It is best not to extend some base types or to prefer extending better alternatives to those base types. |
| Found at: |
|
| Resolution: |
Change the base type of 'IconNotFoundException' so that it no longer extends 'ApplicationException'. This base exception type does not provide any additional value for framework classes. Extend 'System.Exception' or an existing unsealed exception type instead. Do not create a new exception base type unless there is specific value in enabling the creation of a catch handler for an entire class of exceptions. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182171(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
IconNotFoundException - #.ctor(System.String,System.Exception) |
Breaking |
75 %
|
Identifiers should be spelled correctly |
|
| Rule: |
Identifiers should be spelled correctly |
| Check Id: |
CA1704 |
| Category: |
Microsoft.Naming |
| Description: |
The individual words that make up an identifier should not be abbreviated and should be spelled correctly. If this rule generates a false positive on a term that should be recognized, add the word to the FxCop custom dictionary. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\IconNotFoundException.cs at line 17 |
| Resolution: |
In method 'IconNotFoundException.IconNotFoundException(string, Exception)', consider providing a more meaningful name than parameter name 'e'. |
| Help Link: |
http://msdn2.microsoft.com/library/bb264492(VS.90).aspx |
| Rule File: |
NamingRules.dll Version: 9.0.0.0 |
|
 |
 |
ThoughtWorks.CruiseControl.CCTrayLib - NotifyInfoFlags2 |
Breaking |
95 %
|
Use preferred terms |
|
| Rule: |
Use preferred terms |
| Check Id: |
CA1726 |
| Category: |
Microsoft.Naming |
| Description: |
Use preferred terms over deprecated alternates. |
| Found at: |
|
| Resolution: |
Replace the term 'Flags' in type name 'NotifyInfoFlags2' with an appropriate alternate or remove it entirely. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182258(VS.90).aspx |
| Rule File: |
NamingRules.dll Version: 9.0.0.0 |
|
 |
 |
ThoughtWorks.CruiseControl.CCTrayLib - StatusIcon |
Breaking |
95 %
|
Implement IDisposable correctly |
|
| Rule: |
Implement IDisposable correctly |
| Check Id: |
CA1063 |
| Category: |
Microsoft.Design |
| Description: |
All IDisposable types should implement the Dispose pattern correctly. |
| Found at: |
|
| Resolution: |
Provide an overridable implementation of Dispose(bool) on 'StatusIcon' or mark the type as sealed. A call to Dispose(false) should only clean up native resources. A call to Dispose(true) should clean up both managed and native resources. |
| Help Link: |
http://msdn2.microsoft.com/library/ms244737(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
StatusIcon - #.ctor(System.Drawing.Icon,System.Boolean) |
Breaking |
75 %
|
Identifiers should be spelled correctly |
|
| Rule: |
Identifiers should be spelled correctly |
| Check Id: |
CA1704 |
| Category: |
Microsoft.Naming |
| Description: |
The individual words that make up an identifier should not be abbreviated and should be spelled correctly. If this rule generates a false positive on a term that should be recognized, add the word to the FxCop custom dictionary. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\StatusIcon.cs at line 13 |
| Resolution: |
In method 'StatusIcon.StatusIcon(Icon, bool)', consider providing a more meaningful name than parameter name 'i'. |
| Help Link: |
http://msdn2.microsoft.com/library/bb264492(VS.90).aspx |
| Rule File: |
NamingRules.dll Version: 9.0.0.0 |
|
 |
 |
StatusIcon - #Dispose() |
NonBreaking |
75 %
|
Call GC.SuppressFinalize correctly |
|
| Rule: |
Call GC.SuppressFinalize correctly |
| Check Id: |
CA1816 |
| Category: |
Microsoft.Usage |
| Description: |
Call GC.SuppressFinalize to suppress finalization of your instance once Dispose has been called. Objects that implement IDisposable should call SuppressFinalize from the IDisposable.Dispose method to prevent the garbage collector from calling Object.Finalize on an object that does not require it. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\StatusIcon.cs at line 31 |
| Resolution: |
Change 'StatusIcon.Dispose()' to call 'GC.SuppressFinalize(object)'. This will prevent unnecessary finalization of the object once it has been disposed and it has fallen out of scope. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182269(VS.90).aspx |
| Rule File: |
UsageRules.dll Version: 9.0.0.0 |
|
 |
 |
StatusIcon - #Dispose() |
Breaking |
95 %
|
Implement IDisposable correctly |
|
| Rule: |
Implement IDisposable correctly |
| Check Id: |
CA1063 |
| Category: |
Microsoft.Design |
| Description: |
All IDisposable types should implement the Dispose pattern correctly. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\StatusIcon.cs at line 31 |
| Resolution: |
Modify 'StatusIcon.Dispose()' so that it calls Dispose(true), then calls GC.SuppressFinalize on the current object instance ('this' or 'Me' in Visual Basic), and then returns. |
| Help Link: |
http://msdn2.microsoft.com/library/ms244737(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
StatusIcon - #LoadFromFile(System.String) |
NonBreaking |
33 %
|
Do not indirectly expose methods with link demands |
|
| Rule: |
Do not indirectly expose methods with link demands |
| Check Id: |
CA2122 |
| Category: |
Microsoft.Security |
| Description: |
Do not wrap a method protected by a LinkDemand with a method that does not perform a security check. A LinkDemand checks the permissions of the immediate caller rather than checking the permissions of all callers in the call stack. In this case, the permissions of the wrapper method will be checked. If the wrapper method does not, itself, check the permissions of callers higher in the call stack, malicious code might be able to execute the wrapped function even though it lacks permission to do so. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\StatusIcon.cs at line 44 |
| Resolution: |
'StatusIcon.LoadFromFile(string)' calls into 'Bitmap.GetHicon()' which has a LinkDemand. By making this call, 'Bitmap.GetHicon()' is indirectly exposed to user code. Review the following call stack that might expose a way to circumvent security protection:
->'StatusIcon.LoadFromFile(string)'
->'StatusIcon.LoadFromFile(string)' |
| Help Link: |
http://msdn2.microsoft.com/library/ms182303(VS.90).aspx |
| Rule File: |
SecurityRules.dll Version: 9.0.0.0 |
|
 |
 |
AudioFiles - #BrokenBuildSound |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'AudioFiles.BrokenBuildSound' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
AudioFiles - #FixedBuildSound |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'AudioFiles.FixedBuildSound' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
AudioFiles - #StillFailingBuildSound |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'AudioFiles.StillFailingBuildSound' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
AudioFiles - #StillSuccessfulBuildSound |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'AudioFiles.StillSuccessfulBuildSound' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
BalloonMessages - #BrokenBuildMessage |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'BalloonMessages.BrokenBuildMessage' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
BalloonMessages - #FixedBuildMessage |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'BalloonMessages.FixedBuildMessage' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
BalloonMessages - #StillFailingBuildMessage |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'BalloonMessages.StillFailingBuildMessage' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
BalloonMessages - #StillSuccessfulBuildMessage |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'BalloonMessages.StillSuccessfulBuildMessage' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
BuildServer - #.ctor(System.String) |
DependsOnFix |
95 %
|
Specify CultureInfo |
|
| Rule: |
Specify CultureInfo |
| Check Id: |
CA1304 |
| Category: |
Microsoft.Globalization |
| Description: |
If an overload exists that takes a CultureInfo argument, it should always be called in favor of an overload that does not. The CultureInfo type contains culture-specific information required for performing numeric and string operations, such as casing, formatting, and string comparisons. In scenarios where conversion and parsing behavior should never change between cultures, specify CultureInfo.InvariantCulture, otherwise, specify CultureInfo.CurrentCulture. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\Configuration\BuildServer.cs at line 25 |
| Resolution: |
Because the behavior of 'string.ToLower()' could vary based on the current user's locale settings, replace this call in 'BuildServer.BuildServer(string)' with a call to 'string.ToLower(CultureInfo)'. If the result of 'string.ToLower(CultureInfo)' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'CultureInfo' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182189(VS.90).aspx |
| Rule File: |
GlobalizationRules.dll Version: 9.0.0.0 |
|
 |
 |
BuildServer - #.ctor(System.String) |
Breaking |
60 %
|
URI parameters should not be strings |
|
| Rule: |
URI parameters should not be strings |
| Check Id: |
CA1054 |
| Category: |
Microsoft.Design |
| Description: |
If a parameter name contains "uri" or "url" or "urn", and it's typed as string, the parameter type should be changed to System.Uri, unless there is an overload method where the same parameter is typed as System.Uri. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\Configuration\BuildServer.cs at line 11 |
| Resolution: |
Change the type of parameter 'url' of method 'BuildServer.BuildServer(string)' from string to System.Uri, or provide an overload of 'BuildServer.BuildServer(string)', that allows 'url' to be passed as a System.Uri object. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182174(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
BuildServer - #.ctor(System.String,ThoughtWorks.CruiseControl.CCTrayLib.Configuration.BuildServerTransport,System.String,System.String) |
Breaking |
60 %
|
URI parameters should not be strings |
|
| Rule: |
URI parameters should not be strings |
| Check Id: |
CA1054 |
| Category: |
Microsoft.Design |
| Description: |
If a parameter name contains "uri" or "url" or "urn", and it's typed as string, the parameter type should be changed to System.Uri, unless there is an overload method where the same parameter is typed as System.Uri. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\Configuration\BuildServer.cs at line 11 |
| Resolution: |
Change the type of parameter 'url' of method 'BuildServer.BuildServer(string, BuildServerTransport, string, string)' from string to System.Uri, or provide an overload of 'BuildServer.BuildServer(string, BuildServerTransport, string, string)', that allows 'url' to be passed as a System.Uri object. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182174(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
BuildServer - #BuildFromRemotingDisplayName(System.String) |
Breaking |
95 %
|
Do not raise reserved exception types |
|
| Rule: |
Do not raise reserved exception types |
| Check Id: |
CA2201 |
| Category: |
Microsoft.Usage |
| Description: |
User code should not create and raise exceptions of certain types that are reserved by the runtime or which are of a too general exception type. Exception types that are too general include Exception, SystemException, and ApplicationException. Exception types that are reserved by the runtime include ThreadAbortException, OutOfMemoryException, ExecutionEngineException, and IndexOutOfRangeException. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\Configuration\BuildServer.cs at line 123 |
| Resolution: |
'BuildServer.BuildFromRemotingDisplayName(string)' creates an exception of type 'ApplicationException', an exception type that is not sufficiently specific and should never be raised by user code. If this exception instance might be thrown, use a different exception type. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182338(VS.90).aspx |
| Rule File: |
UsageRules.dll Version: 9.0.0.0 |
|
 |
 |
BuildServer - #BuildFromRemotingDisplayName(System.String) |
DependsOnFix |
95 %
|
Specify IFormatProvider |
|
| Rule: |
Specify IFormatProvider |
| Check Id: |
CA1305 |
| Category: |
Microsoft.Globalization |
| Description: |
If an overload exists that takes an IFormatProvider argument, it should always be called in favor of an overload that does not. Some methods in the runtime convert a value to or from a string representation and take a string parameter that contains one or more characters, called format specifiers, which indicate how the value is to be converted. If the meaning of the format specifier varies by culture, a formatting object supplies the actual characters used in the string representation. In scenarios where sorting and comparison behavior should never change between cultures, specify CultureInfo.InvariantCulture, otherwise, specify CultureInfo.CurrentCulture. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\Configuration\BuildServer.cs at line 118 |
| Resolution: |
Because the behavior of 'Convert.ToInt32(string)' could vary based on the current user's locale settings, replace this call in 'BuildServer.BuildFromRemotingDisplayName(string)' with a call to 'Convert.ToInt32(string, IFormatProvider)'. If the result of 'Convert.ToInt32(string, IFormatProvider)' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182190(VS.90).aspx |
| Rule File: |
GlobalizationRules.dll Version: 9.0.0.0 |
|
 |
 |
BuildServer - #BuildFromRemotingDisplayName(System.String) |
DependsOnFix |
95 %
|
Specify IFormatProvider |
|
| Rule: |
Specify IFormatProvider |
| Check Id: |
CA1305 |
| Category: |
Microsoft.Globalization |
| Description: |
If an overload exists that takes an IFormatProvider argument, it should always be called in favor of an overload that does not. Some methods in the runtime convert a value to or from a string representation and take a string parameter that contains one or more characters, called format specifiers, which indicate how the value is to be converted. If the meaning of the format specifier varies by culture, a formatting object supplies the actual characters used in the string representation. In scenarios where sorting and comparison behavior should never change between cultures, specify CultureInfo.InvariantCulture, otherwise, specify CultureInfo.CurrentCulture. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\Configuration\BuildServer.cs at line 112 |
| Resolution: |
Because the behavior of 'string.Format(string, object, object)' could vary based on the current user's locale settings, replace this call in 'BuildServer.BuildFromRemotingDisplayName(string)' with a call to 'string.Format(IFormatProvider, string, params object[])'. If the result of 'string.Format(IFormatProvider, string, params object[])' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182190(VS.90).aspx |
| Rule File: |
GlobalizationRules.dll Version: 9.0.0.0 |
|
 |
 |
BuildServer - #Url |
Breaking |
75 %
|
URI properties should not be strings |
|
| Rule: |
URI properties should not be strings |
| Check Id: |
CA1056 |
| Category: |
Microsoft.Design |
| Description: |
If a property name contains "uri" or "url" or "urn" and it's typed as string, it should be changed to System.Uri. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\Configuration\BuildServer.cs at line 49 |
| Resolution: |
Change the type of property 'BuildServer.Url' from string to System.Uri. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182175(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
BuildServerTransport - #HTTP |
Breaking |
85 %
|
Identifiers should be cased correctly |
|
| Rule: |
Identifiers should be cased correctly |
| Check Id: |
CA1709 |
| Category: |
Microsoft.Naming |
| Description: |
Type, namespace, and member identifiers are Pascal-cased. Parameter identifiers are camel-cased. Two letter acronyms within these identifiers should be upper-cased, for example, use System.IO instead of System.Io. Acronyms of three or more letters should be Pascal-cased, for example, use System.Xml instead of System.XML. The pascal-casing convention capitalizes the first letter of each word, as in BackColor. The camel-casing convention formats the first letter of the first word in lowercase and capitalizes the first letter of all subsequent words, as in backgroundColor. Although it may be common practice for some two letter acronyms to not be fully capitalized, violations of this rule should not be excluded for this reason. For example, 'DbConnection', is common but incorrect; use DBConnection. A violation of this rule might be required for compatibility with existing, non-managed symbol schemes. In general, however, these symbols should not be visible outside the assembly that uses them. |
| Found at: |
|
| Resolution: |
Correct the casing of 'HTTP' in member name 'BuildServerTransport.HTTP' by changing it to 'Http'. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182240(VS.90).aspx |
| Rule File: |
NamingRules.dll Version: 9.0.0.0 |
|
 |
 |
BuildTransitionNotification - #AudioFiles |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'BuildTransitionNotification.AudioFiles' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
BuildTransitionNotification - #BalloonMessages |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'BuildTransitionNotification.BalloonMessages' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
BuildTransitionNotification - #Exec |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'BuildTransitionNotification.Exec' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
BuildTransitionNotification - #MinimumNotificationLevel |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'BuildTransitionNotification.MinimumNotificationLevel' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
BuildTransitionNotification - #ShowBalloon |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'BuildTransitionNotification.ShowBalloon' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
CaptionAndMessage - #Caption |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'CaptionAndMessage.Caption' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
CaptionAndMessage - #Message |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'CaptionAndMessage.Message' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
CCTrayMultiConfiguration - #GetServerMonitorForProject(ThoughtWorks.CruiseControl.CCTrayLib.Configuration.CCTrayProject,System.Collections.Generic.IEnumerable`1<ThoughtWorks.CruiseControl.CCTrayLib.Monitoring.ISingleServerMonitor>) |
Breaking |
95 %
|
Do not raise reserved exception types |
|
| Rule: |
Do not raise reserved exception types |
| Check Id: |
CA2201 |
| Category: |
Microsoft.Usage |
| Description: |
User code should not create and raise exceptions of certain types that are reserved by the runtime or which are of a too general exception type. Exception types that are too general include Exception, SystemException, and ApplicationException. Exception types that are reserved by the runtime include ThreadAbortException, OutOfMemoryException, ExecutionEngineException, and IndexOutOfRangeException. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\Configuration\CCTrayMultiConfiguration.cs at line 64 |
| Resolution: |
'CCTrayMultiConfiguration.GetServerMonitorForProject(CCTrayProject, IEnumerable<ISingleServerMonitor>)' creates an exception of type 'ApplicationException', an exception type that is not sufficiently specific and should never be raised by user code. If this exception instance might be thrown, use a different exception type. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182338(VS.90).aspx |
| Rule File: |
UsageRules.dll Version: 9.0.0.0 |
|
 |
 |
CCTrayProject - #.ctor(System.String,System.String) |
Breaking |
60 %
|
URI parameters should not be strings |
|
| Rule: |
URI parameters should not be strings |
| Check Id: |
CA1054 |
| Category: |
Microsoft.Design |
| Description: |
If a parameter name contains "uri" or "url" or "urn", and it's typed as string, the parameter type should be changed to System.Uri, unless there is an overload method where the same parameter is typed as System.Uri. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\Configuration\CCTrayProject.cs at line 18 |
| Resolution: |
Change the type of parameter 'serverUrl' of method 'CCTrayProject.CCTrayProject(string, string)' from string to System.Uri, or provide an overload of 'CCTrayProject.CCTrayProject(string, string)', that allows 'serverUrl' to be passed as a System.Uri object. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182174(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
CCTrayProject - #ServerUrl |
Breaking |
75 %
|
URI properties should not be strings |
|
| Rule: |
URI properties should not be strings |
| Check Id: |
CA1056 |
| Category: |
Microsoft.Design |
| Description: |
If a property name contains "uri" or "url" or "urn" and it's typed as string, it should be changed to System.Uri. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\Configuration\CCTrayProject.cs at line 36 |
| Resolution: |
Change the type of property 'CCTrayProject.ServerUrl' from string to System.Uri. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182175(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
ExecCommands - #BrokenAndBuildingCommand |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'ExecCommands.BrokenAndBuildingCommand' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
ExecCommands - #BrokenCommand |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'ExecCommands.BrokenCommand' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
ExecCommands - #BuildingCommand |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'ExecCommands.BuildingCommand' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
ExecCommands - #NotConnectedCommand |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'ExecCommands.NotConnectedCommand' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
ExecCommands - #SuccessCommand |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'ExecCommands.SuccessCommand' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
ThoughtWorks.CruiseControl.CCTrayLib.Configuration - ExtensionAttribute |
Breaking |
75 %
|
Avoid unsealed attributes |
|
| Rule: |
Avoid unsealed attributes |
| Check Id: |
CA1813 |
| Category: |
Microsoft.Performance |
| Description: |
Seal attribute types for improved performance. Sealing attribute types speeds up performance during reflection on custom attributes. |
| Found at: |
|
| Resolution: |
Seal 'ExtensionAttribute', if possible. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182267(VS.90).aspx |
| Rule File: |
PerformanceRules.dll Version: 9.0.0.0 |
|
 |
 |
ThoughtWorks.CruiseControl.CCTrayLib.Configuration - ExtensionAttribute |
Breaking |
95 %
|
Mark attributes with AttributeUsageAttribute |
|
| Rule: |
Mark attributes with AttributeUsageAttribute |
| Check Id: |
CA1018 |
| Category: |
Microsoft.Design |
| Description: |
The AttributeUsage attribute specifies the targets that are valid for the attribute (see System.AttributeTargets), whether an attribute can appear on a target more than once, and whether the attribute is inheritable. |
| Found at: |
|
| Resolution: |
Specify AttributeUsage on 'ExtensionAttribute'. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182158(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
GrowlConfiguration - #Enabled |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'GrowlConfiguration.Enabled' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
GrowlConfiguration - #Hostname |
Breaking |
80 %
|
Compound words should be cased correctly |
|
| Rule: |
Compound words should be cased correctly |
| Check Id: |
CA1702 |
| Category: |
Microsoft.Naming |
| Description: |
Avoid creating compound words from terms which exist in the dictionary as discrete terms. Do not create a compound word such as 'StopWatch' or 'PopUp'. These terms are recognized in the dictionary and should be cased as 'Stopwatch' and 'Popup'. |
| Found at: |
|
| Resolution: |
The discrete term 'Hostname' in member name 'GrowlConfiguration.Hostname' should be expressed as a compound word, 'HostName'. |
| Help Link: |
http://msdn2.microsoft.com/library/bb264474(VS.90).aspx |
| Rule File: |
NamingRules.dll Version: 9.0.0.0 |
|
 |
 |
GrowlConfiguration - #Hostname |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'GrowlConfiguration.Hostname' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
GrowlConfiguration - #MinimumNotificationLevel |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'GrowlConfiguration.MinimumNotificationLevel' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
GrowlConfiguration - #Password |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'GrowlConfiguration.Password' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
GrowlConfiguration - #Port |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'GrowlConfiguration.Port' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
ICCTrayMultiConfiguration - #Projects |
Breaking |
50 %
|
Properties should not return arrays |
|
| Rule: |
Properties should not return arrays |
| Check Id: |
CA1819 |
| Category: |
Microsoft.Performance |
| Description: |
Properties that return arrays are prone to code inefficiencies. Consider using a collection or making this a method. See the design guidelines for more information. |
| Found at: |
|
| Resolution: |
Change 'ICCTrayMultiConfiguration.Projects' to return a collection or make it a method. |
| Help Link: |
http://msdn2.microsoft.com/library/0fss9skc(VS.90).aspx |
| Rule File: |
PerformanceRules.dll Version: 9.0.0.0 |
|
 |
 |
Icons - #BrokenAndBuildingIcon |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'Icons.BrokenAndBuildingIcon' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
Icons - #BrokenIcon |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'Icons.BrokenIcon' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
Icons - #BuildingIcon |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'Icons.BuildingIcon' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
Icons - #NotConnectedIcon |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'Icons.NotConnectedIcon' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
Icons - #SuccessIcon |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'Icons.SuccessIcon' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
PersistentConfiguration - #AlwaysOnTop |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'PersistentConfiguration.AlwaysOnTop' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
PersistentConfiguration - #BuildTransitionNotification |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'PersistentConfiguration.BuildTransitionNotification' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
PersistentConfiguration - #FixUserName |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'PersistentConfiguration.FixUserName' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
PersistentConfiguration - #Growl |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'PersistentConfiguration.Growl' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
PersistentConfiguration - #Icons |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'PersistentConfiguration.Icons' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
PersistentConfiguration - #PollPeriodSeconds |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'PersistentConfiguration.PollPeriodSeconds' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
PersistentConfiguration - #Projects |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'PersistentConfiguration.Projects' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
PersistentConfiguration - #ReportProjectChanges |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'PersistentConfiguration.ReportProjectChanges' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
PersistentConfiguration - #ShowInTaskbar |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'PersistentConfiguration.ShowInTaskbar' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
PersistentConfiguration - #Speech |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'PersistentConfiguration.Speech' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
PersistentConfiguration - #TrayIconDoubleClickAction |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'PersistentConfiguration.TrayIconDoubleClickAction' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
PersistentConfiguration - #X10 |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'PersistentConfiguration.X10' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
SpeechConfiguration - #Enabled |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'SpeechConfiguration.Enabled' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
SpeechConfiguration - #SpeakBuildFailed |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'SpeechConfiguration.SpeakBuildFailed' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
SpeechConfiguration - #SpeakBuildStarted |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'SpeechConfiguration.SpeakBuildStarted' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
SpeechConfiguration - #SpeakBuildSucceded |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'SpeechConfiguration.SpeakBuildSucceded' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
X10Configuration - #ActiveDays |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'X10Configuration.ActiveDays' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
X10Configuration - #BuildingUnitCode |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'X10Configuration.BuildingUnitCode' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
X10Configuration - #ComPort |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'X10Configuration.ComPort' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
X10Configuration - #DeviceType |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'X10Configuration.DeviceType' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
X10Configuration - #Enabled |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'X10Configuration.Enabled' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
X10Configuration - #EndTime |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'X10Configuration.EndTime' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
X10Configuration - #FailureUnitCode |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'X10Configuration.FailureUnitCode' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
X10Configuration - #HouseCode |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'X10Configuration.HouseCode' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
X10Configuration - #StartTime |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'X10Configuration.StartTime' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
X10Configuration - #SuccessUnitCode |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'X10Configuration.SuccessUnitCode' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
GrowlController - #Monitor_BuildOccurred(System.Object,ThoughtWorks.CruiseControl.CCTrayLib.Monitoring.MonitorBuildOccurredEventArgs) |
NonBreaking |
95 %
|
Do not ignore method results |
|
| Rule: |
Do not ignore method results |
| Check Id: |
CA1806 |
| Category: |
Microsoft.Usage |
| Description: |
The result of methods that return new instances of strings should be assigned to a variable and subsequently used. If the result of a method that creates a new object, such as String.ToLower(), is not assigned to a variable, the call is wasted. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\Growl\GrowlController.cs at line 85 |
| Resolution: |
'GrowlController.Monitor_BuildOccurred(object, MonitorBuildOccurredEventArgs)' calls 'string.Format(string, object, object)' but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182273(VS.90).aspx |
| Rule File: |
UsageRules.dll Version: 9.0.0.0 |
|
 |
 |
GrowlController - #Monitor_BuildOccurred(System.Object,ThoughtWorks.CruiseControl.CCTrayLib.Monitoring.MonitorBuildOccurredEventArgs) |
DependsOnFix |
95 %
|
Specify IFormatProvider |
|
| Rule: |
Specify IFormatProvider |
| Check Id: |
CA1305 |
| Category: |
Microsoft.Globalization |
| Description: |
If an overload exists that takes an IFormatProvider argument, it should always be called in favor of an overload that does not. Some methods in the runtime convert a value to or from a string representation and take a string parameter that contains one or more characters, called format specifiers, which indicate how the value is to be converted. If the meaning of the format specifier varies by culture, a formatting object supplies the actual characters used in the string representation. In scenarios where sorting and comparison behavior should never change between cultures, specify CultureInfo.InvariantCulture, otherwise, specify CultureInfo.CurrentCulture. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\Growl\GrowlController.cs at line 85 |
| Resolution: |
Because the behavior of 'string.Format(string, object, object)' could vary based on the current user's locale settings, replace this call in 'GrowlController.Monitor_BuildOccurred(object, MonitorBuildOccurredEventArgs)' with a call to 'string.Format(IFormatProvider, string, params object[])'. If the result of 'string.Format(IFormatProvider, string, params object[])' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182190(VS.90).aspx |
| Rule File: |
GlobalizationRules.dll Version: 9.0.0.0 |
|
 |
 |
GrowlMessages - #BrokenBuildMessage |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'GrowlMessages.BrokenBuildMessage' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
GrowlMessages - #FixedBuildMessage |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'GrowlMessages.FixedBuildMessage' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
GrowlMessages - #StillFailingBuildMessage |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'GrowlMessages.StillFailingBuildMessage' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
GrowlMessages - #StillSuccessfulBuildMessage |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'GrowlMessages.StillSuccessfulBuildMessage' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
AggregatingProjectMonitor - #GetIntegrationStatusImportance(ThoughtWorks.CruiseControl.Remote.IntegrationStatus) |
NonBreaking |
95 %
|
Mark members as static |
|
| Rule: |
Mark members as static |
| Check Id: |
CA1822 |
| Category: |
Microsoft.Performance |
| Description: |
Methods which do not access instance data or call instance methods can be marked as static (Shared in Visual Basic). After doing so, the compiler will emit non-virtual call sites to these members which will prevent a check at runtime for each call that ensures the current object pointer is non-null. This can result in a measurable performance gain for performance-sensitive code. In some cases, the failure to access the current object instance represents a correctness issue. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\Monitoring\AggregatingProjectMonitor.cs at line 175 |
| Resolution: |
The 'this' parameter (or 'Me' in Visual Basic) of 'AggregatingProjectMonitor.GetIntegrationStatusImportance(IntegrationStatus)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate. |
| Help Link: |
http://msdn2.microsoft.com/library/ms245046(VS.90).aspx |
| Rule File: |
PerformanceRules.dll Version: 9.0.0.0 |
|
 |
 |
#IsConnected - #get_IsConnected() |
Breaking |
90 %
|
Do not raise exceptions in unexpected locations |
|
| Rule: |
Do not raise exceptions in unexpected locations |
| Check Id: |
CA1065 |
| Category: |
Microsoft.Design |
| Description: |
Do not explicitly raise exceptions from unexpected locations. There are some methods, such as Equals and GetHashCode, which users do not expect to raise exceptions. Therefore calls to these methods are not commonly wrapped in try catch blocks. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\Monitoring\AggregatingProjectMonitor.cs at line 170 |
| Resolution: |
'AggregatingProjectMonitor.IsConnected.get()' creates an exception of type 'NotImplementedException', an exception type that should not be raised in a property. If this exception instance might be raised, use a different exception type, convert this property into a method, or change this property's logic so that it no longer raises an exception. |
| Help Link: |
http://msdn2.microsoft.com/library/bb386039(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
AggregatingProjectMonitor - #ListBuildParameters() |
Breaking |
95 %
|
Do not expose generic lists |
|
| Rule: |
Do not expose generic lists |
| Check Id: |
CA1002 |
| Category: |
Microsoft.Design |
| Description: |
Do not expose List<T> in object models. Use Collection<T>, ReadOnlyCollection<T> or KeyedCollection<K,V> instead. List<T> is meant to be used from implementation, not in object model API. List<T> is optimized for performance at the cost of long term versioning. For example, if you return List<T> to the client code, you will not ever be able to receive notifications when client code modifies the collection. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\Monitoring\AggregatingProjectMonitor.cs at line 231 |
| Resolution: |
Change 'List<ParameterBase>' in 'AggregatingProjectMonitor.ListBuildParameters()' to use Collection<T>, ReadOnlyCollection<T> or KeyedCollection<K,V> |
| Help Link: |
http://msdn2.microsoft.com/library/ms182142(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
#ProjectIntegratorState - #get_ProjectIntegratorState() |
Breaking |
90 %
|
Do not raise exceptions in unexpected locations |
|
| Rule: |
Do not raise exceptions in unexpected locations |
| Check Id: |
CA1065 |
| Category: |
Microsoft.Design |
| Description: |
Do not explicitly raise exceptions from unexpected locations. There are some methods, such as Equals and GetHashCode, which users do not expect to raise exceptions. Therefore calls to these methods are not commonly wrapped in try catch blocks. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\Monitoring\AggregatingProjectMonitor.cs at line 86 |
| Resolution: |
'AggregatingProjectMonitor.ProjectIntegratorState.get()' creates an exception of type 'NotImplementedException', an exception type that should not be raised in a property. If this exception instance might be raised, use a different exception type, convert this property into a method, or change this property's logic so that it no longer raises an exception. |
| Help Link: |
http://msdn2.microsoft.com/library/bb386039(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
CruiseProjectManagerFactory - #Create(ThoughtWorks.CruiseControl.CCTrayLib.Configuration.CCTrayProject,System.Collections.Generic.IDictionary`2<ThoughtWorks.CruiseControl.CCTrayLib.Configuration.BuildServer,ThoughtWorks.CruiseControl.CCTrayLib.Monitoring.ICruiseServerManager>) |
Breaking |
95 %
|
Parameter names should match base declaration |
|
| Rule: |
Parameter names should match base declaration |
| Check Id: |
CA1725 |
| Category: |
Microsoft.Naming |
| Description: |
For usability reasons, parameter names in overridden methods should match those of the base declaration. |
| Found at: |
d:\Build\Projects\CruiseControl.NET\SCM\project\CCTrayLib\Monitoring\CruiseProjectManagerFactory.cs at line 18 |
| Resolution: |
In member 'CruiseProjectManagerFactory.Create(CCTrayProject, IDictionary<BuildServer, ICruiseServerManager>)', change parameter name 'serverManagers' to 'list' in order to match the identifier as it has been declared in 'ICruiseProjectManagerFactory.Create(CCTrayProject, IDictionary<BuildServer, ICruiseServerManager>)'. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182251(VS.90).aspx |
| Rule File: |
NamingRules.dll Version: 9.0.0.0 |
|
 |
 |
DashboardCruiseServerSnapshot - #Projects |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'DashboardCruiseServerSnapshot.Projects' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
DashboardCruiseServerSnapshot - #Queues |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'DashboardCruiseServerSnapshot.Queues' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
DashboardProject - #activity |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'DashboardProject.activity' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
DashboardProject - #buildStage |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'DashboardProject.buildStage' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
DashboardProject - #category |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'DashboardProject.category' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
DashboardProject - #lastBuildLabel |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'DashboardProject.lastBuildLabel' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
DashboardProject - #lastBuildStatus |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'DashboardProject.lastBuildStatus' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
DashboardProject - #lastBuildTime |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'DashboardProject.lastBuildTime' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
DashboardProject - #name |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'DashboardProject.name' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
DashboardProject - #nextBuildTime |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'DashboardProject.nextBuildTime' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
DashboardProject - #queue |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'DashboardProject.queue' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
DashboardProject - #queuePriority |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'DashboardProject.queuePriority' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
DashboardProject - #serverName |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'DashboardProject.serverName' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
DashboardProject - #status |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outside of the type that declares them, limit your ability to change the implementation details for those data items. Use properties instead. They do not compromise usability or performance and they do provide flexibility in that they conceal the implementation details of the underlying data. |
| Found at: |
|
| Resolution: |
Because field 'DashboardProject.status' is visible outside of its declaring type, change its accessibility to private and add a property, with the same accessibility as the field has currently, to provide access to it. |
| Help Link: |
http://msdn2.microsoft.com/library/ms182141(VS.90).aspx |
| Rule File: |
DesignRules.dll Version: 9.0.0.0 |
|
 |
 |
DashboardProject - #webUrl |
Breaking |
90 %
|
Do not declare visible instance fields |
|
| Rule: |
Do not declare visible instance fields |
| Check Id: |
CA1051 |
| Category: |
Microsoft.Design |
| Description: |
Instance fields that are visible outsi
| |