lucenenet-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From nightowl...@apache.org
Subject [lucenenet] 01/02: SWEEP: Added InternalsVisibleTo attribute generation to MSBuild, and set up SignAssembly to automatically include/exclude the PublicKey in the attribute depending on whether the assembly is signed.
Date Mon, 06 Apr 2020 02:04:57 GMT
This is an automated email from the ASF dual-hosted git repository.

nightowl888 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucenenet.git

commit 9e65940b4acdb706b478d446320f02d2a2024ce4
Author: Shad Storhaug <shad@shadstorhaug.com>
AuthorDate: Mon Apr 6 05:29:31 2020 +0700

    SWEEP: Added InternalsVisibleTo attribute generation to MSBuild, and set up SignAssembly to automatically include/exclude the PublicKey in the attribute depending on whether the assembly is signed.
---
 Directory.Build.props                              |  6 +++
 Directory.Build.targets                            | 10 ++++
 src/Directory.Build.props                          |  7 ---
 .../Lucene.Net.Analysis.Common.csproj              |  4 ++
 .../Properties/AssemblyInfo.cs                     | 10 +---
 .../Lucene.Net.Analysis.Kuromoji.csproj            |  4 ++
 .../Properties/AssemblyInfo.cs                     |  9 +---
 .../Lucene.Net.Analysis.Phonetic.csproj            |  4 ++
 .../Properties/AssemblyInfo.cs                     |  9 +---
 .../Lucene.Net.Analysis.Stempel.csproj             |  4 ++
 .../Properties/AssemblyInfo.cs                     |  9 +---
 .../Lucene.Net.Benchmark.csproj                    |  4 ++
 .../Properties/AssemblyInfo.cs                     |  9 +---
 .../Properties/AssemblyInfo.cs                     |  1 -
 src/Lucene.Net.Codecs/Properties/AssemblyInfo.cs   |  1 -
 src/Lucene.Net.Demo/Lucene.Net.Demo.csproj         |  4 ++
 src/Lucene.Net.Demo/Properties/AssemblyInfo.cs     |  5 --
 .../Properties/AssemblyInfo.cs                     |  1 -
 src/Lucene.Net.Facet/Lucene.Net.Facet.csproj       |  4 ++
 src/Lucene.Net.Facet/Properties/AssemblyInfo.cs    |  9 +---
 src/Lucene.Net.Grouping/Properties/AssemblyInfo.cs |  1 -
 .../Lucene.Net.Highlighter.csproj                  |  6 +++
 .../Properties/AssemblyInfo.cs                     |  9 ----
 src/Lucene.Net.Join/Lucene.Net.Join.csproj         |  4 ++
 src/Lucene.Net.Join/Properties/AssemblyInfo.cs     |  9 +---
 src/Lucene.Net.Memory/Lucene.Net.Memory.csproj     |  4 ++
 src/Lucene.Net.Memory/Properties/AssemblyInfo.cs   |  9 +---
 src/Lucene.Net.Misc/Lucene.Net.Misc.csproj         |  4 ++
 src/Lucene.Net.Misc/Properties/AssemblyInfo.cs     |  9 +---
 .../Lucene.Net.QueryParser.csproj                  |  4 ++
 .../Properties/AssemblyInfo.cs                     |  9 +---
 src/Lucene.Net.Sandbox/Properties/AssemblyInfo.cs  |  1 -
 src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj   |  4 ++
 src/Lucene.Net.Spatial/Properties/AssemblyInfo.cs  |  9 +---
 src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj   |  4 ++
 src/Lucene.Net.Suggest/Properties/AssemblyInfo.cs  |  7 ---
 .../Lucene.Net.TestFramework.csproj                | 41 +++++++++++++++
 .../Properties/AssemblyInfo.cs                     | 43 +--------------
 .../Properties/AssemblyInfo.cs                     |  1 -
 .../Properties/AssemblyInfo.cs                     |  1 -
 .../Properties/AssemblyInfo.cs                     |  1 -
 .../Properties/AssemblyInfo.cs                     |  1 -
 .../Properties/AssemblyInfo.cs                     |  1 -
 .../Properties/AssemblyInfo.cs                     |  1 -
 .../Properties/AssemblyInfo.cs                     |  1 -
 .../Properties/AssemblyInfo.cs                     |  1 -
 .../Properties/AssemblyInfo.cs                     |  1 -
 .../Properties/AssemblyInfo.cs                     |  1 -
 .../Properties/AssemblyInfo.cs                     |  1 -
 .../Properties/AssemblyInfo.cs                     |  1 -
 .../Properties/AssemblyInfo.cs                     |  1 -
 .../Properties/AssemblyInfo.cs                     |  1 -
 .../Properties/AssemblyInfo.cs                     |  1 -
 .../Properties/AssemblyInfo.cs                     |  1 -
 .../Properties/AssemblyInfo.cs                     |  1 -
 .../Properties/AssemblyInfo.cs                     |  1 -
 .../Properties/AssemblyInfo.cs                     |  1 -
 src/Lucene.Net/Lucene.Net.csproj                   | 57 ++++++++++++++++++++
 src/Lucene.Net/Properties/AssemblyInfo.cs          | 61 +---------------------
 src/Lucene.Net/Properties/AssemblyKeys.cs          | 29 ----------
 src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj    |  4 ++
 .../Lucene.Net.ICU/Properties/AssemblyInfo.cs      |  7 ---
 62 files changed, 189 insertions(+), 279 deletions(-)

diff --git a/Directory.Build.props b/Directory.Build.props
index 16f9c18..4cb9e84 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -35,6 +35,12 @@
     <AssemblyVersion>4.0.0</AssemblyVersion>
   </PropertyGroup>
 
