﻿<?xml version='1.0'?>
<gendarme-output date="9/18/2006 1:03:12 PM">
  <input>/usr/local/lib/mono/1.0/System.dll</input>
  <rules>
    <rule Type="Type">Gendarme.Rules.Performance.EmptyDestructorRule</rule>
    <rule Type="Type">Gendarme.Rules.Performance.IDisposableWithDestructorWithoutSuppressFinalizeRule</rule>
    <rule Type="Type">Gendarme.Rules.Security.SealedTypeWithInheritanceDemandRule</rule>
    <rule Type="Type">Gendarme.Rules.Security.TypeExposeFieldsRule</rule>
    <rule Type="Type">Gendarme.Rules.Security.TypeIsNotSubsetOfMethodSecurityRule</rule>
    <rule Type="Type">Gendarme.Rules.Security.TypeLinkDemandRule</rule>
    <rule Type="Method">Gendarme.Rules.Concurrency.DoubleCheckLockingRule</rule>
    <rule Type="Method">Gendarme.Rules.Performance.UseStringEmptyRule</rule>
    <rule Type="Method">Gendarme.Rules.Security.MethodCallWithSubsetLinkDemandRule</rule>
    <rule Type="Method">Gendarme.Rules.Security.NonVirtualMethodWithInheritanceDemandRule</rule>
    <rule Type="Method">Gendarme.Rules.Security.SecureGetObjectDataOverridesRule</rule>
    <rule Type="Method">Gendarme.Rules.Portability.NewLineLiteralRule</rule>
    <rule Type="Method">Gendarme.Rules.Exceptions.DontDestroyStackTrace</rule>
  </rules>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.CodeDom.Compiler.CompilerError Mono.CSharp.CSharpCodeCompiler::CreateErrorFromString(System.String)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="Mono.CSharp.CSharpCodeCompiler::CreateErrorFromString:0007" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void Mono.CSharp.CSharpCodeGenerator::GenerateCompileUnitStart(System.CodeDom.CodeCompileUnit)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="Mono.CSharp.CSharpCodeGenerator::GenerateCompileUnitStart:004b" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void Mono.CSharp.CSharpCodeGenerator::GenerateCompileUnit(System.CodeDom.CodeCompileUnit)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="Mono.CSharp.CSharpCodeGenerator::GenerateCompileUnit:0030" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void Mono.CSharp.CSharpCodeGenerator::OutputStartBrace()' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="Mono.CSharp.CSharpCodeGenerator::OutputStartBrace:0020" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="NewLineLiteralRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.String Mono.CSharp.CSharpCodeGenerator::QuoteSnippetString(System.String)' use some literal values for new lines (e.g. \r\n) which aren't portable across operating systems.</problem>
    <solution>Replace literals with Environment.NewLine.</solution>
    <messages>
      <message Location="Mono.CSharp.CSharpCodeGenerator::QuoteSnippetString:0034" Type="Warning">Found string: "\r"</message>
      <message Location="Mono.CSharp.CSharpCodeGenerator::QuoteSnippetString:0045" Type="Warning">Found string: "\n"</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.String System.ComponentModel.MemberDescriptor::get_Description()' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.ComponentModel.MemberDescriptor::get_Description:0038" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.CodeDom.Compiler.CompilerResults Microsoft.VisualBasic.VBCodeCompiler::CompileFromFileBatch(System.CodeDom.Compiler.CompilerParameters,System.String[])' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="Microsoft.VisualBasic.VBCodeCompiler::CompileFromFileBatch:0036" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void Microsoft.VisualBasic.VBCodeGenerator::GenerateCompileUnitStart(System.CodeDom.CodeCompileUnit)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="Microsoft.VisualBasic.VBCodeGenerator::GenerateCompileUnitStart:004b" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void Microsoft.VisualBasic.VBCodeGenerator::GenerateTypeStart(System.CodeDom.CodeTypeDeclaration)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="Microsoft.VisualBasic.VBCodeGenerator::GenerateTypeStart:00d2" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void Microsoft.VisualBasic.VBCodeGenerator::OutputAttributes(System.CodeDom.CodeAttributeDeclarationCollection,System.String,Microsoft.VisualBasic.VBCodeGenerator/LineHandling)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="Microsoft.VisualBasic.VBCodeGenerator::OutputAttributes:0066" Type="Warning">instance of an empty string has been found.</message>
      <message Location="Microsoft.VisualBasic.VBCodeGenerator::OutputAttributes:00dd" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="TypeLinkDemandRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The type System.CodeDom.Compiler.CompilerError isn't sealed and has a LinkDemand. It should also have an InheritanceDemand for the same permissions.</problem>
    <solution>Add an InheritanceDemand for the same permissions (as the LinkDemand) or seal the class.</solution>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="TypeLinkDemandRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The type System.CodeDom.Compiler.TempFileCollection isn't sealed and has a LinkDemand. It should also have an InheritanceDemand for the same permissions.</problem>
    <solution>Add an InheritanceDemand for the same permissions (as the LinkDemand) or seal the class.</solution>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="SecureGetObjectDataOverridesRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void System.Collections.Specialized.NameObjectCollectionBase::GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)' isn't protected correctly against a serialization attack.</problem>
    <solution>A security Demand for SerializationFormatter should protect this method.</solution>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="SecureGetObjectDataOverridesRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void System.Configuration.ConfigurationException::GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)' isn't protected correctly against a serialization attack.</problem>
    <solution>A security Demand for SerializationFormatter should protect this method.</solution>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void System.Configuration.ConfigurationData::ReadConfigFile(System.Xml.XmlTextReader)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Configuration.ConfigurationData::ReadConfigFile:0061" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.String System.Diagnostics.DefaultTraceListener::GetPrefix(System.String,System.String)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Diagnostics.DefaultTraceListener::GetPrefix:0020" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void System.Diagnostics.TraceListener::Fail(System.String)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Diagnostics.TraceListener::Fail:0002" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void System.Diagnostics.TraceListener::Fail(System.String,System.String)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Diagnostics.TraceListener::Fail:0030" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.String System.Diagnostics.PerformanceCounter::get_CounterHelp()' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Diagnostics.PerformanceCounter::get_CounterHelp:0000" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Boolean System.Diagnostics.Process::Start_common(System.Diagnostics.ProcessStartInfo,System.Diagnostics.Process)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Diagnostics.Process::Start_common:0011" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="DoubleCheckLockingRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>Method 'System.Void System.IO.FAMWatcher::StartMonitoringDirectory(System.IO.FAMData,System.Boolean)' uses the unreliable double-check locking technique.</problem>
    <solution>Remove the lock check that occurs outside of the protected region. Or see: http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html</solution>
    <messages>
      <message Location="System.IO.FAMWatcher::StartMonitoringDirectory:00c7" Type="Warning">possible double-check locking</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.String System.IO.FileSystemWatcher::get_FullPath()' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.IO.FileSystemWatcher::get_FullPath:001c" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void System.IO.FileSystemWatcher::set_Filter(System.String)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.IO.FileSystemWatcher::set_Filter:0007" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void System.IO.FileSystemWatcher::DispatchEvents(System.IO.FileAction,System.String,System.IO.RenamedEventArgs&amp;)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.IO.FileSystemWatcher::DispatchEvents:00fb" Type="Warning">instance of an empty string has been found.</message>
      <message Location="System.IO.FileSystemWatcher::DispatchEvents:0133" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="DoubleCheckLockingRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>Method 'System.Void System.IO.InotifyWatcher::StartMonitoringDirectory(System.IO.InotifyData,System.Boolean)' uses the unreliable double-check locking technique.</problem>
    <solution>Remove the lock check that occurs outside of the protected region. Or see: http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html</solution>
    <messages>
      <message Location="System.IO.InotifyWatcher::StartMonitoringDirectory:0138" Type="Warning">possible double-check locking</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void System.IO.KeventWatcher::ProcessEvent(System.IO.kevent)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.IO.KeventWatcher::ProcessEvent:0034" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Net.Authorization System.Net.BasicClient::InternalAuthenticate(System.Net.WebRequest,System.Net.ICredentials)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.BasicClient::InternalAuthenticate:0040" Type="Warning">instance of an empty string has been found.</message>
      <message Location="System.Net.BasicClient::InternalAuthenticate:0069" Type="Warning">instance of an empty string has been found.</message>
      <message Location="System.Net.BasicClient::InternalAuthenticate:007f" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Net.ChunkStream/State System.Net.ChunkStream::ReadTrailer(System.Byte[],System.Int32&amp;,System.Int32)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.ChunkStream::ReadTrailer:0141" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="NewLineLiteralRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Net.ChunkStream/State System.Net.ChunkStream::ReadTrailer(System.Byte[],System.Int32&amp;,System.Int32)' use some literal values for new lines (e.g. \r\n) which aren't portable across operating systems.</problem>
    <solution>Replace literals with Environment.NewLine.</solution>
    <messages>
      <message Location="System.Net.ChunkStream::ReadTrailer:0051" Type="Warning">Found string: "\r\n\r"</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void System.Net.Configuration.ConnectionManagementData::Add(System.String,System.String)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.Configuration.ConnectionManagementData::Add:0007" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void System.Net.CookieContainer::Add(System.Net.Cookie)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.CookieContainer::Add:0018" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void System.Net.CookieContainer::Cook(System.Uri,System.Net.Cookie)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.CookieContainer::Cook:0011" Type="Warning">instance of an empty string has been found.</message>
      <message Location="System.Net.CookieContainer::Cook:004e" Type="Warning">instance of an empty string has been found.</message>
      <message Location="System.Net.CookieContainer::Cook:007a" Type="Warning">instance of an empty string has been found.</message>
      <message Location="System.Net.CookieContainer::Cook:00b2" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.String System.Net.CookieContainer::GetCookieHeader(System.Uri)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.CookieContainer::GetCookieHeader:0025" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Boolean System.Net.CookieContainer::CheckDomain(System.String,System.String)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.CookieContainer::CheckDomain:0001" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Net.CookieCollection System.Net.CookieContainer::GetCookies(System.Uri)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.CookieContainer::GetCookies:0070" Type="Warning">instance of an empty string has been found.</message>
      <message Location="System.Net.CookieContainer::GetCookies:00ca" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.String System.Net.CookieContainer::GetDir(System.String)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.CookieContainer::GetDir:0007" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void System.Net.CookieContainer::ParseAndAddCookies(System.Uri,System.String)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.CookieContainer::ParseAndAddCookies:0066" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.String System.Net.Cookie::get_Path()' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.Cookie::get_Path:0011" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="DoubleCheckLockingRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>Method 'System.Net.Authorization System.Net.DigestSession::Authenticate(System.Net.WebRequest,System.Net.ICredentials)' uses the unreliable double-check locking technique.</problem>
    <solution>Remove the lock check that occurs outside of the protected region. Or see: http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html</solution>
    <messages>
      <message Location="System.Net.DigestSession::Authenticate:00fb" Type="Warning">possible double-check locking</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Net.Authorization System.Net.DigestSession::Authenticate(System.Net.WebRequest,System.Net.ICredentials)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.DigestSession::Authenticate:0056" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void System.Net.HttpWebRequest::set_Method(System.String)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.HttpWebRequest::set_Method:000c" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void System.Net.HttpWebRequest::CommonChecks(System.Boolean)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.HttpWebRequest::CommonChecks:0073" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.String System.Net.HttpWebRequest::GetHeaders()' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.HttpWebRequest::GetHeaders:01fc" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="NewLineLiteralRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void System.Net.HttpWebRequest::SendRequestHeaders()' use some literal values for new lines (e.g. \r\n) which aren't portable across operating systems.</problem>
    <solution>Replace literals with Environment.NewLine.</solution>
    <messages>
      <message Location="System.Net.HttpWebRequest::SendRequestHeaders:0105" Type="Warning">Found string: "{0} {1} HTTP/{2}.{3}\r\n"</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.String System.Net.HttpWebResponse::get_ContentEncoding()' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.HttpWebResponse::get_ContentEncoding:0023" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.String System.Net.HttpWebResponse::GetResponseHeader(System.String)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.HttpWebResponse::GetResponseHeader:001f" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void System.Net.HttpWebResponse::SetCookie(System.String)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.HttpWebResponse::SetCookie:0015" Type="Warning">instance of an empty string has been found.</message>
      <message Location="System.Net.HttpWebResponse::SetCookie:00d8" Type="Warning">instance of an empty string has been found.</message>
      <message Location="System.Net.HttpWebResponse::SetCookie:0278" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Net.WebConnectionGroup System.Net.ServicePoint::GetConnectionGroup(System.String)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.ServicePoint::GetConnectionGroup:0006" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="DontDestroyStackTrace" Uri="http://www.mono-project.com/Gendarme">
    <problem>A catch block in method or property 'System.Void System.Net.Sockets.TcpClient::Connect(System.String,System.Int32)' throws the caught exception.</problem>
    <solution>If you need to throw the exception caught by the catch block, use 'throw;' instead of 'throw ex;'</solution>
    <messages>
      <message Location="System.Net.Sockets.TcpClient::Connect:00de" Type="Error">Throwing original exception - destroys stack trace!</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="DontDestroyStackTrace" Uri="http://www.mono-project.com/Gendarme">
    <problem>A catch block in method or property 'System.Void System.Net.Sockets.UdpClient::Connect(System.String,System.Int32)' throws the caught exception.</problem>
    <solution>If you need to throw the exception caught by the catch block, use 'throw;' instead of 'throw ex;'</solution>
    <messages>
      <message Location="System.Net.Sockets.UdpClient::Connect:0082" Type="Error">Throwing original exception - destroys stack trace!</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.String System.Net.WebClient::get_BaseAddress()' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.WebClient::get_BaseAddress:0017" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void System.Net.WebClient::set_BaseAddress(System.String)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.WebClient::set_BaseAddress:0007" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="NewLineLiteralRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Byte[] System.Net.WebClient::UploadFileCore(System.Uri,System.String,System.String)' use some literal values for new lines (e.g. \r\n) which aren't portable across operating systems.</problem>
    <solution>Replace literals with Environment.NewLine.</solution>
    <messages>
      <message Location="System.Net.WebClient::UploadFileCore:00b3" Type="Warning">Found string: "\r\n"</message>
      <message Location="System.Net.WebClient::UploadFileCore:00d2" Type="Warning">Found string: "Content-Disposition: form-data; name="file"; filename="{0}"\r\nContent-Type: {1}\r\n\r\n"</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Net.WebRequest System.Net.WebClient::SetupRequest(System.Uri)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.WebClient::SetupRequest:011e" Type="Warning">instance of an empty string has been found.</message>
      <message Location="System.Net.WebClient::SetupRequest:013d" Type="Warning">instance of an empty string has been found.</message>
      <message Location="System.Net.WebClient::SetupRequest:015b" Type="Warning">instance of an empty string has been found.</message>
      <message Location="System.Net.WebClient::SetupRequest:017a" Type="Warning">instance of an empty string has been found.</message>
      <message Location="System.Net.WebClient::SetupRequest:019a" Type="Warning">instance of an empty string has been found.</message>
      <message Location="System.Net.WebClient::SetupRequest:01ba" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="NewLineLiteralRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Boolean System.Net.WebConnection::CreateTunnel(System.Net.HttpWebRequest,System.IO.Stream,System.Byte[]&amp;)' use some literal values for new lines (e.g. \r\n) which aren't portable across operating systems.</problem>
    <solution>Replace literals with Environment.NewLine.</solution>
    <messages>
      <message Location="System.Net.WebConnection::CreateTunnel:0083" Type="Warning">Found string: "\r\nHost: "</message>
      <message Location="System.Net.WebConnection::CreateTunnel:00d6" Type="Warning">Found string: "\r\nProxy-Authorization: "</message>
      <message Location="System.Net.WebConnection::CreateTunnel:0139" Type="Warning">Found string: "\r\nProxy-Authorization: "</message>
      <message Location="System.Net.WebConnection::CreateTunnel:0153" Type="Warning">Found string: "\r\n\r\n"</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Int32 System.Net.WebConnection::GetResponse(System.Byte[],System.Int32)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.WebConnection::GetResponse:0101" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="DontDestroyStackTrace" Uri="http://www.mono-project.com/Gendarme">
    <problem>A catch block in method or property 'System.Int32 System.Net.WebConnection::EndRead(System.IAsyncResult)' throws the caught exception.</problem>
    <solution>If you need to throw the exception caught by the catch block, use 'throw;' instead of 'throw ex;'</solution>
    <messages>
      <message Location="System.Net.WebConnection::EndRead:0100" Type="Error">Throwing original exception - destroys stack trace!</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="DoubleCheckLockingRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>Method 'System.Int32 System.Net.WebConnectionStream::EndRead(System.IAsyncResult)' uses the unreliable double-check locking technique.</problem>
    <solution>Remove the lock check that occurs outside of the protected region. Or see: http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html</solution>
    <messages>
      <message Location="System.Net.WebConnectionStream::EndRead:0073" Type="Warning">possible double-check locking</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="NewLineLiteralRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.IAsyncResult System.Net.WebConnectionStream::BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)' use some literal values for new lines (e.g. \r\n) which aren't portable across operating systems.</problem>
    <solution>Replace literals with Environment.NewLine.</solution>
    <messages>
      <message Location="System.Net.WebConnectionStream::BeginWrite:0133" Type="Warning">Found string: "{0:X}\r\n"</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="NewLineLiteralRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void System.Net.WebConnectionStream::Close()' use some literal values for new lines (e.g. \r\n) which aren't portable across operating systems.</problem>
    <solution>Replace literals with Environment.NewLine.</solution>
    <messages>
      <message Location="System.Net.WebConnectionStream::Close:001c" Type="Warning">Found string: "0\r\n\r\n"</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Boolean System.Net.WebHeaderCollection::IsRestricted(System.String)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.WebHeaderCollection::IsRestricted:0012" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="NewLineLiteralRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.String System.Net.WebHeaderCollection::ToString()' use some literal values for new lines (e.g. \r\n) which aren't portable across operating systems.</problem>
    <solution>Replace literals with Environment.NewLine.</solution>
    <messages>
      <message Location="System.Net.WebHeaderCollection::ToString:0037" Type="Warning">Found string: "\r\n"</message>
      <message Location="System.Net.WebHeaderCollection::ToString:004e" Type="Warning">Found string: "\r\n"</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Boolean System.Net.WebHeaderCollection::IsMultiValue(System.String)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Net.WebHeaderCollection::IsMultiValue:0007" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.String System.Text.RegularExpressions.Syntax.Parser::Escape(System.String)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Text.RegularExpressions.Syntax.Parser::Escape:0000" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void System.Text.RegularExpressions.Syntax.Parser::ParseGroup(System.Text.RegularExpressions.Syntax.Group,System.Text.RegularExpressions.RegexOptions,System.Text.RegularExpressions.Syntax.Assertion)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Text.RegularExpressions.Syntax.Parser::ParseGroup:0428" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.String System.Text.RegularExpressions.Regex::GroupNameFromNumber(System.Int32)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Text.RegularExpressions.Regex::GroupNameFromNumber:000c" Type="Warning">instance of an empty string has been found.</message>
      <message Location="System.Text.RegularExpressions.Regex::GroupNameFromNumber:0078" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Int32 System.Text.RegularExpressions.ReplacementEvaluator::CompileTerm(System.Int32&amp;)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Text.RegularExpressions.ReplacementEvaluator::CompileTerm:00b6" Type="Warning">instance of an empty string has been found.</message>
      <message Location="System.Text.RegularExpressions.ReplacementEvaluator::CompileTerm:0123" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.Void System.UriBuilder::set_Query(System.String)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.UriBuilder::set_Query:0007" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.String[] System.Uri::get_Segments()' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Uri::get_Segments:00f6" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
  <violation Assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="UseStringEmptyRule" Uri="http://www.mono-project.com/Gendarme">
    <problem>The method 'System.String System.Uri::Reduce(System.String)' use literal "" instead of String.Empty.</problem>
    <solution>Change the empty string for String.Empty.</solution>
    <messages>
      <message Location="System.Uri::Reduce:0041" Type="Warning">instance of an empty string has been found.</message>
    </messages>
  </violation>
</gendarme-output>