http://git-wip-us.apache.org/repos/asf/ignite/blob/568f910f/modules/platforms/dotnet/Apache.Ignite.FxCop
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.FxCop
b/modules/platforms/dotnet/Apache.Ignite.FxCop
index 5c7f7f1..0df73c5 100644
--- a/modules/platforms/dotnet/Apache.Ignite.FxCop
+++ b/modules/platforms/dotnet/Apache.Ignite.FxCop
@@ -107,11 +107,329 @@
</RuleFile>
<RuleFile Name="$(FxCopDir)\Rules\PerformanceRules.dll" Enabled="True"
AllRulesEnabled="True" />
<RuleFile Name="$(FxCopDir)\Rules\PortabilityRules.dll" Enabled="True"
AllRulesEnabled="True" />
- <RuleFile Name="$(FxCopDir)\Rules\SecurityRules.dll" Enabled="True"
AllRulesEnabled="True" />
+ <RuleFile Name="$(FxCopDir)\Rules\SecurityRules.dll" Enabled="True"
AllRulesEnabled="False">
+ <Rule Name="AptcaMethodsShouldOnlyCallAptcaMethods" Enabled="True" />
+ <Rule Name="AptcaTypesShouldOnlyExtendAptcaBaseTypes" Enabled="True" />
+ <Rule Name="ArrayFieldsShouldNotBeReadOnly" Enabled="True" />
+ <Rule Name="CallGCKeepAliveWhenUsingNativeResources" Enabled="True" />
+ <Rule Name="CatchNonClsCompliantExceptionsInGeneralHandlers"
Enabled="True" />
+ <Rule Name="DoNotDeclareReadOnlyMutableReferenceTypes" Enabled="True" />
+ <Rule Name="DoNotIndirectlyExposeMethodsWithLinkDemands" Enabled="True" />
+ <Rule Name="MethodSecurityShouldBeASupersetOfType" Enabled="True" />
+ <Rule Name="OverrideLinkDemandsShouldBeIdenticalToBase" Enabled="True" />
+ <Rule Name="PointersShouldNotBeVisible" Enabled="True" />
+ <Rule Name="ReviewDeclarativeSecurityOnValueTypes" Enabled="True" />
+ <Rule Name="ReviewDenyAndPermitOnlyUsage" Enabled="True" />
+ <Rule Name="ReviewImperativeSecurity" Enabled="True" />
+ <Rule Name="ReviewVisibleEventHandlers" Enabled="True" />
+ <Rule Name="SealMethodsThatSatisfyPrivateInterfaces" Enabled="True" />
+ <Rule Name="SecureAsserts" Enabled="True" />
+ <Rule Name="SecuredTypesShouldNotExposeFields" Enabled="True" />
+ <Rule Name="SecureSerializationConstructors" Enabled="True" />
+ <Rule
Name="SecurityTransparentAssembliesShouldNotContainSecurityCriticalCode"
Enabled="True" />
+ <Rule Name="SecurityTransparentCodeShouldNotAssert" Enabled="True" />
+ <Rule
Name="SecurityTransparentCodeShouldNotReferenceNonpublicSecurityCriticalCode"
Enabled="True" />
+ <Rule Name="StaticConstructorsShouldBePrivate" Enabled="True" />
+ <Rule Name="TypeLinkDemandsRequireInheritanceDemands" Enabled="True" />
+ <Rule Name="WrapVulnerableFinallyClausesInOuterTry" Enabled="True" />
+ </RuleFile>
<RuleFile Name="$(FxCopDir)\Rules\UsageRules.dll" Enabled="True"
AllRulesEnabled="True" />
</RuleFiles>
<Groups />
<Settings />
</Rules>
- <FxCopReport Version="1.36" />
+ <FxCopReport Version="1.36">
+ <Targets>
+ <Target
Name="$(ProjectDir)/Apache.Ignite.Core/bin/x64/Debug/Apache.Ignite.Core.dll">
+ <Modules>
+ <Module Name="apache.ignite.core.dll">
+ <Namespaces>
+ <Namespace Name="Apache.Ignite.Core.Binary">
+ <Types>
+ <Type Name="IBinaryReader">
+ <Members>
+ <Member Name="#GetRawReader()">
+ <Messages>
+ <Message TypeName="UsePropertiesWhereAppropriate"
Category="Microsoft.Design" CheckId="CA1024" Created="2015-11-11 15:43:38Z">
+ <Issue Certainty="50">
+ <Item>'IBinaryReader.GetRawReader()'</Item>
+ </Issue>
+ </Message>
+ </Messages>
+ </Member>
+ </Members>
+ </Type>
+ <Type Name="IBinaryWriter">
+ <Members>
+ <Member Name="#GetRawWriter()">
+ <Messages>
+ <Message TypeName="UsePropertiesWhereAppropriate"
Category="Microsoft.Design" CheckId="CA1024" Created="2015-11-11 15:43:38Z">
+ <Issue Certainty="50">
+ <Item>'IBinaryWriter.GetRawWriter()'</Item>
+ </Issue>
+ </Message>
+ </Messages>
+ </Member>
+ </Members>
+ </Type>
+ <Type Name="IIgniteBinary">
+ <Members>
+ <Member Name="#GetBinaryTypes()">
+ <Messages>
+ <Message TypeName="UsePropertiesWhereAppropriate"
Category="Microsoft.Design" CheckId="CA1024" Created="2015-11-11 15:43:38Z">
+ <Issue Certainty="50">
+ <Item>'IIgniteBinary.GetBinaryTypes()'</Item>
+ </Issue>
+ </Message>
+ </Messages>
+ </Member>
+ </Members>
+ </Type>
+ </Types>
+ </Namespace>
+ <Namespace Name="Apache.Ignite.Core.Cache">
+ <Types>
+ <Type Name="ICache`2">
+ <Members>
+ <Member
Name="#TryLocalPeek(!0,!1&,Apache.Ignite.Core.Cache.CachePeekMode[])">
+ <Messages>
+ <Message Id="1#" TypeName="AvoidOutParameters"
Category="Microsoft.Design" CheckId="CA1021" Created="2015-11-11 15:43:38Z">
+ <Issue>
+ <Item>'value'</Item>
+ </Issue>
+ </Message>
+ </Messages>
+ </Member>
+ </Members>
+ </Type>
+ </Types>
+ </Namespace>
+ <Namespace Name="Apache.Ignite.Core.Compute">
+ <Types>
+ <Type Name="ComputeJobAdapter`1">
+ <Members>
+ <Member Name="#GetArgument`1(System.Int32)">
+ <Messages>
+ <Message TypeName="DoNotRaiseReservedExceptionTypes"
Category="Microsoft.Usage" CheckId="CA2201" Created="2015-11-11 15:43:38Z">
+ <Issue Name="Reserved">
+
<Item>'ComputeJobAdapter<T>.GetArgument<TArg>(int)'</Item>
+ <Item>'IndexOutOfRangeException'</Item>
+ </Issue>
+ </Message>
+ </Messages>
+ </Member>
+ </Members>
+ </Type>
+ </Types>
+ </Namespace>
+ <Namespace Name="Apache.Ignite.Core.Events">
+ <Types>
+ <Type Name="IEvents">
+ <Members>
+ <Member Name="#GetEnabledEvents()">
+ <Messages>
+ <Message TypeName="UsePropertiesWhereAppropriate"
Category="Microsoft.Design" CheckId="CA1024" Created="2015-11-11 15:43:38Z">
+ <Issue Certainty="50">
+ <Item>'IEvents.GetEnabledEvents()'</Item>
+ </Issue>
+ </Message>
+ </Messages>
+ </Member>
+ </Members>
+ </Type>
+ </Types>
+ </Namespace>
+ <Namespace Name="Apache.Ignite.Core.Impl">
+ <Types>
+ <Type Name="IgniteUtils">
+ <Members>
+ <Member Name="#.cctor()">
+ <Messages>
+ <Message TypeName="InitializeReferenceTypeStaticFieldsInline"
Category="Microsoft.Performance" CheckId="CA1810" Created="2015-11-11
15:43:38Z">
+ <Issue>
+ <Item>'IgniteUtils'</Item>
+ </Issue>
+ </Message>
+ </Messages>
+ </Member>
+ </Members>
+ </Type>
+ </Types>
+ </Namespace>
+ <Namespace Name="Apache.Ignite.Core.Impl.Binary">
+ <Types>
+ <Type Name="BinaryReader">
+ <Members>
+ <Member Name="#Deserialize`1()">
+ <Messages>
+ <Message Id="System.String.Format(System.String,System.Object)"
TypeName="SpecifyIFormatProvider" Category="Microsoft.Globalization"
CheckId="CA1305" Created="2015-11-11 15:43:38Z">
+ <Issue>
+ <Item>'string.Format(string, object)'</Item>
+ <Item>'BinaryReader.Deserialize<T>()'</Item>
+ <Item>'string.Format(IFormatProvider, string, params
object[])'</Item>
+ </Issue>
+ </Message>
+ </Messages>
+ </Member>
+ <Member Name="#IsNotNullHeader(System.Byte)">
+ <Messages>
+ <Message
Id="System.String.Format(System.String,System.Object,System.Object)"
TypeName="SpecifyIFormatProvider" Category="Microsoft.Globalization"
CheckId="CA1305" Created="2015-11-11 15:43:38Z">
+ <Issue>
+ <Item>'string.Format(string, object, object)'</Item>
+ <Item>'BinaryReader.IsNotNullHeader(byte)'</Item>
+ <Item>'string.Format(IFormatProvider, string, params
object[])'</Item>
+ </Issue>
+ </Message>
+ </Messages>
+ </Member>
+ </Members>
+ </Type>
+ <Type Name="Marshaller">
+ <Members>
+ <Member
Name="#AddType(System.Type,System.Int32,System.String,System.Boolean,System.Boolean,Apache.Ignite.Core.Binary.IBinaryNameMapper,Apache.Ignite.Core.Binary.IBinaryIdMapper,Apache.Ignite.Core.Binary.IBinarySerializer,System.String)">
+ <Messages>
+ <Message
Id="System.String.Format(System.String,System.Object,System.Object,System.Object)"
TypeName="SpecifyIFormatProvider" Category="Microsoft.Globalization"
CheckId="CA1305" Created="2015-11-11 15:43:38Z">
+ <Issue>
+ <Item>'string.Format(string, object, object, object)'</Item>
+ <Item>'Marshaller.AddType(Type, int, string, bool, bool,
IBinaryNameMapper, IBinaryIdMapper, IBinarySerializer, string)'</Item>
+ <Item>'string.Format(IFormatProvider, string, params
object[])'</Item>
+ </Issue>
+ </Message>
+ </Messages>
+ </Member>
+ </Members>
+ </Type>
+ </Types>
+ </Namespace>
+ <Namespace Name="Apache.Ignite.Core.Impl.Common">
+ <Types>
+ <Type Name="Classpath">
+ <Members>
+ <Member
Name="#AppendHomeClasspath(System.String,System.Boolean,System.Text.StringBuilder)">
+ <Messages>
+ <Message Id="System.String.EndsWith(System.String)"
TypeName="SpecifyStringComparison" Category="Microsoft.Globalization"
CheckId="CA1307" Created="2015-11-11 15:43:38Z">
+ <Issue>
+ <Item>'Classpath.AppendHomeClasspath(string, bool,
StringBuilder)'</Item>
+ <Item>'string.EndsWith(string)'</Item>
+ <Item>'string.EndsWith(string, StringComparison)'</Item>
+ </Issue>
+ </Message>
+ </Messages>
+ </Member>
+ <Member
Name="#CreateClasspath(System.String,Apache.Ignite.Core.IgniteConfiguration,System.Boolean)">
+ <Messages>
+ <Message Id="System.String.EndsWith(System.String)"
TypeName="SpecifyStringComparison" Category="Microsoft.Globalization"
CheckId="CA1307" Created="2015-11-11 15:43:38Z">
+ <Issue>
+ <Item>'Classpath.CreateClasspath(string, IgniteConfiguration,
bool)'</Item>
+ <Item>'string.EndsWith(string)'</Item>
+ <Item>'string.EndsWith(string, StringComparison)'</Item>
+ </Issue>
+ </Message>
+ </Messages>
+ </Member>
+ </Members>
+ </Type>
+ <Type Name="Future`1">
+ <Members>
+ <Member Name="#OnNullResult()">
+ <Messages>
+ <Message TypeName="DoNotCatchGeneralExceptionTypes"
Category="Microsoft.Design" CheckId="CA1031" Created="2015-11-11 15:43:38Z">
+ <Issue>
+ <Item>'Future<T>.OnNullResult()'</Item>
+ <Item>'Exception'</Item>
+ </Issue>
+ </Message>
+ </Messages>
+ </Member>
+ </Members>
+ </Type>
+ <Type Name="IgniteHome">
+ <Members>
+ <Member Name="#Resolve(Apache.Ignite.Core.IgniteConfiguration)">
+ <Messages>
+ <Message Id="System.String.Format(System.String,System.Object)"
TypeName="SpecifyIFormatProvider" Category="Microsoft.Globalization"
CheckId="CA1305" Created="2015-11-11 15:43:38Z">
+ <Issue>
+ <Item>'string.Format(string, object)'</Item>
+ <Item>'IgniteHome.Resolve(IgniteConfiguration)'</Item>
+ <Item>'string.Format(IFormatProvider, string, params
object[])'</Item>
+ </Issue>
+ </Message>
+ <Message
Id="System.String.Format(System.String,System.Object,System.Object)"
TypeName="SpecifyIFormatProvider" Category="Microsoft.Globalization"
CheckId="CA1305" Created="2015-11-11 15:43:38Z">
+ <Issue>
+ <Item>'string.Format(string, object, object)'</Item>
+ <Item>'IgniteHome.Resolve(IgniteConfiguration)'</Item>
+ <Item>'string.Format(IFormatProvider, string, params
object[])'</Item>
+ </Issue>
+ </Message>
+ </Messages>
+ </Member>
+ </Members>
+ </Type>
+ </Types>
+ </Namespace>
+ <Namespace Name="Apache.Ignite.Core.Impl.Memory">
+ <Types>
+ <Type Name="IPlatformMemory">
+ <Members>
+ <Member Name="#GetStream()">
+ <Messages>
+ <Message TypeName="UsePropertiesWhereAppropriate"
Category="Microsoft.Design" CheckId="CA1024" Created="2015-11-11 15:43:38Z">
+ <Issue Certainty="50">
+ <Item>'IPlatformMemory.GetStream()'</Item>
+ </Issue>
+ </Message>
+ </Messages>
+ </Member>
+ </Members>
+ </Type>
+ </Types>
+ </Namespace>
+ <Namespace Name="Apache.Ignite.Core.Impl.Unmanaged">
+ <Types>
+ <Type Name="UnmanagedUtils">
+ <Members>
+ <Member Name="#.cctor()">
+ <Messages>
+ <Message
Id="System.String.Format(System.String,System.Object,System.Object)"
TypeName="SpecifyIFormatProvider" Category="Microsoft.Globalization"
CheckId="CA1305" Created="2015-11-11 15:43:38Z">
+ <Issue>
+ <Item>'string.Format(string, object, object)'</Item>
+ <Item>'UnmanagedUtils.UnmanagedUtils()'</Item>
+ <Item>'string.Format(IFormatProvider, string, params
object[])'</Item>
+ </Issue>
+ </Message>
+ </Messages>
+ </Member>
+ </Members>
+ </Type>
+ </Types>
+ </Namespace>
+ </Namespaces>
+ </Module>
+ </Modules>
+ </Target>
+ </Targets>
+ <Rules>
+ <Rule TypeName="AvoidOutParameters" Category="Microsoft.Design"
CheckId="CA1021">
+ <Resolution Name="Default">Consider a design that does not require that
{0} be an out parameter.</Resolution>
+ </Rule>
+ <Rule TypeName="DoNotCatchGeneralExceptionTypes"
Category="Microsoft.Design" CheckId="CA1031">
+ <Resolution Name="Default">Modify {0} to catch a more specific exception
than {1} or rethrow the exception.</Resolution>
+ </Rule>
+ <Rule TypeName="DoNotRaiseReservedExceptionTypes"
Category="Microsoft.Usage" CheckId="CA2201">
+ <Resolution Name="Reserved">{0} creates an exception of type {1}, an
exception type that is reserved by the runtime and should never be raised by
managed code. If this exception instance might be thrown, use a different
exception type.</Resolution>
+ </Rule>
+ <Rule TypeName="InitializeReferenceTypeStaticFieldsInline"
Category="Microsoft.Performance" CheckId="CA1810">
+ <Resolution Name="Default">Initialize all static fields in {0} when those
fields are declared and remove the explicit static constructor.</Resolution>
+ </Rule>
+ <Rule TypeName="SpecifyIFormatProvider" Category="Microsoft.Globalization"
CheckId="CA1305">
+ <Resolution Name="Default">Because the behavior of {0} could vary based on
the current user's locale settings, replace this call in {1} with a call to
{2}. If the result of {2} 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'.</Resolution>
+ </Rule>
+ <Rule TypeName="SpecifyStringComparison" Category="Microsoft.Globalization"
CheckId="CA1307">
+ <Resolution Name="Default">{0} makes a call to {1} that does not
explicitly provide a StringComparison. This should be replaced with a call to
{2}.</Resolution>
+ </Rule>
+ <Rule TypeName="UsePropertiesWhereAppropriate" Category="Microsoft.Design"
CheckId="CA1024">
+ <Resolution Name="Default">Change {0} to a property if
appropriate.</Resolution>
+ </Rule>
+ </Rules>
+ </FxCopReport>
</FxCopProject>