+  <PropertyGroup Label="Assembly Signing">
+    <AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)Lucene.Net.snk</AssemblyOriginatorKeyFile>
+    <PublicKey>002400000480000094000000060200000024000052534131000400000100010075a07ce602f88ef263c7db8cb342c58ebd49ecdcc210fac874260b0213fb929ac3dcaf4f5b39744b800f99073eca72aebfac5f7284e1d5f2c82012a804a140f06d7d043d83e830cdb606a04da2ad5374cc92c0a49508437802fb4f8fb80a05e59f80afb99f4ccd0dfe44065743543c4b053b669509d29d332cd32a0cb1e97e84</PublicKey>
+    <SignAssembly>true</SignAssembly>
+  </PropertyGroup>
+
   <PropertyGroup Label="NuGet Package Defaults">
     <IsPackable>false</IsPackable>
     <IncludeSymbols>true</IncludeSymbols>
diff --git a/Directory.Build.targets b/Directory.Build.targets
index 85ae211..1f4b8bc 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -69,4 +69,14 @@
          https://docs.microsoft.com/en-us/nuget/create-packages/symbol-packages-snupkg#nugetorg-symbol-package-constraints -->
     <DebugType Condition=" '$(PortableDebugTypeOnly)' == 'true' ">portable</DebugType>
   </PropertyGroup>
+
+  <Target Name="AddInternalsVisibleTo" BeforeTargets="CoreCompile" Label="Adds InternalsVisibleTo Attribute and PublicKey (if supplied)">
+    <ItemGroup Condition="'@(InternalsVisibleTo->Count())' &gt; 0 ">
+      <AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
+        <_Parameter1>%(InternalsVisibleTo.Identity)</_Parameter1>
+        <_Parameter1 Condition=" '$(SignAssembly)' == 'true' And '$(PublicKey)' != '' ">%(InternalsVisibleTo.Identity), PublicKey=$(PublicKey)</_Parameter1>
+      </AssemblyAttribute>
+    </ItemGroup>
+  </Target>
+
 </Project>
\ No newline at end of file
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 572b263..7cb8e9e 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -26,11 +26,4 @@
       SolutionDir is only available when running in the IDE, so we patch to ensure it also works when using dotnet.exe -->
     <SolutionDir Condition=" '$(SolutionDir)' == '' ">$(MSBuildThisFileDirectory)../</SolutionDir>
   </PropertyGroup>
-  
-  <PropertyGroup Label="Assembly Signing">
-	<!-- This is the default location of Lucene.Net.snk relative to the project directory.
-      If the project is further nested from the repo root, override this value in the csproj. -->
-    <AssemblyOriginatorKeyFile>$(SolutionDir)Lucene.Net.snk</AssemblyOriginatorKeyFile>
-    <SignAssembly>true</SignAssembly>
-  </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git a/src/Lucene.Net.Analysis.Common/Lucene.Net.Analysis.Common.csproj b/src/Lucene.Net.Analysis.Common/Lucene.Net.Analysis.Common.csproj
index 57308e8..5ff3c76 100644
--- a/src/Lucene.Net.Analysis.Common/Lucene.Net.Analysis.Common.csproj
+++ b/src/Lucene.Net.Analysis.Common/Lucene.Net.Analysis.Common.csproj
@@ -54,4 +54,8 @@
     <Reference Include="Microsoft.CSharp" />
   </ItemGroup>
 
+  <ItemGroup>
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Analysis.Common" />
+  </ItemGroup>
+
 </Project>
diff --git a/src/Lucene.Net.Analysis.Common/Properties/AssemblyInfo.cs b/src/Lucene.Net.Analysis.Common/Properties/AssemblyInfo.cs
index 2d5fd47..e065f99 100644
--- a/src/Lucene.Net.Analysis.Common/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Analysis.Common/Properties/AssemblyInfo.cs
@@ -19,10 +19,8 @@
  *
 */
 
-using Lucene.Net;
 using System;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
@@ -39,10 +37,4 @@ using System.Runtime.InteropServices;
 [assembly: ComVisible(false)]
 
 // The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("f57314a7-e71f-4b3c-860f-564046ca398b")]
-
-// for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Common, PublicKey=" + AssemblyKeys.PublicKey)]
-
-
-
+[assembly: Guid("f57314a7-e71f-4b3c-860f-564046ca398b")]
\ No newline at end of file
diff --git a/src/Lucene.Net.Analysis.Kuromoji/Lucene.Net.Analysis.Kuromoji.csproj b/src/Lucene.Net.Analysis.Kuromoji/Lucene.Net.Analysis.Kuromoji.csproj
index 2e52ae9..760846f 100644
--- a/src/Lucene.Net.Analysis.Kuromoji/Lucene.Net.Analysis.Kuromoji.csproj
+++ b/src/Lucene.Net.Analysis.Kuromoji/Lucene.Net.Analysis.Kuromoji.csproj
@@ -66,4 +66,8 @@
     <Reference Include="Microsoft.CSharp" />
   </ItemGroup>
 
+  <ItemGroup>
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Analysis.Kuromoji" />
+  </ItemGroup>
+
 </Project>
diff --git a/src/Lucene.Net.Analysis.Kuromoji/Properties/AssemblyInfo.cs b/src/Lucene.Net.Analysis.Kuromoji/Properties/AssemblyInfo.cs
index e5812a8..8a52f64 100644
--- a/src/Lucene.Net.Analysis.Kuromoji/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Analysis.Kuromoji/Properties/AssemblyInfo.cs
@@ -15,10 +15,8 @@
 * limitations under the License.
 */
 
-using Lucene.Net;
 using System;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
@@ -35,9 +33,4 @@ using System.Runtime.InteropServices;
 [assembly: ComVisible(false)]
 
 // The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("8408625a-2508-46d5-8519-045183c43724")]
