You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by ni...@apache.org on 2017/07/11 07:42:41 UTC

[16/22] lucenenet git commit: Added missing TestApiConsistency tests to .NET Core tests

Added missing TestApiConsistency tests to .NET Core tests


Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/fa4f034f
Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/fa4f034f
Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/fa4f034f

Branch: refs/heads/master
Commit: fa4f034fa505192388ba1a8177c522193fd078c5
Parents: 9a8c9f2
Author: Shad Storhaug <sh...@shadstorhaug.com>
Authored: Tue Jul 11 12:39:01 2017 +0700
Committer: Shad Storhaug <sh...@shadstorhaug.com>
Committed: Tue Jul 11 12:39:01 2017 +0700

----------------------------------------------------------------------
 .../Support/ApiScanTestBase.cs                  | 127 ++++++++++---------
 .../Support/TestApiConsistency.cs               |   2 +
 .../project.json                                |   7 +-
 .../Support/TestApiConsistency.cs               |   2 +
 .../project.json                                |   7 +-
 .../Support/TestApiConsistency.cs               |   2 +
 .../project.json                                |   7 +-
 .../Support/TestApiConsistency.cs               |   2 +
 .../project.json                                |   7 +-
 .../Support/TestApiConsistency.cs               |   2 +
 .../project.json                                |   6 +-
 .../Support/TestApiConsistency.cs               |   2 +
 src/Lucene.Net.Tests.Codecs/project.json        |   7 +-
 .../Support/TestApiConsistency.cs               |   2 +
 src/Lucene.Net.Tests.Expressions/project.json   |   6 +-
 .../Support/TestApiConsistency.cs               |   2 +
 src/Lucene.Net.Tests.Facet/project.json         |   7 +-
 .../Support/TestApiConsistency.cs               |   2 +
 src/Lucene.Net.Tests.Grouping/project.json      |   7 +-
 .../Support/TestApiConsistency.cs               |   2 +
 src/Lucene.Net.Tests.Highlighter/project.json   |   7 +-
 .../Support/TestApiConsistency.cs               |   2 +
 src/Lucene.Net.Tests.ICU/project.json           |   3 -
 .../Support/TestApiConsistency.cs               |   2 +
 src/Lucene.Net.Tests.Join/project.json          |   6 +-
 .../Support/TestApiConsistency.cs               |   2 +
 src/Lucene.Net.Tests.Memory/project.json        |   6 +-
 .../Support/TestApiConsistency.cs               |   2 +
 src/Lucene.Net.Tests.Misc/project.json          |   6 +-
 .../Support/TestApiConsistency.cs               |   2 +
 src/Lucene.Net.Tests.Queries/project.json       |   6 +-
 .../Support/TestApiConsistency.cs               |   2 +
 src/Lucene.Net.Tests.QueryParser/project.json   |   3 +-
 .../Support/TestApiConsistency.cs               |   2 +
 src/Lucene.Net.Tests.Sandbox/project.json       |   6 +-
 .../Support/TestApiConsistency.cs               |   2 +
 src/Lucene.Net.Tests.Spatial/project.json       |   7 +-
 .../Support/TestApiConsistency.cs               |   2 +
 src/Lucene.Net.Tests.Suggest/project.json       |   7 +-
 .../Support/TestApiConsistency.cs               |   2 +
 src/Lucene.Net.Tests/project.json               |   1 -
 41 files changed, 123 insertions(+), 163 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.TestFramework/Support/ApiScanTestBase.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/Support/ApiScanTestBase.cs b/src/Lucene.Net.TestFramework/Support/ApiScanTestBase.cs
index b754f16..8f389cb 100644
--- a/src/Lucene.Net.TestFramework/Support/ApiScanTestBase.cs
+++ b/src/Lucene.Net.TestFramework/Support/ApiScanTestBase.cs
@@ -19,7 +19,6 @@
  *
 */
 
-#if !NETSTANDARD
 using Lucene.Net.Util;
 using NUnit.Framework;
 using System;
@@ -94,7 +93,7 @@ namespace Lucene.Net.Support
         //[Test, LuceneNetSpecific]
         public virtual void TestProtectedFieldNames(Type typeFromTargetAssembly)
         {
-            var names = GetInvalidProtectedFields(typeFromTargetAssembly.Assembly);
+            var names = GetInvalidProtectedFields(typeFromTargetAssembly.GetTypeInfo().Assembly);
 
             //if (VERBOSE)
             //{
@@ -117,7 +116,7 @@ namespace Lucene.Net.Support
         //[Test, LuceneNetSpecific]
         public virtual void TestPrivateFieldNames(Type typeFromTargetAssembly, string exceptionRegex)
         {
-            var names = GetInvalidPrivateFields(typeFromTargetAssembly.Assembly, exceptionRegex);
+            var names = GetInvalidPrivateFields(typeFromTargetAssembly.GetTypeInfo().Assembly, exceptionRegex);
 
             //if (VERBOSE)
             //{
@@ -134,7 +133,7 @@ namespace Lucene.Net.Support
         //[Test, LuceneNetSpecific]
         public virtual void TestPublicFields(Type typeFromTargetAssembly)
         {
-            var names = GetInvalidPublicFields(typeFromTargetAssembly.Assembly);
+            var names = GetInvalidPublicFields(typeFromTargetAssembly.GetTypeInfo().Assembly);
 
             //if (VERBOSE)
             //{
@@ -151,7 +150,7 @@ namespace Lucene.Net.Support
         //[Test, LuceneNetSpecific]
         public virtual void TestMethodParameterNames(Type typeFromTargetAssembly)
         {
-            var names = GetInvalidMethodParameterNames(typeFromTargetAssembly.Assembly);
+            var names = GetInvalidMethodParameterNames(typeFromTargetAssembly.GetTypeInfo().Assembly);
 
             //if (VERBOSE)
             //{
@@ -168,7 +167,7 @@ namespace Lucene.Net.Support
         //[Test, LuceneNetSpecific]
         public virtual void TestInterfaceNames(Type typeFromTargetAssembly)
         {
-            var names = GetInvalidInterfaceNames(typeFromTargetAssembly.Assembly);
+            var names = GetInvalidInterfaceNames(typeFromTargetAssembly.GetTypeInfo().Assembly);
 
             //if (VERBOSE)
             //{
@@ -185,7 +184,7 @@ namespace Lucene.Net.Support
         //[Test, LuceneNetSpecific]
         public virtual void TestClassNames(Type typeFromTargetAssembly)
         {
-            var names = GetInvalidClassNames(typeFromTargetAssembly.Assembly);
+            var names = GetInvalidClassNames(typeFromTargetAssembly.GetTypeInfo().Assembly);
 
             //if (VERBOSE)
             //{
@@ -203,7 +202,7 @@ namespace Lucene.Net.Support
         //[Test, LuceneNetSpecific]
         public virtual void TestForPropertiesWithNoGetter(Type typeFromTargetAssembly)
         {
-            var names = GetPropertiesWithNoGetter(typeFromTargetAssembly.Assembly);
+            var names = GetPropertiesWithNoGetter(typeFromTargetAssembly.GetTypeInfo().Assembly);
 
             //if (VERBOSE)
             //{
@@ -221,7 +220,7 @@ namespace Lucene.Net.Support
         //[Test, LuceneNetSpecific]
         public virtual void TestForPropertiesThatReturnArray(Type typeFromTargetAssembly)
         {
-            var names = GetPropertiesThatReturnArray(typeFromTargetAssembly.Assembly);
+            var names = GetPropertiesThatReturnArray(typeFromTargetAssembly.GetTypeInfo().Assembly);
 
             //if (VERBOSE)
             //{
@@ -238,10 +237,11 @@ namespace Lucene.Net.Support
                 "the consumer if the array is not cloned using arr.ToArray().");
         }
 
+#if !NETSTANDARD
         //[Test, LuceneNetSpecific]
         public virtual void TestForMethodsThatReturnWritableArray(Type typeFromTargetAssembly)
         {
-            var names = GetMethodsThatReturnWritableArray(typeFromTargetAssembly.Assembly);
+            var names = GetMethodsThatReturnWritableArray(typeFromTargetAssembly.GetTypeInfo().Assembly);
 
             //if (VERBOSE)
             //{
@@ -255,14 +255,15 @@ namespace Lucene.Net.Support
                 "An array should be cloned before returning using arr.ToArray() or if it is intended to be writable, " +
                 "decorate with the WritableArray attribute and consider making it a property for clarity.");
         }
+#endif
 
         //[Test, LuceneNetSpecific]
         public virtual void TestForPublicMembersContainingComparer(Type typeFromTargetAssembly)
         {
             var names = new List<string>();
 
-            names.AddRange(GetProtectedFieldsContainingComparer(typeFromTargetAssembly.Assembly));
-            names.AddRange(GetMembersContainingComparer(typeFromTargetAssembly.Assembly));
+            names.AddRange(GetProtectedFieldsContainingComparer(typeFromTargetAssembly.GetTypeInfo().Assembly));
+            names.AddRange(GetMembersContainingComparer(typeFromTargetAssembly.GetTypeInfo().Assembly));
 
             //if (VERBOSE)
             //{
@@ -279,7 +280,7 @@ namespace Lucene.Net.Support
         //[Test, LuceneNetSpecific]
         public virtual void TestForPublicMembersNamedSize(Type typeFromTargetAssembly)
         {
-            var names = GetMembersNamedSize(typeFromTargetAssembly.Assembly);
+            var names = GetMembersNamedSize(typeFromTargetAssembly.GetTypeInfo().Assembly);
 
             //if (VERBOSE)
             //{
@@ -299,7 +300,7 @@ namespace Lucene.Net.Support
         //[Test, LuceneNetSpecific]
         public virtual void TestForPublicMembersContainingNonNetNumeric(Type typeFromTargetAssembly)
         {
-            var names = GetMembersContainingNonNetNumeric(typeFromTargetAssembly.Assembly);
+            var names = GetMembersContainingNonNetNumeric(typeFromTargetAssembly.GetTypeInfo().Assembly);
 
             //if (VERBOSE)
             //{
@@ -317,7 +318,7 @@ namespace Lucene.Net.Support
         //[Test, LuceneNetSpecific]
         public virtual void TestForTypesContainingNonNetNumeric(Type typeFromTargetAssembly)
         {
-            var names = GetTypesContainingNonNetNumeric(typeFromTargetAssembly.Assembly);
+            var names = GetTypesContainingNonNetNumeric(typeFromTargetAssembly.GetTypeInfo().Assembly);
 
             //if (VERBOSE)
             //{
@@ -336,7 +337,7 @@ namespace Lucene.Net.Support
         //[Test, LuceneNetSpecific]
         public virtual void TestForPublicMembersWithNullableEnum(Type typeFromTargetAssembly)
         {
-            var names = GetPublicNullableEnumMembers(typeFromTargetAssembly.Assembly);
+            var names = GetPublicNullableEnumMembers(typeFromTargetAssembly.GetTypeInfo().Assembly);
 
             //if (VERBOSE)
             //{
@@ -361,7 +362,7 @@ namespace Lucene.Net.Support
         //[Test, LuceneNetSpecific]
         public virtual void TestForMembersAcceptingOrReturningIEnumerable(Type typeFromTargetAssembly, string exceptionRegex)
         {
-            var names = GetMembersAcceptingOrReturningType(typeof(IEnumerable<>), typeFromTargetAssembly.Assembly, false, exceptionRegex);
+            var names = GetMembersAcceptingOrReturningType(typeof(IEnumerable<>), typeFromTargetAssembly.GetTypeInfo().Assembly, false, exceptionRegex);
 
             //if (VERBOSE)
             //{
@@ -384,8 +385,8 @@ namespace Lucene.Net.Support
         public virtual void TestForMembersAcceptingOrReturningListOrDictionary(Type typeFromTargetAssembly, string exceptionRegex)
         {
             var names = new List<string>();
-            names.AddRange(GetMembersAcceptingOrReturningType(typeof(List<>), typeFromTargetAssembly.Assembly, true, exceptionRegex));
-            names.AddRange(GetMembersAcceptingOrReturningType(typeof(Dictionary<,>), typeFromTargetAssembly.Assembly, true, exceptionRegex));
+            names.AddRange(GetMembersAcceptingOrReturningType(typeof(List<>), typeFromTargetAssembly.GetTypeInfo().Assembly, true, exceptionRegex));
+            names.AddRange(GetMembersAcceptingOrReturningType(typeof(Dictionary<,>), typeFromTargetAssembly.GetTypeInfo().Assembly, true, exceptionRegex));
 
             //if (VERBOSE)
             //{
@@ -403,7 +404,7 @@ namespace Lucene.Net.Support
         {
             var result = new List<string>();
 
-            var classes = assembly.GetTypes().Where(t => t.IsClass);
+            var classes = assembly.GetTypes().Where(t => t.GetTypeInfo().IsClass);
 
             foreach (var c in classes)
             {
@@ -421,7 +422,7 @@ namespace Lucene.Net.Support
                         continue;
                     }
 
-                    if ((field.IsPrivate || field.IsAssembly) && !PrivateFieldName.IsMatch(field.Name) && field.DeclaringType.Equals(c.UnderlyingSystemType))
+                    if ((field.IsPrivate || field.IsAssembly) && !PrivateFieldName.IsMatch(field.Name) && field.DeclaringType.Equals(c.GetTypeInfo().UnderlyingSystemType))
                     {
                         var name = string.Concat(c.FullName, ".", field.Name);
                         //bool hasExceptions = !string.IsNullOrWhiteSpace(exceptionRegex);
@@ -444,7 +445,7 @@ namespace Lucene.Net.Support
         {
             var result = new List<string>();
 
-            var classes = assembly.GetTypes().Where(t => t.IsClass);
+            var classes = assembly.GetTypes().Where(t => t.GetTypeInfo().IsClass);
 
             foreach (var c in classes)
             {
@@ -467,7 +468,7 @@ namespace Lucene.Net.Support
                         continue;
                     }
 
-                    if ((field.IsFamily || field.IsFamilyOrAssembly) && !ProtectedFieldName.IsMatch(field.Name) && field.DeclaringType.Equals(c.UnderlyingSystemType))
+                    if ((field.IsFamily || field.IsFamilyOrAssembly) && !ProtectedFieldName.IsMatch(field.Name) && field.DeclaringType.Equals(c.GetTypeInfo().UnderlyingSystemType))
                     {
                         result.Add(string.Concat(c.FullName, ".", field.Name));
                     }
@@ -486,7 +487,7 @@ namespace Lucene.Net.Support
         {
             var result = new List<string>();
 
-            var classes = assembly.GetTypes().Where(t => t.IsClass);
+            var classes = assembly.GetTypes().Where(t => t.GetTypeInfo().IsClass);
 
             foreach (var c in classes)
             {
@@ -514,7 +515,7 @@ namespace Lucene.Net.Support
                         continue;
                     }
 
-                    if (field.IsPublic && field.DeclaringType.Equals(c.UnderlyingSystemType))
+                    if (field.IsPublic && field.DeclaringType.Equals(c.GetTypeInfo().UnderlyingSystemType))
                     {
                         result.Add(string.Concat(c.FullName, ".", field.Name));
                     }
@@ -528,7 +529,7 @@ namespace Lucene.Net.Support
         {
             var result = new List<string>();
 
-            var classes = assembly.GetTypes().Where(t => t.IsClass);
+            var classes = assembly.GetTypes().Where(t => t.GetTypeInfo().IsClass);
 
             foreach (var c in classes)
             {
@@ -545,7 +546,7 @@ namespace Lucene.Net.Support
 
                     foreach (var parameter in parameters)
                     {
-                        if (!MethodParameterName.IsMatch(parameter.Name) && method.DeclaringType.Equals(c.UnderlyingSystemType))
+                        if (!MethodParameterName.IsMatch(parameter.Name) && method.DeclaringType.Equals(c.GetTypeInfo().UnderlyingSystemType))
                         {
                             result.Add(string.Concat(c.FullName, ".", method.Name, " -parameter- ", parameter.Name));
                         }
@@ -560,7 +561,7 @@ namespace Lucene.Net.Support
         {
             var result = new List<string>();
 
-            var interfaces = assembly.GetTypes().Where(t => t.IsInterface);
+            var interfaces = assembly.GetTypes().Where(t => t.GetTypeInfo().IsInterface);
 
             foreach (var i in interfaces)
             {
@@ -577,7 +578,7 @@ namespace Lucene.Net.Support
         {
             var result = new List<string>();
 
-            var classes = assembly.GetTypes().Where(t => t.IsClass);
+            var classes = assembly.GetTypes().Where(t => t.GetTypeInfo().IsClass);
 
             foreach (var c in classes)
             {
@@ -586,7 +587,7 @@ namespace Lucene.Net.Support
                     continue;
                 }
 
-                if (System.Attribute.IsDefined(c, typeof(ExceptionToClassNameConventionAttribute)))
+                if (c.GetTypeInfo().IsDefined(typeof(ExceptionToClassNameConventionAttribute)))
                 {
                     continue;
                 }
@@ -604,7 +605,7 @@ namespace Lucene.Net.Support
         {
             var result = new List<string>();
 
-            var classes = assembly.GetTypes().Where(t => t.IsClass);
+            var classes = assembly.GetTypes().Where(t => t.GetTypeInfo().IsClass);
 
             foreach (var c in classes)
             {
@@ -612,7 +613,7 @@ namespace Lucene.Net.Support
 
                 foreach (var property in properties)
                 {
-                    if (property.GetSetMethod(true) != null && property.GetGetMethod(true) == null && property.DeclaringType.Equals(c.UnderlyingSystemType))
+                    if (property.GetSetMethod(true) != null && property.GetGetMethod(true) == null && property.DeclaringType.Equals(c.GetTypeInfo().UnderlyingSystemType))
                     {
                         result.Add(string.Concat(c.FullName, ".", property.Name));
                     }
@@ -626,7 +627,7 @@ namespace Lucene.Net.Support
         {
             var result = new List<string>();
 
-            var classes = assembly.GetTypes().Where(t => t.IsClass);
+            var classes = assembly.GetTypes().Where(t => t.GetTypeInfo().IsClass);
 
             foreach (var c in classes)
             {
@@ -638,14 +639,14 @@ namespace Lucene.Net.Support
                     // properties that were intended to expose arrays, as per MSDN this
                     // is not a .NET best practice. However, Lucene's design requires that
                     // this be done.
-                    if (System.Attribute.IsDefined(property, typeof(WritableArrayAttribute)))
+                    if (property.IsDefined(typeof(WritableArrayAttribute)))
                     {
                         continue;
                     }
 
                     var getMethod = property.GetGetMethod();
                     
-                    if (getMethod != null && getMethod.ReturnParameter != null && getMethod.ReturnParameter.ParameterType.IsArray && property.DeclaringType.Equals(c.UnderlyingSystemType))
+                    if (getMethod != null && getMethod.ReturnParameter != null && getMethod.ReturnParameter.ParameterType.IsArray && property.DeclaringType.Equals(c.GetTypeInfo().UnderlyingSystemType))
                     {
                         result.Add(string.Concat(c.FullName, ".", property.Name));
                     }
@@ -660,7 +661,7 @@ namespace Lucene.Net.Support
         {
             var result = new List<string>();
 
-            var classes = assembly.GetTypes().Where(t => t.IsClass);
+            var classes = assembly.GetTypes().Where(t => t.GetTypeInfo().IsClass);
 
             foreach (var c in classes)
             {
@@ -678,7 +679,7 @@ namespace Lucene.Net.Support
                         continue;
                     }
 
-                    if ((field.IsFamily || field.IsFamilyOrAssembly) && ContainsComparer.IsMatch(field.Name) && field.DeclaringType.Equals(c.UnderlyingSystemType))
+                    if ((field.IsFamily || field.IsFamilyOrAssembly) && ContainsComparer.IsMatch(field.Name) && field.DeclaringType.Equals(c.GetTypeInfo().UnderlyingSystemType))
                     {
                         result.Add(string.Concat(c.FullName, ".", field.Name));
                     }
@@ -696,7 +697,7 @@ namespace Lucene.Net.Support
 
             foreach (var t in types)
             {
-                if (ContainsComparer.IsMatch(t.Name) && t.IsVisible)
+                if (ContainsComparer.IsMatch(t.Name) && t.GetTypeInfo().IsVisible)
                 {
                     result.Add(t.FullName);
                 }
@@ -705,7 +706,7 @@ namespace Lucene.Net.Support
 
                 foreach (var member in members)
                 {
-                    if (ContainsComparer.IsMatch(member.Name) && member.DeclaringType.Equals(t.UnderlyingSystemType))
+                    if (ContainsComparer.IsMatch(member.Name) && member.DeclaringType.Equals(t.GetTypeInfo().UnderlyingSystemType))
                     {
                         if (member.MemberType == MemberTypes.Method && !(member.Name.StartsWith("get_", StringComparison.Ordinal) || member.Name.StartsWith("set_", StringComparison.Ordinal)))
                         {
@@ -738,7 +739,7 @@ namespace Lucene.Net.Support
 
                 foreach (var member in members)
                 {
-                    if ("Size".Equals(member.Name, StringComparison.OrdinalIgnoreCase) && member.DeclaringType.Equals(t.UnderlyingSystemType))
+                    if ("Size".Equals(member.Name, StringComparison.OrdinalIgnoreCase) && member.DeclaringType.Equals(t.GetTypeInfo().UnderlyingSystemType))
                     {
                         if (member.MemberType == MemberTypes.Method && !(member.Name.StartsWith("get_", StringComparison.Ordinal) || member.Name.StartsWith("set_", StringComparison.Ordinal)))
                         {
@@ -779,12 +780,12 @@ namespace Lucene.Net.Support
                 foreach (var member in members)
                 {
                     // Ignore properties, methods, and events with IgnoreNetNumericConventionAttribute
-                    if (System.Attribute.IsDefined(member, typeof(ExceptionToNetNumericConventionAttribute)))
+                    if (member.IsDefined(typeof(ExceptionToNetNumericConventionAttribute)))
                     {
                         continue;
                     }
 
-                    if (ContainsNonNetNumeric.IsMatch(member.Name) && member.DeclaringType.Equals(t.UnderlyingSystemType))
+                    if (ContainsNonNetNumeric.IsMatch(member.Name) && member.DeclaringType.Equals(t.GetTypeInfo().UnderlyingSystemType))
                     {
                         if (member.MemberType == MemberTypes.Method && !(member.Name.StartsWith("get_", StringComparison.Ordinal) || member.Name.StartsWith("set_", StringComparison.Ordinal)))
                         {
@@ -822,11 +823,12 @@ namespace Lucene.Net.Support
             return result.ToArray();
         }
 
+#if !NETSTANDARD
         private static IEnumerable<string> GetMethodsThatReturnWritableArray(Assembly assembly)
         {
             var result = new List<string>();
 
-            var classes = assembly.GetTypes().Where(t => t.IsClass);
+            var classes = assembly.GetTypes().Where(t => t.GetTypeInfo().IsClass);
 
             foreach (var c in classes)
             {
@@ -843,7 +845,7 @@ namespace Lucene.Net.Support
                     // properties that were intended to expose arrays, as per MSDN this
                     // is not a .NET best practice. However, Lucene's design requires that
                     // this be done.
-                    if (System.Attribute.IsDefined(method, typeof(WritableArrayAttribute)))
+                    if (method.IsDefined(typeof(WritableArrayAttribute)))
                     {
                         continue;
                     }
@@ -856,8 +858,9 @@ namespace Lucene.Net.Support
 
                     if (method != null && method.ReturnParameter != null 
                         && method.ReturnParameter.ParameterType.IsArray 
-                        && method.DeclaringType.Equals(c.UnderlyingSystemType))
+                        && method.DeclaringType.Equals(c.GetTypeInfo().UnderlyingSystemType))
                     {
+
                         var methodBody = method.GetMethodBody();
                         if (methodBody != null)
                         {
@@ -874,6 +877,7 @@ namespace Lucene.Net.Support
 
             return result.ToArray();
         }
+#endif
 
         private static IEnumerable<string> GetPublicNullableEnumMembers(Assembly assembly)
         {
@@ -893,12 +897,12 @@ namespace Lucene.Net.Support
                     }
 
                     // Ignore properties, methods, and events with IgnoreNetNumericConventionAttribute
-                    if (System.Attribute.IsDefined(member, typeof(ExceptionToNullableEnumConvention)))
+                    if (member.IsDefined(typeof(ExceptionToNullableEnumConvention)))
                     {
                         continue;
                     }
 
-                    if (member.DeclaringType.Equals(t.UnderlyingSystemType))
+                    if (member.DeclaringType.Equals(t.GetTypeInfo().UnderlyingSystemType))
                     {
                         if (member.MemberType == MemberTypes.Method && !(member.Name.StartsWith("get_", StringComparison.Ordinal) || member.Name.StartsWith("set_", StringComparison.Ordinal)))
                         {
@@ -908,7 +912,7 @@ namespace Lucene.Net.Support
                             {
                                 if (method.ReturnParameter != null
                                     && Nullable.GetUnderlyingType(method.ReturnParameter.ParameterType) != null
-                                    && method.ReturnParameter.ParameterType.GetGenericArguments()[0].IsEnum)
+                                    && method.ReturnParameter.ParameterType.GetGenericArguments()[0].GetTypeInfo().IsEnum)
                                 {
                                     result.Add(string.Concat(t.FullName, ".", member.Name, "()"));
                                 }
@@ -918,8 +922,8 @@ namespace Lucene.Net.Support
                                 foreach (var parameter in parameters)
                                 {
                                     if (Nullable.GetUnderlyingType(parameter.ParameterType) != null
-                                        && parameter.ParameterType.GetGenericArguments()[0].IsEnum
-                                        && member.DeclaringType.Equals(t.UnderlyingSystemType))
+                                        && parameter.ParameterType.GetGenericArguments()[0].GetTypeInfo().IsEnum
+                                        && member.DeclaringType.Equals(t.GetTypeInfo().UnderlyingSystemType))
                                     {
                                         result.Add(string.Concat(t.FullName, ".", member.Name, "()", " -parameter- ", parameter.Name));
                                     }
@@ -937,8 +941,8 @@ namespace Lucene.Net.Support
                                 foreach (var parameter in parameters)
                                 {
                                     if (Nullable.GetUnderlyingType(parameter.ParameterType) != null
-                                        && parameter.ParameterType.GetGenericArguments()[0].IsEnum
-                                        && member.DeclaringType.Equals(t.UnderlyingSystemType))
+                                        && parameter.ParameterType.GetGenericArguments()[0].GetTypeInfo().IsEnum
+                                        && member.DeclaringType.Equals(t.GetTypeInfo().UnderlyingSystemType))
                                     {
                                         result.Add(string.Concat(t.FullName, ".", member.Name, "()", " -parameter- ", parameter.Name));
                                     }
@@ -947,14 +951,14 @@ namespace Lucene.Net.Support
                         }
                         else if (member.MemberType == MemberTypes.Property 
                             && Nullable.GetUnderlyingType(((PropertyInfo)member).PropertyType) != null 
-                            && ((PropertyInfo)member).PropertyType.GetGenericArguments()[0].IsEnum 
+                            && ((PropertyInfo)member).PropertyType.GetGenericArguments()[0].GetTypeInfo().IsEnum 
                             && IsNonPrivateProperty((PropertyInfo)member))
                         {
                             result.Add(string.Concat(t.FullName, ".", member.Name));
                         }
                         else if (member.MemberType == MemberTypes.Field 
                             && Nullable.GetUnderlyingType(((FieldInfo)member).FieldType) != null 
-                            && ((FieldInfo)member).FieldType.GetGenericArguments()[0].IsEnum 
+                            && ((FieldInfo)member).FieldType.GetGenericArguments()[0].GetTypeInfo().IsEnum 
                             && (((FieldInfo)member).IsFamily || ((FieldInfo)member).IsFamilyOrAssembly))
                         {
                             result.Add(string.Concat(t.FullName, ".", member.Name, " (field)"));
@@ -1004,7 +1008,7 @@ namespace Lucene.Net.Support
                         continue;
                     }
 
-                    if (member.DeclaringType.Equals(t.UnderlyingSystemType))
+                    if (member.DeclaringType.Equals(t.GetTypeInfo().UnderlyingSystemType))
                     {
                         if (member.MemberType == MemberTypes.Method && !(member.Name.StartsWith("get_", StringComparison.Ordinal) || member.Name.StartsWith("set_", StringComparison.Ordinal)))
                         {
@@ -1014,7 +1018,7 @@ namespace Lucene.Net.Support
                             {
 
                                 if (method.ReturnParameter != null
-                                    && method.ReturnParameter.ParameterType.IsGenericType
+                                    && method.ReturnParameter.ParameterType.GetTypeInfo().IsGenericType
                                     && method.ReturnParameter.ParameterType.GetGenericTypeDefinition().IsAssignableFrom(lookFor))
                                 {
                                     var name = string.Concat(t.FullName, ".", member.Name, "()");
@@ -1029,9 +1033,9 @@ namespace Lucene.Net.Support
 
                                 foreach (var parameter in parameters)
                                 {
-                                    if (parameter.ParameterType.IsGenericType
+                                    if (parameter.ParameterType.GetTypeInfo().IsGenericType
                                         && parameter.ParameterType.GetGenericTypeDefinition().IsAssignableFrom(lookFor)
-                                        && member.DeclaringType.Equals(t.UnderlyingSystemType))
+                                        && member.DeclaringType.Equals(t.GetTypeInfo().UnderlyingSystemType))
                                     {
                                         var name = string.Concat(t.FullName, ".", member.Name, "()", " -parameter- ", parameter.Name);
 
@@ -1053,9 +1057,9 @@ namespace Lucene.Net.Support
 
                                 foreach (var parameter in parameters)
                                 {
-                                    if (parameter.ParameterType.IsGenericType
+                                    if (parameter.ParameterType.GetTypeInfo().IsGenericType
                                         && parameter.ParameterType.GetGenericTypeDefinition().IsAssignableFrom(lookFor)
-                                        && member.DeclaringType.Equals(t.UnderlyingSystemType))
+                                        && member.DeclaringType.Equals(t.GetTypeInfo().UnderlyingSystemType))
                                     {
                                         var name = string.Concat(t.FullName, ".", member.Name, "()", " -parameter- ", parameter.Name);
 
@@ -1068,7 +1072,7 @@ namespace Lucene.Net.Support
                             }
                         }
                         else if (member.MemberType == MemberTypes.Property
-                            && ((PropertyInfo)member).PropertyType.IsGenericType
+                            && ((PropertyInfo)member).PropertyType.GetTypeInfo().IsGenericType
                             && ((PropertyInfo)member).PropertyType.GetGenericTypeDefinition().IsAssignableFrom(lookFor)
                             && (!publiclyVisibleOnly || IsNonPrivateProperty((PropertyInfo)member)))
                         {
@@ -1094,4 +1098,3 @@ namespace Lucene.Net.Support
         }
     }
 }
-#endif

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Analysis.Common/Support/TestApiConsistency.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Support/TestApiConsistency.cs b/src/Lucene.Net.Tests.Analysis.Common/Support/TestApiConsistency.cs
index cf441de..7f65360 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Support/TestApiConsistency.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Support/TestApiConsistency.cs
@@ -87,12 +87,14 @@ namespace Lucene.Net.Analysis
             base.TestForPropertiesThatReturnArray(typeFromTargetAssembly);
         }
 
+#if !NETSTANDARD
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Analysis.Standard.ClassicAnalyzer))]
         public override void TestForMethodsThatReturnWritableArray(Type typeFromTargetAssembly)
         {
             base.TestForMethodsThatReturnWritableArray(typeFromTargetAssembly);
         }
+#endif
 
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Analysis.Standard.ClassicAnalyzer))]

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Analysis.Common/project.json
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Analysis.Common/project.json b/src/Lucene.Net.Tests.Analysis.Common/project.json
index 0ad7006..3a1fb1e 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/project.json
+++ b/src/Lucene.Net.Tests.Analysis.Common/project.json
@@ -102,12 +102,7 @@
     "netcoreapp1.0": {
       "buildOptions": {
         "debugType": "portable",
-        "define": [ "NETSTANDARD" ],
-        "compile": {
-          "excludeFiles": [
-            "Support/TestApiConsistency.cs"
-          ]
-        }
+        "define": [ "NETSTANDARD" ]
       },
       "imports": "dnxcore50"
     },

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Analysis.Phonetic/Support/TestApiConsistency.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Analysis.Phonetic/Support/TestApiConsistency.cs b/src/Lucene.Net.Tests.Analysis.Phonetic/Support/TestApiConsistency.cs
index 37e0f6b..875f837 100644
--- a/src/Lucene.Net.Tests.Analysis.Phonetic/Support/TestApiConsistency.cs
+++ b/src/Lucene.Net.Tests.Analysis.Phonetic/Support/TestApiConsistency.cs
@@ -87,12 +87,14 @@ namespace Lucene.Net.Analysis.Phonetic
             base.TestForPropertiesThatReturnArray(typeFromTargetAssembly);
         }
 
+#if !NETSTANDARD
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Analysis.Phonetic.BeiderMorseFilter))]
         public override void TestForMethodsThatReturnWritableArray(Type typeFromTargetAssembly)
         {
             base.TestForMethodsThatReturnWritableArray(typeFromTargetAssembly);
         }
+#endif
 
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Analysis.Phonetic.BeiderMorseFilter))]

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Analysis.Phonetic/project.json
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Analysis.Phonetic/project.json b/src/Lucene.Net.Tests.Analysis.Phonetic/project.json
index 7bad539..82f8959 100644
--- a/src/Lucene.Net.Tests.Analysis.Phonetic/project.json
+++ b/src/Lucene.Net.Tests.Analysis.Phonetic/project.json
@@ -22,12 +22,7 @@
       "imports": "dnxcore50",
       "buildOptions": {
         "debugType": "portable",
-        "define": [ "NETSTANDARD" ],
-        "compile": {
-          "excludeFiles": [
-            "Support/TestApiConsistency.cs"
-          ]
-        }
+        "define": [ "NETSTANDARD" ]
       }
     },
     "net451": {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Analysis.SmartCn/Support/TestApiConsistency.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Analysis.SmartCn/Support/TestApiConsistency.cs b/src/Lucene.Net.Tests.Analysis.SmartCn/Support/TestApiConsistency.cs
index 0943448..e103482 100644
--- a/src/Lucene.Net.Tests.Analysis.SmartCn/Support/TestApiConsistency.cs
+++ b/src/Lucene.Net.Tests.Analysis.SmartCn/Support/TestApiConsistency.cs
@@ -87,12 +87,14 @@ namespace Lucene.Net.Analysis.Cn.Smart.Support
             base.TestForPropertiesThatReturnArray(typeFromTargetAssembly);
         }
 
+#if !NETSTANDARD
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Analysis.Cn.Smart.AnalyzerProfile))]
         public override void TestForMethodsThatReturnWritableArray(Type typeFromTargetAssembly)
         {
             base.TestForMethodsThatReturnWritableArray(typeFromTargetAssembly);
         }
+#endif
 
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Analysis.Cn.Smart.AnalyzerProfile))]

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Analysis.SmartCn/project.json
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Analysis.SmartCn/project.json b/src/Lucene.Net.Tests.Analysis.SmartCn/project.json
index d7196a3..a9a4b47 100644
--- a/src/Lucene.Net.Tests.Analysis.SmartCn/project.json
+++ b/src/Lucene.Net.Tests.Analysis.SmartCn/project.json
@@ -22,12 +22,7 @@
       "imports": "dnxcore50",
       "buildOptions": {
         "debugType": "portable",
-        "define": [ "NETSTANDARD" ],
-        "compile": {
-          "excludeFiles": [
-            "Support/TestApiConsistency.cs"
-          ]
-        }
+        "define": [ "NETSTANDARD" ]
       }
     },
     "net451": {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Analysis.Stempel/Support/TestApiConsistency.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Analysis.Stempel/Support/TestApiConsistency.cs b/src/Lucene.Net.Tests.Analysis.Stempel/Support/TestApiConsistency.cs
index 3c546f5..c19c7f5 100644
--- a/src/Lucene.Net.Tests.Analysis.Stempel/Support/TestApiConsistency.cs
+++ b/src/Lucene.Net.Tests.Analysis.Stempel/Support/TestApiConsistency.cs
@@ -87,12 +87,14 @@ namespace Lucene.Net.Analysis.Stempel
             base.TestForPropertiesThatReturnArray(typeFromTargetAssembly);
         }
 
+#if !NETSTANDARD
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Analysis.Stempel.StempelFilter))]
         public override void TestForMethodsThatReturnWritableArray(Type typeFromTargetAssembly)
         {
             base.TestForMethodsThatReturnWritableArray(typeFromTargetAssembly);
         }
+#endif
 
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Analysis.Stempel.StempelFilter))]

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Analysis.Stempel/project.json
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Analysis.Stempel/project.json b/src/Lucene.Net.Tests.Analysis.Stempel/project.json
index d2bcbff..463e61c 100644
--- a/src/Lucene.Net.Tests.Analysis.Stempel/project.json
+++ b/src/Lucene.Net.Tests.Analysis.Stempel/project.json
@@ -23,12 +23,7 @@
       "imports": "dnxcore50",
       "buildOptions": {
         "debugType": "portable",
-        "define": [ "NETSTANDARD" ],
-        "compile": {
-          "excludeFiles": [
-            "Support/TestApiConsistency.cs"
-          ]
-        }
+        "define": [ "NETSTANDARD" ]
       }
     },
     "net451": {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Classification/Support/TestApiConsistency.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Classification/Support/TestApiConsistency.cs b/src/Lucene.Net.Tests.Classification/Support/TestApiConsistency.cs
index c72e624..98dc2db 100644
--- a/src/Lucene.Net.Tests.Classification/Support/TestApiConsistency.cs
+++ b/src/Lucene.Net.Tests.Classification/Support/TestApiConsistency.cs
@@ -87,12 +87,14 @@ namespace Lucene.Net.Classification
             base.TestForPropertiesThatReturnArray(typeFromTargetAssembly);
         }
 
+#if !NETSTANDARD
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Classification.KNearestNeighborClassifier))]
         public override void TestForMethodsThatReturnWritableArray(Type typeFromTargetAssembly)
         {
             base.TestForMethodsThatReturnWritableArray(typeFromTargetAssembly);
         }
+#endif
 
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Classification.KNearestNeighborClassifier))]

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Classification/project.json
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Classification/project.json b/src/Lucene.Net.Tests.Classification/project.json
index b804729..be13c30 100644
--- a/src/Lucene.Net.Tests.Classification/project.json
+++ b/src/Lucene.Net.Tests.Classification/project.json
@@ -19,11 +19,7 @@
       "imports": "dnxcore50",
       "buildOptions": {
         "debugType": "portable",
-        "compile": {
-          "excludeFiles": [
-            "Support/TestApiConsistency.cs"
-          ]
-        }
+        "define": [ "NETSTANDARD" ]
       }
     },
     "net451": {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Codecs/Support/TestApiConsistency.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Codecs/Support/TestApiConsistency.cs b/src/Lucene.Net.Tests.Codecs/Support/TestApiConsistency.cs
index 1629622..3c01ed5 100644
--- a/src/Lucene.Net.Tests.Codecs/Support/TestApiConsistency.cs
+++ b/src/Lucene.Net.Tests.Codecs/Support/TestApiConsistency.cs
@@ -87,12 +87,14 @@ namespace Lucene.Net.Codecs.Tests
             base.TestForPropertiesThatReturnArray(typeFromTargetAssembly);
         }
 
+#if !NETSTANDARD
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Codecs.BlockTerms.BlockTermsReader))]
         public override void TestForMethodsThatReturnWritableArray(Type typeFromTargetAssembly)
         {
             base.TestForMethodsThatReturnWritableArray(typeFromTargetAssembly);
         }
+#endif
 
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Codecs.BlockTerms.BlockTermsReader))]

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Codecs/project.json
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Codecs/project.json b/src/Lucene.Net.Tests.Codecs/project.json
index 1eb7aa1..c834025 100644
--- a/src/Lucene.Net.Tests.Codecs/project.json
+++ b/src/Lucene.Net.Tests.Codecs/project.json
@@ -19,12 +19,7 @@
       "imports": "dnxcore50",
       "buildOptions": {
         "debugType": "portable",
-        "define": [ "NETSTANDARD" ],
-        "compile": {
-          "excludeFiles": [
-            "Support/TestApiConsistency.cs"
-          ]
-        }
+        "define": [ "NETSTANDARD" ]
       }
     },
     "net451": {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Expressions/Support/TestApiConsistency.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Expressions/Support/TestApiConsistency.cs b/src/Lucene.Net.Tests.Expressions/Support/TestApiConsistency.cs
index 6399d73..5de8e18 100644
--- a/src/Lucene.Net.Tests.Expressions/Support/TestApiConsistency.cs
+++ b/src/Lucene.Net.Tests.Expressions/Support/TestApiConsistency.cs
@@ -83,12 +83,14 @@ namespace Lucene.Net.Expressions
             base.TestForPropertiesThatReturnArray(typeFromTargetAssembly);
         }
 
+#if !NETSTANDARD
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Expressions.Bindings))]
         public override void TestForMethodsThatReturnWritableArray(Type typeFromTargetAssembly)
         {
             base.TestForMethodsThatReturnWritableArray(typeFromTargetAssembly);
         }