-
-// for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Kuromoji, PublicKey=" + AssemblyKeys.PublicKey)]
-
-
+[assembly: Guid("8408625a-2508-46d5-8519-045183c43724")]
\ No newline at end of file
diff --git a/src/Lucene.Net.Analysis.Phonetic/Lucene.Net.Analysis.Phonetic.csproj b/src/Lucene.Net.Analysis.Phonetic/Lucene.Net.Analysis.Phonetic.csproj
index bcc2416..e2b9019 100644
--- a/src/Lucene.Net.Analysis.Phonetic/Lucene.Net.Analysis.Phonetic.csproj
+++ b/src/Lucene.Net.Analysis.Phonetic/Lucene.Net.Analysis.Phonetic.csproj
@@ -50,4 +50,8 @@
     <Reference Include="Microsoft.CSharp" />
   </ItemGroup>
 
+  <ItemGroup>
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Analysis.Phonetic" />
+  </ItemGroup>
+
 </Project>
diff --git a/src/Lucene.Net.Analysis.Phonetic/Properties/AssemblyInfo.cs b/src/Lucene.Net.Analysis.Phonetic/Properties/AssemblyInfo.cs
index 4dfbafc..4e380ba5 100644
--- a/src/Lucene.Net.Analysis.Phonetic/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Analysis.Phonetic/Properties/AssemblyInfo.cs
@@ -19,10 +19,8 @@
  *
 */
 
-using Lucene.Net;
 using System;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
@@ -39,9 +37,4 @@ using System.Runtime.InteropServices;
 [assembly: ComVisible(false)]
 
 // The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("dafe3b64-616a-4a2f-90e5-1f135e8a9af5")]
-
-// for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Phonetic, PublicKey=" + AssemblyKeys.PublicKey)]
-
-
+[assembly: Guid("dafe3b64-616a-4a2f-90e5-1f135e8a9af5")]
\ No newline at end of file
diff --git a/src/Lucene.Net.Analysis.Stempel/Lucene.Net.Analysis.Stempel.csproj b/src/Lucene.Net.Analysis.Stempel/Lucene.Net.Analysis.Stempel.csproj
index 6260f87..25bd678 100644
--- a/src/Lucene.Net.Analysis.Stempel/Lucene.Net.Analysis.Stempel.csproj
+++ b/src/Lucene.Net.Analysis.Stempel/Lucene.Net.Analysis.Stempel.csproj
@@ -52,4 +52,8 @@
     <Reference Include="Microsoft.CSharp" />
   </ItemGroup>
 
+  <ItemGroup>
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Analysis.Stempel" />
+  </ItemGroup>
+
 </Project>
diff --git a/src/Lucene.Net.Analysis.Stempel/Properties/AssemblyInfo.cs b/src/Lucene.Net.Analysis.Stempel/Properties/AssemblyInfo.cs
index dcb09be..35ff8f0 100644
--- a/src/Lucene.Net.Analysis.Stempel/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Analysis.Stempel/Properties/AssemblyInfo.cs
@@ -19,10 +19,8 @@
  *
 */
 
-using Lucene.Net;
 using System;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
@@ -39,9 +37,4 @@ using System.Runtime.InteropServices;
 [assembly: ComVisible(false)]
 
 // The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("a76dad88-e3a5-40f9-9114-facd77bd8265")]
-
-// for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Stempel, PublicKey=" + AssemblyKeys.PublicKey)]
-
-
+[assembly: Guid("a76dad88-e3a5-40f9-9114-facd77bd8265")]
\ No newline at end of file
diff --git a/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj b/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
index 7f77137..e881f24 100644
--- a/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
+++ b/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
@@ -81,6 +81,10 @@
   </ItemGroup>
 
   <ItemGroup>
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Benchmark" />
+  </ItemGroup>
+
+  <ItemGroup>
     <None Update="Support\TagSoup\HTMLSchema.tt">
       <Generator>TextTemplatingFileGenerator</Generator>
       <LastGenOutput>HTMLSchema.Generated.cs</LastGenOutput>
diff --git a/src/Lucene.Net.Benchmark/Properties/AssemblyInfo.cs b/src/Lucene.Net.Benchmark/Properties/AssemblyInfo.cs
index 4611a66..1b55993 100644
--- a/src/Lucene.Net.Benchmark/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Benchmark/Properties/AssemblyInfo.cs
@@ -15,10 +15,8 @@
  * limitations under the License.
  */
 
-using Lucene.Net;
 using System;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
@@ -35,9 +33,4 @@ using System.Runtime.InteropServices;
 [assembly: ComVisible(false)]
 
 // The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("edc77cb4-597f-4818-8c83-3c006d12c384")]
-
-// for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Benchmark, PublicKey=" + AssemblyKeys.PublicKey)]
-
-
+[assembly: Guid("edc77cb4-597f-4818-8c83-3c006d12c384")]
\ No newline at end of file
diff --git a/src/Lucene.Net.Classification/Properties/AssemblyInfo.cs b/src/Lucene.Net.Classification/Properties/AssemblyInfo.cs
index 8eb8878..1fa7de0 100644
--- a/src/Lucene.Net.Classification/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Classification/Properties/AssemblyInfo.cs
@@ -21,7 +21,6 @@
 
 using System;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
diff --git a/src/Lucene.Net.Codecs/Properties/AssemblyInfo.cs b/src/Lucene.Net.Codecs/Properties/AssemblyInfo.cs
index 42c577b..19c677d 100644
--- a/src/Lucene.Net.Codecs/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Codecs/Properties/AssemblyInfo.cs
@@ -21,7 +21,6 @@
 
 using System;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
diff --git a/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj b/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj
index d2ca967..056d1c4 100644
--- a/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj
+++ b/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj
@@ -48,4 +48,8 @@
     <Reference Include="Microsoft.CSharp" />
   </ItemGroup>
 
+  <ItemGroup>
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Demo" />
+  </ItemGroup>
+
 </Project>