+#endif
 
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Expressions.Bindings))]

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Expressions/project.json
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Expressions/project.json b/src/Lucene.Net.Tests.Expressions/project.json
index 1fbfb5c..834fd00 100644
--- a/src/Lucene.Net.Tests.Expressions/project.json
+++ b/src/Lucene.Net.Tests.Expressions/project.json
@@ -19,11 +19,7 @@
       "imports": "dnxcore50",
       "buildOptions": {
         "debugType": "portable",
-        "compile": {
-          "excludeFiles": [
-            "Support/TestApiConsistency.cs"
-          ]
-        }
+        "define": [ "NETSTANDARD" ]
       }
     },
     "net451": {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Facet/Support/TestApiConsistency.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Facet/Support/TestApiConsistency.cs b/src/Lucene.Net.Tests.Facet/Support/TestApiConsistency.cs
index 3cc8e2e..97a41da 100644
--- a/src/Lucene.Net.Tests.Facet/Support/TestApiConsistency.cs
+++ b/src/Lucene.Net.Tests.Facet/Support/TestApiConsistency.cs
@@ -87,12 +87,14 @@ namespace Lucene.Net.Tests.Facet
             base.TestForPropertiesThatReturnArray(typeFromTargetAssembly);
         }
 
+#if !NETSTANDARD
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Facet.Facets))]
         public override void TestForMethodsThatReturnWritableArray(Type typeFromTargetAssembly)
         {
             base.TestForMethodsThatReturnWritableArray(typeFromTargetAssembly);
         }