diff --git a/src/Lucene.Net.Demo/Properties/AssemblyInfo.cs b/src/Lucene.Net.Demo/Properties/AssemblyInfo.cs
index a4a478f..7adb20f 100644
--- a/src/Lucene.Net.Demo/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Demo/Properties/AssemblyInfo.cs
@@ -19,10 +19,8 @@
  *
 */
 
-using Lucene.Net;
 using System;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following
@@ -33,9 +31,6 @@ using System.Runtime.InteropServices;
 
 [assembly: CLSCompliant(true)]
 
-// for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Demo, PublicKey=" + AssemblyKeys.PublicKey)]
-
 // Setting ComVisible to false makes the types in this assembly not visible
 // to COM components.  If you need to access a type in this assembly from
 // COM, set the ComVisible attribute to true on that type.
diff --git a/src/Lucene.Net.Expressions/Properties/AssemblyInfo.cs b/src/Lucene.Net.Expressions/Properties/AssemblyInfo.cs
index 56b9fc4..2343e72 100644
--- a/src/Lucene.Net.Expressions/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Expressions/Properties/AssemblyInfo.cs
@@ -21,7 +21,6 @@
 
 using System;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
diff --git a/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj b/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
index 22e8a58..b7d11d5 100644
--- a/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
+++ b/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
@@ -50,4 +50,8 @@
     <Reference Include="Microsoft.CSharp" />
   </ItemGroup>
 
+  <ItemGroup>
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Facet" />
+  </ItemGroup>
+
 </Project>
diff --git a/src/Lucene.Net.Facet/Properties/AssemblyInfo.cs b/src/Lucene.Net.Facet/Properties/AssemblyInfo.cs
index e11e4a8..cd7d7d6 100644
--- a/src/Lucene.Net.Facet/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Facet/Properties/AssemblyInfo.cs
@@ -19,10 +19,8 @@
  *
 */
 
-using Lucene.Net;
 using System;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
@@ -39,9 +37,4 @@ using System.Runtime.InteropServices;
 [assembly: ComVisible(false)]
 
 // The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("8dd11ab2-c5b3-4691-99da-2941f27e0e10")]
-
-// for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Facet, PublicKey=" + AssemblyKeys.PublicKey)]
-
-
+[assembly: Guid("8dd11ab2-c5b3-4691-99da-2941f27e0e10")]
\ No newline at end of file
diff --git a/src/Lucene.Net.Grouping/Properties/AssemblyInfo.cs b/src/Lucene.Net.Grouping/Properties/AssemblyInfo.cs
index 8b70f34..e9ba820 100644
--- a/src/Lucene.Net.Grouping/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Grouping/Properties/AssemblyInfo.cs
@@ -21,7 +21,6 @@
 
 using System;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
diff --git a/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj b/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
index c8a563a..576a2f6 100644
--- a/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
+++ b/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
@@ -49,4 +49,10 @@
     <Reference Include="Microsoft.CSharp" />
   </ItemGroup>
 
+  <ItemGroup>
+    <InternalsVisibleTo Include="Lucene.Net.ICU" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Highlighter" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.ICU" />
+  </ItemGroup>
+
 </Project>
diff --git a/src/Lucene.Net.Highlighter/Properties/AssemblyInfo.cs b/src/Lucene.Net.Highlighter/Properties/AssemblyInfo.cs
index 63ff11c..fa426b3 100644
--- a/src/Lucene.Net.Highlighter/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Highlighter/Properties/AssemblyInfo.cs
@@ -19,10 +19,8 @@
  *
 */
 
-using Lucene.Net;
 using System;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
@@ -40,10 +38,3 @@ using System.Runtime.InteropServices;
 
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("e9e769ea-8504-44bc-8dc9-ccf958765f8f")]
-
-[assembly: InternalsVisibleTo("Lucene.Net.ICU, PublicKey=" + AssemblyKeys.PublicKey)]
-// for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Highlighter, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.ICU, PublicKey=" + AssemblyKeys.PublicKey)]
-
-
diff --git a/src/Lucene.Net.Join/Lucene.Net.Join.csproj b/src/Lucene.Net.Join/Lucene.Net.Join.csproj
index 9ccea12..3b76645 100644
--- a/src/Lucene.Net.Join/Lucene.Net.Join.csproj
+++ b/src/Lucene.Net.Join/Lucene.Net.Join.csproj
@@ -44,4 +44,8 @@
     <Reference Include="Microsoft.CSharp" />
   </ItemGroup>
 
+  <ItemGroup>
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Join" />
+  </ItemGroup>
+
 </Project>
diff --git a/src/Lucene.Net.Join/Properties/AssemblyInfo.cs b/src/Lucene.Net.Join/Properties/AssemblyInfo.cs
index 72d1fbb..db61f7c 100644
--- a/src/Lucene.Net.Join/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Join/Properties/AssemblyInfo.cs
@@ -19,10 +19,8 @@
  *
 */
 
-using Lucene.Net;
 using System;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
@@ -39,9 +37,4 @@ using System.Runtime.InteropServices;
 [assembly: ComVisible(false)]
 
 // The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("e8a339c7-fcf6-4a72-8586-56d8961d7b99")]
-
-// for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Join, PublicKey=" + AssemblyKeys.PublicKey)]
-
-
+[assembly: Guid("e8a339c7-fcf6-4a72-8586-56d8961d7b99")]
\ No newline at end of file
diff --git a/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj b/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj
index 0c30be5..6a2e11b 100644
--- a/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj
+++ b/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj
@@ -44,4 +44,8 @@
     <Reference Include="Microsoft.CSharp" />
   </ItemGroup>
 
+  <ItemGroup>
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Memory" />
+  </ItemGroup>
+
 </Project>