+#endif
 
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Facet.Facets))]

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Facet/project.json
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Facet/project.json b/src/Lucene.Net.Tests.Facet/project.json
index 88a2645..ebfa125 100644
--- a/src/Lucene.Net.Tests.Facet/project.json
+++ b/src/Lucene.Net.Tests.Facet/project.json
@@ -19,12 +19,7 @@
       "imports": "dnxcore50",
       "buildOptions": {
         "debugType": "portable",
-        "define": [ "NETSTANDARD" ],
-        "compile": {
-          "excludeFiles": [
-            "Support/TestApiConsistency.cs"
-          ]
-        }
+        "define": [ "NETSTANDARD" ]
       }
     },
     "net451": {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Grouping/Support/TestApiConsistency.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Grouping/Support/TestApiConsistency.cs b/src/Lucene.Net.Tests.Grouping/Support/TestApiConsistency.cs
index 6b419b4..ed8db9e 100644
--- a/src/Lucene.Net.Tests.Grouping/Support/TestApiConsistency.cs
+++ b/src/Lucene.Net.Tests.Grouping/Support/TestApiConsistency.cs
@@ -87,12 +87,14 @@ namespace Lucene.Net.Tests.Grouping
             base.TestForPropertiesThatReturnArray(typeFromTargetAssembly);
         }
 
+#if !NETSTANDARD
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Search.Grouping.ICollectedSearchGroup))]
         public override void TestForMethodsThatReturnWritableArray(Type typeFromTargetAssembly)
         {
             base.TestForMethodsThatReturnWritableArray(typeFromTargetAssembly);
         }
+#endif
 
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Search.Grouping.ICollectedSearchGroup))]

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Grouping/project.json
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Grouping/project.json b/src/Lucene.Net.Tests.Grouping/project.json
index 1354ce9..fb513f4 100644
--- a/src/Lucene.Net.Tests.Grouping/project.json
+++ b/src/Lucene.Net.Tests.Grouping/project.json
@@ -19,12 +19,7 @@
       "imports": "dnxcore50",
       "buildOptions": {
         "debugType": "portable",
-        "define": [ "NETSTANDARD" ],
-        "compile": {
-          "excludeFiles": [
-            "Support/TestApiConsistency.cs"
-          ]
-        }
+        "define": [ "NETSTANDARD" ]
       }
     },
     "net451": {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Highlighter/Support/TestApiConsistency.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Highlighter/Support/TestApiConsistency.cs b/src/Lucene.Net.Tests.Highlighter/Support/TestApiConsistency.cs
index 05622b6..58a1d86 100644
--- a/src/Lucene.Net.Tests.Highlighter/Support/TestApiConsistency.cs
+++ b/src/Lucene.Net.Tests.Highlighter/Support/TestApiConsistency.cs
@@ -87,12 +87,14 @@ namespace Lucene.Net.Search
             base.TestForPropertiesThatReturnArray(typeFromTargetAssembly);
         }
 