diff --git a/src/Lucene.Net.Memory/Properties/AssemblyInfo.cs b/src/Lucene.Net.Memory/Properties/AssemblyInfo.cs
index be9bdaf..09c27fb 100644
--- a/src/Lucene.Net.Memory/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Memory/Properties/AssemblyInfo.cs
@@ -19,10 +19,8 @@
  *
 */
 
-using Lucene.Net;
 using System;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
@@ -39,9 +37,4 @@ using System.Runtime.InteropServices;
 [assembly: ComVisible(false)]
 
 // The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("ca052094-4c45-44d7-9dcf-3d46ae6930fe")]
-
-// for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Memory, PublicKey=" + AssemblyKeys.PublicKey)]
-
-
+[assembly: Guid("ca052094-4c45-44d7-9dcf-3d46ae6930fe")]
\ No newline at end of file
diff --git a/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj b/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj
index 245dc75..3ef44e3 100644
--- a/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj
+++ b/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj
@@ -48,4 +48,8 @@
     <Reference Include="Microsoft.CSharp" />
   </ItemGroup>
 
+  <ItemGroup>
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Misc" />
+  </ItemGroup>
+
 </Project>
diff --git a/src/Lucene.Net.Misc/Properties/AssemblyInfo.cs b/src/Lucene.Net.Misc/Properties/AssemblyInfo.cs
index 0125533..5b4d3ba 100644
--- a/src/Lucene.Net.Misc/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Misc/Properties/AssemblyInfo.cs
@@ -19,10 +19,8 @@
  *
 */
 
-using Lucene.Net;
 using System;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
@@ -39,9 +37,4 @@ using System.Runtime.InteropServices;
 [assembly: ComVisible(false)]
 
 // The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("b2a3a8e1-a92a-4bd6-9f87-7747470615c3")]
-
-// for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Misc, PublicKey=" + AssemblyKeys.PublicKey)]
-
-
+[assembly: Guid("b2a3a8e1-a92a-4bd6-9f87-7747470615c3")]
\ No newline at end of file
diff --git a/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj b/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
index 41fa169..db4696c 100644
--- a/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
+++ b/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
@@ -51,4 +51,8 @@
     <Reference Include="Microsoft.CSharp" />
   </ItemGroup>
 
+  <ItemGroup>
+    <InternalsVisibleTo Include="Lucene.Net.Tests.QueryParser" />
+  </ItemGroup>
+
 </Project>
diff --git a/src/Lucene.Net.QueryParser/Properties/AssemblyInfo.cs b/src/Lucene.Net.QueryParser/Properties/AssemblyInfo.cs
index c8676e2..5d83ee1 100644
--- a/src/Lucene.Net.QueryParser/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.QueryParser/Properties/AssemblyInfo.cs
@@ -19,10 +19,8 @@
  *
 */
 
-using Lucene.Net;
 using System;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
@@ -39,9 +37,4 @@ using System.Runtime.InteropServices;
 [assembly: ComVisible(false)]
 
 // The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("7c58cf05-89dd-4c02-a948-c28cdaf05247")]
-
-// for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.QueryParser, PublicKey=" + AssemblyKeys.PublicKey)]
-
-
+[assembly: Guid("7c58cf05-89dd-4c02-a948-c28cdaf05247")]
\ No newline at end of file
diff --git a/src/Lucene.Net.Sandbox/Properties/AssemblyInfo.cs b/src/Lucene.Net.Sandbox/Properties/AssemblyInfo.cs
index 18599d3..8e7e876 100644
--- a/src/Lucene.Net.Sandbox/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Sandbox/Properties/AssemblyInfo.cs
@@ -21,7 +21,6 @@
 
 using System;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
diff --git a/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj b/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
index c2e2ba5..f8c580c 100644
--- a/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
+++ b/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
@@ -49,4 +49,8 @@
     <PackageReference Include="Spatial4n.Core" Version="$(Spatial4nCorePackageVersion)" /> 
   </ItemGroup>
 
+  <ItemGroup>
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Spatial" />
+  </ItemGroup>
+
 </Project>
diff --git a/src/Lucene.Net.Spatial/Properties/AssemblyInfo.cs b/src/Lucene.Net.Spatial/Properties/AssemblyInfo.cs
index 63eac5f..e78d8d0 100644
--- a/src/Lucene.Net.Spatial/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Spatial/Properties/AssemblyInfo.cs
@@ -15,10 +15,8 @@
  * limitations under the License.
  */
 
-using Lucene.Net;
 using System;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
@@ -35,9 +33,4 @@ using System.Runtime.InteropServices;
 [assembly: ComVisible(false)]
 
 // The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("5c8e810f-4bf7-472f-9785-8d80a0de6ea8")]
-
-// for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Spatial, PublicKey=" + AssemblyKeys.PublicKey)]
-
-
+[assembly: Guid("5c8e810f-4bf7-472f-9785-8d80a0de6ea8")]
\ No newline at end of file
diff --git a/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj b/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj
index f3302b8..c0f1582 100644
--- a/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj
+++ b/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj
@@ -46,4 +46,8 @@
     <Reference Include="Microsoft.CSharp" />
   </ItemGroup>
 
+  <ItemGroup>
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Suggest" />
+  </ItemGroup>
+
 </Project>
diff --git a/src/Lucene.Net.Suggest/Properties/AssemblyInfo.cs b/src/Lucene.Net.Suggest/Properties/AssemblyInfo.cs
index 11b8c3b..d703b98 100644
--- a/src/Lucene.Net.Suggest/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Suggest/Properties/AssemblyInfo.cs
@@ -19,10 +19,8 @@
  *
 */
 
-using Lucene.Net;
 using System;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
@@ -40,8 +38,3 @@ using System.Runtime.InteropServices;
 
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("0e1499f7-850e-4583-8994-623eb2480200")]
-
-// for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Suggest, PublicKey=" + AssemblyKeys.PublicKey)]
-
-
diff --git a/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj b/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj
index d461ae7..3b6dd3f 100644
--- a/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj
+++ b/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj
@@ -73,4 +73,45 @@
     <Reference Include="Microsoft.CSharp" />
   </ItemGroup>
 