+#if !NETSTANDARD
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Search.Highlight.DefaultEncoder))]
         public override void TestForMethodsThatReturnWritableArray(Type typeFromTargetAssembly)
         {
             base.TestForMethodsThatReturnWritableArray(typeFromTargetAssembly);
         }
+#endif
 
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Search.Highlight.DefaultEncoder))]

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Highlighter/project.json
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Highlighter/project.json b/src/Lucene.Net.Tests.Highlighter/project.json
index 44720d3..dd33718 100644
--- a/src/Lucene.Net.Tests.Highlighter/project.json
+++ b/src/Lucene.Net.Tests.Highlighter/project.json
@@ -24,12 +24,7 @@
       "imports": "dnxcore50",
       "buildOptions": {
         "debugType": "portable",
-        "define": [ "NETSTANDARD" ],
-        "compile": {
-          "excludeFiles": [
-            "Support/TestApiConsistency.cs"
-          ]
-        }
+        "define": [ "NETSTANDARD" ]
       },
       "dependencies": {
         "System.Xml.XmlDocument": "4.0.1"

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.ICU/Support/TestApiConsistency.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.ICU/Support/TestApiConsistency.cs b/src/Lucene.Net.Tests.ICU/Support/TestApiConsistency.cs
index 3d28be6..53f3b72 100644
--- a/src/Lucene.Net.Tests.ICU/Support/TestApiConsistency.cs
+++ b/src/Lucene.Net.Tests.ICU/Support/TestApiConsistency.cs
@@ -86,12 +86,14 @@ namespace Lucene.Net.Support
             base.TestForPropertiesThatReturnArray(typeFromTargetAssembly);
         }
 
+#if !NETSTANDARD
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Support.BreakIterator))]
         public override void TestForMethodsThatReturnWritableArray(Type typeFromTargetAssembly)
         {
             base.TestForMethodsThatReturnWritableArray(typeFromTargetAssembly);
         }
+#endif
 
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Support.BreakIterator))]

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.ICU/project.json
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.ICU/project.json b/src/Lucene.Net.Tests.ICU/project.json
index 0dc780d..4dc5c7a 100644
--- a/src/Lucene.Net.Tests.ICU/project.json
+++ b/src/Lucene.Net.Tests.ICU/project.json
@@ -54,9 +54,6 @@
             "../Lucene.Net.Tests.Highlighter/PostingsHighlight/TestPostingsHighlighterRanking.cs",
             "../Lucene.Net.Tests.Highlighter/PostingsHighlight/TestWholeBreakIterator.cs",
             "../Lucene.Net.Tests.Highlighter/VectorHighlight/BreakIteratorBoundaryScannerTest.cs"
-          ],
-          "excludeFiles": [
-            "Support/TestApiConsistency.cs"
           ]
         }
       },

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Join/Support/TestApiConsistency.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Join/Support/TestApiConsistency.cs b/src/Lucene.Net.Tests.Join/Support/TestApiConsistency.cs
index 629b745..631221c 100644
--- a/src/Lucene.Net.Tests.Join/Support/TestApiConsistency.cs
+++ b/src/Lucene.Net.Tests.Join/Support/TestApiConsistency.cs
@@ -87,12 +87,14 @@ namespace Lucene.Net.Join
             base.TestForPropertiesThatReturnArray(typeFromTargetAssembly);
         }
 
+#if !NETSTANDARD
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Join.FakeScorer))]
         public override void TestForMethodsThatReturnWritableArray(Type typeFromTargetAssembly)
         {
             base.TestForMethodsThatReturnWritableArray(typeFromTargetAssembly);
         }
+#endif
 
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Join.FakeScorer))]

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Join/project.json
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Join/project.json b/src/Lucene.Net.Tests.Join/project.json
index 65a4484..651cf9a 100644
--- a/src/Lucene.Net.Tests.Join/project.json
+++ b/src/Lucene.Net.Tests.Join/project.json
@@ -19,11 +19,7 @@
       "imports": "dnxcore50",
       "buildOptions": {
         "debugType": "portable",
-        "compile": {
-          "excludeFiles": [
-            "Support/TestApiConsistency.cs"
-          ]
-        }
+        "define": [ "NETSTANDARD" ]
       }
     },
     "net451": {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Memory/Support/TestApiConsistency.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Memory/Support/TestApiConsistency.cs b/src/Lucene.Net.Tests.Memory/Support/TestApiConsistency.cs
index 192dec5..d9e703b 100644
--- a/src/Lucene.Net.Tests.Memory/Support/TestApiConsistency.cs
+++ b/src/Lucene.Net.Tests.Memory/Support/TestApiConsistency.cs
@@ -87,12 +87,14 @@ namespace Lucene.Net.Tests.Memory
             base.TestForPropertiesThatReturnArray(typeFromTargetAssembly);
         }
 
+#if !NETSTANDARD
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Index.Memory.MemoryIndex))]
         public override void TestForMethodsThatReturnWritableArray(Type typeFromTargetAssembly)
         {
             base.TestForMethodsThatReturnWritableArray(typeFromTargetAssembly);
         }
+#endif
 
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Index.Memory.MemoryIndex))]

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Memory/project.json
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Memory/project.json b/src/Lucene.Net.Tests.Memory/project.json
index be62899..6d0182f 100644
--- a/src/Lucene.Net.Tests.Memory/project.json
+++ b/src/Lucene.Net.Tests.Memory/project.json
@@ -25,11 +25,7 @@
       "imports": "dnxcore50",
       "buildOptions": {
         "debugType": "portable",
-        "compile": {
-          "excludeFiles": [
-            "Support/TestApiConsistency.cs"
-          ]
-        }
+        "define": [ "NETSTANDARD" ]
       }
     },
     "net451": {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Misc/Support/TestApiConsistency.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Misc/Support/TestApiConsistency.cs b/src/Lucene.Net.Tests.Misc/Support/TestApiConsistency.cs
index 8d27dd3..0417c4c 100644
--- a/src/Lucene.Net.Tests.Misc/Support/TestApiConsistency.cs
+++ b/src/Lucene.Net.Tests.Misc/Support/TestApiConsistency.cs
@@ -87,12 +87,14 @@ namespace Lucene.Net.Tests.Misc
             base.TestForPropertiesThatReturnArray(typeFromTargetAssembly);
         }
 
+#if !NETSTANDARD
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Misc.SweetSpotSimilarity))]
         public override void TestForMethodsThatReturnWritableArray(Type typeFromTargetAssembly)
         {
             base.TestForMethodsThatReturnWritableArray(typeFromTargetAssembly);
         }
+#endif
 
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Misc.SweetSpotSimilarity))]

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Misc/project.json
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Misc/project.json b/src/Lucene.Net.Tests.Misc/project.json
index 9737338..9cfd805 100644
--- a/src/Lucene.Net.Tests.Misc/project.json
+++ b/src/Lucene.Net.Tests.Misc/project.json
@@ -18,11 +18,7 @@
       "imports": "dnxcore50",
       "buildOptions": {
         "debugType": "portable",
-        "compile": {
-          "excludeFiles": [
-            "Support/TestApiConsistency.cs"
-          ]
-        }
+        "define": [ "NETSTANDARD" ]
       }
     },
     "net451": {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Queries/Support/TestApiConsistency.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Queries/Support/TestApiConsistency.cs b/src/Lucene.Net.Tests.Queries/Support/TestApiConsistency.cs
index 1a26d7d..3d8b987 100644
--- a/src/Lucene.Net.Tests.Queries/Support/TestApiConsistency.cs
+++ b/src/Lucene.Net.Tests.Queries/Support/TestApiConsistency.cs
@@ -87,12 +87,14 @@ namespace Lucene.Net.Tests.Queries
             base.TestForPropertiesThatReturnArray(typeFromTargetAssembly);
         }
 
+#if !NETSTANDARD
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Queries.BooleanFilter))]
         public override void TestForMethodsThatReturnWritableArray(Type typeFromTargetAssembly)
         {
             base.TestForMethodsThatReturnWritableArray(typeFromTargetAssembly);
         }
+#endif
 
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Queries.BooleanFilter))]

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Queries/project.json
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Queries/project.json b/src/Lucene.Net.Tests.Queries/project.json
index 5de2e88..b669726 100644
--- a/src/Lucene.Net.Tests.Queries/project.json
+++ b/src/Lucene.Net.Tests.Queries/project.json
@@ -18,11 +18,7 @@
       "imports": "dnxcore50",
       "buildOptions": {
         "debugType": "portable",
-        "compile": {
-          "excludeFiles": [
-            "Support/TestApiConsistency.cs"
-          ]
-        }
+        "define": [ "NETSTANDARD" ]
       }
     },
     "net451": {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.QueryParser/Support/TestApiConsistency.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.QueryParser/Support/TestApiConsistency.cs b/src/Lucene.Net.Tests.QueryParser/Support/TestApiConsistency.cs
index a9a941e..175c0df 100644
--- a/src/Lucene.Net.Tests.QueryParser/Support/TestApiConsistency.cs
+++ b/src/Lucene.Net.Tests.QueryParser/Support/TestApiConsistency.cs
@@ -87,12 +87,14 @@ namespace Lucene.Net.QueryParsers
             base.TestForPropertiesThatReturnArray(typeFromTargetAssembly);
         }
 