+  <ItemGroup>
+    <!--  Note that some of the APIs we use to test Lucene.Net are internal because they are only meant to
+          make porting tests from Java easier. This means that every Lucene.Net test project requires
+          InternalsVisibleTo, now and in the future to keep these APIs from public view. -->
+    
+    <InternalsVisibleTo Include="Lucene.Net.Tests._A-D" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests._E-I" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests._J-S" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests._T-U" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests._U-Z" />
+    
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Analysis.Common" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Analysis.Kuromoji" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Analysis.Morfologik" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Analysis.OpenNLP" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Analysis.Phonetic" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Analysis.SmartCn" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Analysis.Stempel" />
+    
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Benchmark" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Classification" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Cli" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Codecs" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Demo" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Expressions" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Facet" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Grouping" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Highlighter" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Join" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.ICU" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Memory" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Misc" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Queries" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.QueryParser" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Replicator" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Sandbox" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Spatial" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Suggest" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.TestFramework" />
+  </ItemGroup>
+
 </Project>
diff --git a/src/Lucene.Net.TestFramework/Properties/AssemblyInfo.cs b/src/Lucene.Net.TestFramework/Properties/AssemblyInfo.cs
index 95228b0..6583d66 100644
--- a/src/Lucene.Net.TestFramework/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.TestFramework/Properties/AssemblyInfo.cs
@@ -19,10 +19,8 @@
  *
 */
 
-using Lucene.Net;
 using System;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
@@ -39,43 +37,4 @@ using System.Runtime.InteropServices;
 [assembly: ComVisible(false)]
 
 // The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("5f36e3cf-82ac-4d97-af1a-6dabe60e9180")]
-
-// We need InternalsVisibleTo in order to prevent making everything public just for the sake of testing.
-// This has broad implications, though because many methods are marked "protected internal", which means other assemblies
-// must update overridden methods to match.
-// Note that some of the APIs we use to test Lucene.Net are internal because they are only meant to
-// make porting tests from Java easier. This means that every Lucene.Net test project requires
-// InternalsVisibleTo, now and in the future to keep these APIs from public view.
-[assembly: InternalsVisibleTo("Lucene.Net.Tests._A-D, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests._E-I, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests._J-S, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests._T-U, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests._U-Z, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Common, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Kuromoji, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Morfologik, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.OpenNLP, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Phonetic, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.SmartCn, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Stempel, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Benchmark, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Classification, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Cli, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Codecs, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Demo, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Expressions, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Facet, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Grouping, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Highlighter, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Join, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.ICU, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Memory, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Misc, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Queries, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.QueryParser, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Replicator, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Sandbox, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Spatial, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Suggest, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.TestFramework, PublicKey=" + AssemblyKeys.PublicKey)]
+[assembly: Guid("5f36e3cf-82ac-4d97-af1a-6dabe60e9180")]
\ No newline at end of file
diff --git a/src/Lucene.Net.Tests.Analysis.Kuromoji/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Analysis.Kuromoji/Properties/AssemblyInfo.cs
index 9ca39a5..f729a29 100644
--- a/src/Lucene.Net.Tests.Analysis.Kuromoji/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Analysis.Kuromoji/Properties/AssemblyInfo.cs
@@ -16,7 +16,6 @@
 */
 
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
diff --git a/src/Lucene.Net.Tests.Analysis.Phonetic/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Analysis.Phonetic/Properties/AssemblyInfo.cs
index 358537b..c88ee0a 100644
--- a/src/Lucene.Net.Tests.Analysis.Phonetic/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Analysis.Phonetic/Properties/AssemblyInfo.cs
@@ -20,7 +20,6 @@
 */
 
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
diff --git a/src/Lucene.Net.Tests.Analysis.Stempel/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Analysis.Stempel/Properties/AssemblyInfo.cs
index d4fcea6..bf6eb38 100644
--- a/src/Lucene.Net.Tests.Analysis.Stempel/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Analysis.Stempel/Properties/AssemblyInfo.cs
@@ -20,7 +20,6 @@
 */
 
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
diff --git a/src/Lucene.Net.Tests.Benchmark/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Benchmark/Properties/AssemblyInfo.cs
index 98409b7..f677cb2 100644
--- a/src/Lucene.Net.Tests.Benchmark/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Benchmark/Properties/AssemblyInfo.cs
@@ -17,7 +17,6 @@
 
 
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
diff --git a/src/Lucene.Net.Tests.Classification/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Classification/Properties/AssemblyInfo.cs
index 1f37b6a..69a0a8f 100644
--- a/src/Lucene.Net.Tests.Classification/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Classification/Properties/AssemblyInfo.cs
@@ -20,7 +20,6 @@
 */
 
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
diff --git a/src/Lucene.Net.Tests.Codecs/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Codecs/Properties/AssemblyInfo.cs
index 04a83ce..630787b 100644
--- a/src/Lucene.Net.Tests.Codecs/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Codecs/Properties/AssemblyInfo.cs
@@ -21,7 +21,6 @@
 
 using NUnit.Framework;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
diff --git a/src/Lucene.Net.Tests.Demo/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Demo/Properties/AssemblyInfo.cs
index fb51967..47efb14 100644
--- a/src/Lucene.Net.Tests.Demo/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Demo/Properties/AssemblyInfo.cs
@@ -20,7 +20,6 @@
 */
 
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following
diff --git a/src/Lucene.Net.Tests.Facet/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Facet/Properties/AssemblyInfo.cs
index 1f37b6a..69a0a8f 100644
--- a/src/Lucene.Net.Tests.Facet/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Facet/Properties/AssemblyInfo.cs
@@ -20,7 +20,6 @@
 */
 
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
diff --git a/src/Lucene.Net.Tests.Grouping/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Grouping/Properties/AssemblyInfo.cs
index f2055ef..651b3bb 100644
--- a/src/Lucene.Net.Tests.Grouping/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Grouping/Properties/AssemblyInfo.cs
@@ -20,7 +20,6 @@
 */
 
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
diff --git a/src/Lucene.Net.Tests.Highlighter/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Highlighter/Properties/AssemblyInfo.cs
index 74e303b..76b970b 100644
--- a/src/Lucene.Net.Tests.Highlighter/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Highlighter/Properties/AssemblyInfo.cs
@@ -20,7 +20,6 @@
 */
 
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
diff --git a/src/Lucene.Net.Tests.Join/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Join/Properties/AssemblyInfo.cs
index 52a121e..1431536 100644
--- a/src/Lucene.Net.Tests.Join/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Join/Properties/AssemblyInfo.cs
@@ -20,7 +20,6 @@
 */
 
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
diff --git a/src/Lucene.Net.Tests.Memory/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Memory/Properties/AssemblyInfo.cs
index 1eeef2e..7c5e646 100644
--- a/src/Lucene.Net.Tests.Memory/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Memory/Properties/AssemblyInfo.cs
@@ -20,7 +20,6 @@
 */
 
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
diff --git a/src/Lucene.Net.Tests.Misc/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Misc/Properties/AssemblyInfo.cs
index a7dbd10..9ca5b80 100644
--- a/src/Lucene.Net.Tests.Misc/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Misc/Properties/AssemblyInfo.cs
@@ -20,7 +20,6 @@
 */
 
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
diff --git a/src/Lucene.Net.Tests.Queries/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Queries/Properties/AssemblyInfo.cs
index a88dae7..b5d69f8 100644
--- a/src/Lucene.Net.Tests.Queries/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Queries/Properties/AssemblyInfo.cs
@@ -20,7 +20,6 @@
 */
 
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
diff --git a/src/Lucene.Net.Tests.QueryParser/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.QueryParser/Properties/AssemblyInfo.cs
index e4caac5..ed1285a 100644
--- a/src/Lucene.Net.Tests.QueryParser/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.QueryParser/Properties/AssemblyInfo.cs
@@ -20,7 +20,6 @@
 */
 
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
diff --git a/src/Lucene.Net.Tests.Replicator/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Replicator/Properties/AssemblyInfo.cs
index 4de1f37..7b89d0d 100644
--- a/src/Lucene.Net.Tests.Replicator/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Replicator/Properties/AssemblyInfo.cs
@@ -20,7 +20,6 @@
 */
 
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following
diff --git a/src/Lucene.Net.Tests.Sandbox/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Sandbox/Properties/AssemblyInfo.cs
index 2d21c6e..d07017e 100644
--- a/src/Lucene.Net.Tests.Sandbox/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Sandbox/Properties/AssemblyInfo.cs
@@ -20,7 +20,6 @@
 */
 
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
diff --git a/src/Lucene.Net.Tests.Spatial/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Spatial/Properties/AssemblyInfo.cs
index e1f3032..95633f3 100644
--- a/src/Lucene.Net.Tests.Spatial/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Spatial/Properties/AssemblyInfo.cs
@@ -20,7 +20,6 @@
 */
 
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
diff --git a/src/Lucene.Net.Tests.Suggest/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Suggest/Properties/AssemblyInfo.cs
index 5352121..1dfd4c8 100644
--- a/src/Lucene.Net.Tests.Suggest/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Suggest/Properties/AssemblyInfo.cs
@@ -20,7 +20,6 @@
 */
 
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
diff --git a/src/Lucene.Net/Lucene.Net.csproj b/src/Lucene.Net/Lucene.Net.csproj
index edcf9bd..3e2eddc 100644
--- a/src/Lucene.Net/Lucene.Net.csproj
+++ b/src/Lucene.Net/Lucene.Net.csproj
@@ -77,4 +77,61 @@
     <Reference Include="Microsoft.CSharp" />
   </ItemGroup>
 
+  <ItemGroup>
+    <InternalsVisibleTo Include="Lucene.Net.Analysis.Common" />
+    <InternalsVisibleTo Include="Lucene.Net.Analysis.Kuromoji" />
+    <InternalsVisibleTo Include="Lucene.Net.Analysis.Morfologik" />
+    <InternalsVisibleTo Include="Lucene.Net.Analysis.Nori" />
+    <InternalsVisibleTo Include="Lucene.Net.Analysis.OpenNLP" />
+    <InternalsVisibleTo Include="Lucene.Net.Analysis.Phonetic" />
+    <InternalsVisibleTo Include="Lucene.Net.Analysis.SmartCn" />
+    <InternalsVisibleTo Include="Lucene.Net.Analysis.Stempel" />
+    <InternalsVisibleTo Include="Lucene.Net.Benchmark" />
+    <InternalsVisibleTo Include="Lucene.Net.Classification" />
+    <InternalsVisibleTo Include="Lucene.Net.Codecs" />
+    <InternalsVisibleTo Include="Lucene.Net.Demo" />
+    <InternalsVisibleTo Include="Lucene.Net.Expressions" />
+    <InternalsVisibleTo Include="Lucene.Net.Facet" />
+    <InternalsVisibleTo Include="Lucene.Net.Grouping" />
+    <InternalsVisibleTo Include="Lucene.Net.Highlighter" />
+    <InternalsVisibleTo Include="Lucene.Net.ICU" />
+    <InternalsVisibleTo Include="Lucene.Net.Join" />
+    <InternalsVisibleTo Include="Lucene.Net.Memory" />
+    <InternalsVisibleTo Include="Lucene.Net.Misc" />
+    <InternalsVisibleTo Include="Lucene.Net.Queries" />
+    <InternalsVisibleTo Include="Lucene.Net.QueryParser" />
+    <InternalsVisibleTo Include="Lucene.Net.Replicator" />
+    <InternalsVisibleTo Include="Lucene.Net.Sandbox" />
+    <InternalsVisibleTo Include="Lucene.Net.Spatial" />
+    <InternalsVisibleTo Include="Lucene.Net.Suggest" />
+
+    <InternalsVisibleTo Include="Lucene.Net.TestFramework" />
+    <InternalsVisibleTo Include="Lucene.Net.TestFramework.MSTest" />
+    <InternalsVisibleTo Include="Lucene.Net.TestFramework.NUnit" />
+    <InternalsVisibleTo Include="Lucene.Net.TestFramework.xUnit" />
+    
+    <InternalsVisibleTo Include="Lucene.Net.Tests._A-D" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests._E-I" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests._J-S" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests._T-U" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests._U-Z" />
+
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Analysis.Common" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Analysis.Kuromoji" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Analysis.Phonetic" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Benchmark" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Expressions" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Facet" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Grouping" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Highlighter" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.ICU" /> <!-- For Analysis.Util.TestSegmentingTokenizerBase -->
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Misc" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Queries" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.QueryParser" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Cli" /> <!-- For lucene-cli -->
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Replicator" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Spatial" />
+    <InternalsVisibleTo Include="Lucene.Net.Tests.Suggest" />
+  </ItemGroup>
+
 </Project>