+#if !NETSTANDARD
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.QueryParsers.Classic.ICharStream))]
         public override void TestForMethodsThatReturnWritableArray(Type typeFromTargetAssembly)
         {
             base.TestForMethodsThatReturnWritableArray(typeFromTargetAssembly);
         }
+#endif
 
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.QueryParsers.Classic.ICharStream))]

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.QueryParser/project.json
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.QueryParser/project.json b/src/Lucene.Net.Tests.QueryParser/project.json
index afb802d..25ebc86 100644
--- a/src/Lucene.Net.Tests.QueryParser/project.json
+++ b/src/Lucene.Net.Tests.QueryParser/project.json
@@ -51,8 +51,7 @@
         "define": [ "NETSTANDARD" ],
         "compile": {
           "excludeFiles": [
-            "Xml/TestQueryTemplateManager.cs",
-            "Support/TestApiConsistency.cs"
+            "Xml/TestQueryTemplateManager.cs"
           ]
         }
       }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Sandbox/Support/TestApiConsistency.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Sandbox/Support/TestApiConsistency.cs b/src/Lucene.Net.Tests.Sandbox/Support/TestApiConsistency.cs
index 3d3c52f..c6f7c3d 100644
--- a/src/Lucene.Net.Tests.Sandbox/Support/TestApiConsistency.cs
+++ b/src/Lucene.Net.Tests.Sandbox/Support/TestApiConsistency.cs
@@ -87,12 +87,14 @@ namespace Lucene.Net.Sandbox
             base.TestForPropertiesThatReturnArray(typeFromTargetAssembly);
         }
 
+#if !NETSTANDARD
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Sandbox.Queries.DuplicateFilter))]
         public override void TestForMethodsThatReturnWritableArray(Type typeFromTargetAssembly)
         {
             base.TestForMethodsThatReturnWritableArray(typeFromTargetAssembly);
         }
+#endif
 
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Sandbox.Queries.DuplicateFilter))]

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Sandbox/project.json
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Sandbox/project.json b/src/Lucene.Net.Tests.Sandbox/project.json
index 5b56757..8b8156e 100644
--- a/src/Lucene.Net.Tests.Sandbox/project.json
+++ b/src/Lucene.Net.Tests.Sandbox/project.json
@@ -24,11 +24,7 @@
       "imports": "dnxcore50",
       "buildOptions": {
         "debugType": "portable",
-        "compile": {
-          "excludeFiles": [
-            "Support/TestApiConsistency.cs"
-          ]
-        }
+        "define": [ "NETSTANDARD" ]
       }
     },
     "net451": {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Spatial/Support/TestApiConsistency.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Spatial/Support/TestApiConsistency.cs b/src/Lucene.Net.Tests.Spatial/Support/TestApiConsistency.cs
index b7b98ad..8780592 100644
--- a/src/Lucene.Net.Tests.Spatial/Support/TestApiConsistency.cs
+++ b/src/Lucene.Net.Tests.Spatial/Support/TestApiConsistency.cs
@@ -87,12 +87,14 @@ namespace Lucene.Net.Tests.Spatial
             base.TestForPropertiesThatReturnArray(typeFromTargetAssembly);
         }
 
+#if !NETSTANDARD
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Spatial.DisjointSpatialFilter))]
         public override void TestForMethodsThatReturnWritableArray(Type typeFromTargetAssembly)
         {
             base.TestForMethodsThatReturnWritableArray(typeFromTargetAssembly);
         }
+#endif
 
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Spatial.DisjointSpatialFilter))]

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Spatial/project.json
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Spatial/project.json b/src/Lucene.Net.Tests.Spatial/project.json
index 69963f5..a29f7f5 100644
--- a/src/Lucene.Net.Tests.Spatial/project.json
+++ b/src/Lucene.Net.Tests.Spatial/project.json
@@ -36,12 +36,7 @@
       "imports": [ "dnxcore50", "portable-net403+sl5+win8+wp8+wpa81" ],
       "buildOptions": {
         "debugType": "portable",
-        "define": [ "NETSTANDARD" ],
-        "compile": {
-          "excludeFiles": [
-            "Support/TestApiConsistency.cs"
-          ]
-        }
+        "define": [ "NETSTANDARD" ]
       }
     },
     "net451": {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Suggest/Support/TestApiConsistency.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Suggest/Support/TestApiConsistency.cs b/src/Lucene.Net.Tests.Suggest/Support/TestApiConsistency.cs
index 2d9772f..cb7d22a 100644
--- a/src/Lucene.Net.Tests.Suggest/Support/TestApiConsistency.cs
+++ b/src/Lucene.Net.Tests.Suggest/Support/TestApiConsistency.cs
@@ -87,12 +87,14 @@ namespace Lucene.Net.Tests.Suggest
             base.TestForPropertiesThatReturnArray(typeFromTargetAssembly);
         }
 
+#if !NETSTANDARD
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Search.Suggest.IInputIterator))]
         public override void TestForMethodsThatReturnWritableArray(Type typeFromTargetAssembly)
         {
             base.TestForMethodsThatReturnWritableArray(typeFromTargetAssembly);
         }
+#endif
 
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Search.Suggest.IInputIterator))]

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests.Suggest/project.json
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Suggest/project.json b/src/Lucene.Net.Tests.Suggest/project.json
index 98e8c2b..58e7d24 100644
--- a/src/Lucene.Net.Tests.Suggest/project.json
+++ b/src/Lucene.Net.Tests.Suggest/project.json
@@ -25,12 +25,7 @@
       "imports": "dnxcore50",
       "buildOptions": {
         "debugType": "portable",
-        "define": [ "NETSTANDARD" ],
-        "compile": {
-          "excludeFiles": [
-            "Support/TestApiConsistency.cs"
-          ]
-        }
+        "define": [ "NETSTANDARD" ]
       }
     },
     "net451": {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests/Support/TestApiConsistency.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/Support/TestApiConsistency.cs b/src/Lucene.Net.Tests/Support/TestApiConsistency.cs
index c662c07..9a226ab 100644
--- a/src/Lucene.Net.Tests/Support/TestApiConsistency.cs
+++ b/src/Lucene.Net.Tests/Support/TestApiConsistency.cs
@@ -87,12 +87,14 @@ namespace Lucene.Net
             base.TestForPropertiesThatReturnArray(typeFromTargetAssembly);
         }
 
+#if !NETSTANDARD
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Analysis.Analyzer))]
         public override void TestForMethodsThatReturnWritableArray(Type typeFromTargetAssembly)
         {
             base.TestForMethodsThatReturnWritableArray(typeFromTargetAssembly);
         }
+#endif
 
         [Test, LuceneNetSpecific]
         [TestCase(typeof(Lucene.Net.Analysis.Analyzer))]

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fa4f034f/src/Lucene.Net.Tests/project.json
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/project.json b/src/Lucene.Net.Tests/project.json
index b1cf1a4..117862c 100644
--- a/src/Lucene.Net.Tests/project.json
+++ b/src/Lucene.Net.Tests/project.json
@@ -72,7 +72,6 @@
         "compile": {
           "exclude": [ "Util/JunitCompat" ],
           "excludeFiles": [
-            "Support/TestApiConsistency.cs",
             "Support/TestCase.cs",
             "Util/TestMaxFailuresRule.cs"
           ]