diff --git a/src/Lucene.Net/Properties/AssemblyInfo.cs b/src/Lucene.Net/Properties/AssemblyInfo.cs
index 28f4861..db77630 100644
--- a/src/Lucene.Net/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net/Properties/AssemblyInfo.cs
@@ -15,10 +15,8 @@
  * limitations under the License.
  */
 
-using Lucene.Net;
 using System;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 
 //
 // General Information about an assembly is controlled through the following 
@@ -27,61 +25,4 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyDefaultAlias("Lucene.Net")]
 [assembly: AssemblyCulture("")]
 
-[assembly: CLSCompliant(true)]
-
-// We need InternalsVisibleTo in order to prevent making everything public just for the sake of testing.
-// This has broad implications because many methods are marked "protected internal", which means other assemblies
-// must update overridden methods to match.
-[assembly: InternalsVisibleTo("Lucene.Net.Analysis.Common, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Analysis.Kuromoji, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Analysis.Morfologik, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Analysis.Nori, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Analysis.OpenNLP, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Analysis.Phonetic, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Analysis.SmartCn, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Analysis.Stempel, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Benchmark, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Classification, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Codecs, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Demo, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Expressions, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Facet, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Grouping, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Highlighter, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.ICU, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Join, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Memory, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Misc, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Queries, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.QueryParser, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Replicator, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Sandbox, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Spatial, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Suggest, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests._A-D, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests._E-I, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests._J-S, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests._T-U, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests._U-Z, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.TestFramework, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.TestFramework.MSTest, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.TestFramework.NUnit, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.TestFramework.xUnit, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Common, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Kuromoji, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Phonetic, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Benchmark, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Expressions, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Facet, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Grouping, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Highlighter, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.ICU, PublicKey=" + AssemblyKeys.PublicKey)] // For Analysis.Util.TestSegmentingTokenizerBase
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Misc, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Queries, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.QueryParser, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Cli, PublicKey=" + AssemblyKeys.PublicKey)] // For lucene-cli
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Replicator, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Spatial, PublicKey=" + AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Suggest, PublicKey=" + AssemblyKeys.PublicKey)]
-
-
+[assembly: CLSCompliant(true)]
\ No newline at end of file
diff --git a/src/Lucene.Net/Properties/AssemblyKeys.cs b/src/Lucene.Net/Properties/AssemblyKeys.cs
deleted file mode 100644
index 7658d1c..0000000
--- a/src/Lucene.Net/Properties/AssemblyKeys.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-namespace Lucene.Net
-{
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-
-    internal static class AssemblyKeys
-    {
-        public const string PublicKey =
-            "002400000480000094000000060200000024000052534131000400000100010075a07ce602f88e" +
-            "f263c7db8cb342c58ebd49ecdcc210fac874260b0213fb929ac3dcaf4f5b39744b800f99073eca" +
-            "72aebfac5f7284e1d5f2c82012a804a140f06d7d043d83e830cdb606a04da2ad5374cc92c0a495" +
-            "08437802fb4f8fb80a05e59f80afb99f4ccd0dfe44065743543c4b053b669509d29d332cd32a0c" +
-            "b1e97e84";
-    }
-}
\ No newline at end of file
diff --git a/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj b/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
index 093d469..84a8b3a 100644
--- a/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
+++ b/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
@@ -77,4 +77,8 @@
     <Reference Include="Microsoft.CSharp" />
   </ItemGroup>
 
+  <ItemGroup>
+    <InternalsVisibleTo Include="Lucene.Net.Tests.ICU" />
+  </ItemGroup>
+
 </Project>
diff --git a/src/dotnet/Lucene.Net.ICU/Properties/AssemblyInfo.cs b/src/dotnet/Lucene.Net.ICU/Properties/AssemblyInfo.cs
index b78bdf5..9f8bbac 100644
--- a/src/dotnet/Lucene.Net.ICU/Properties/AssemblyInfo.cs
+++ b/src/dotnet/Lucene.Net.ICU/Properties/AssemblyInfo.cs
@@ -19,10 +19,8 @@
  *
 */
 
-using Lucene.Net;
 using System;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
@@ -40,8 +38,3 @@ using System.Runtime.InteropServices;
 
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("349cb7c9-7534-4e1d-9b0a-5521441af0ae")]
-
-// for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.ICU, PublicKey=" + AssemblyKeys.PublicKey)]
-
-


Mime
View raw message