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 2019/07/09 21:29:16 UTC

[lucenenet] branch master updated (4fde199 -> 53bf64c)

This is an automated email from the ASF dual-hosted git repository.

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


    from 4fde199  https://issues.apache.org/jira/browse/LUCENENET-607 (#224)
     new b6d0cff  Patched SolutionDir MSBuild property so it works for dotnet.exe commands and updated project imports to utilize it
     new 33df628  Made lucene-cli into a dotnet tool and updated the documentation on how to install and use it
     new b000354  Moved <Copyright> MSBuild element to common Directory.Build.props file (imported automatically by every project)
     new 1553a69  Consolidated common MSBuild properties for NuGet packages to build/NuGet.props. Setup NuGet file to deploy LICENSE.txt rather than reference the repository URL, which has been deprecated.
     new 14af6d9  Fixed build.ps1 script so it will not try to pack new projects that are added to the solution by default. Removed publish target, as we are now packing the dotnet-cli as a dotnet tool. closes #228
     new a703534  Moved all PackageReference versions to a common build/Dependencies.props file. Also moved common test project references (NUnit, Microsoft.NET.Test.Sdk, etc) into a common project file build/TestReferences.Common.targets.
     new c4b9987  BUG: Intermittent failures of Lucene.Net.Facet.Taxonomy.WriterCache.TestCharBlockArray.TestArray(). The test was not setup to with encoders that fallback to '?' for unmapped/invalid characters. Also, the BinaryReader/BinaryWriter was too strict with regard to validating surrogate pairs for this type of serialization, so implemented custom extension methods over Stream that do not use encoding.
     new 35bc429  Removed unnecessary commented tags from .csproj files.
     new 921d9bb  BUG: LUCENENET-602 - Some platforms fail to load codecs seemingly because their types are discovered by using reflection. Supplying local codec types explicitly will be faster, and possibly also more reliable across platforms.
     new 6eebe37  BUG: Fixes TestMultiTermConstantScore cleanup - safely call Dispose by ensuring the reference variable is not null
     new eda6201  BUG: Fixes BaseTestRangeFilter cleanup - safely call Dispose by ensuring the reference variable is not null
     new 6722861  build.ps1: Fixed tests and setup build to use a specific SDK version (2.1.505)
     new 2cfaf3a  Lucene.Net.Support.IO.FileSupport::fileCanonPathCache needs to be threadsafe
     new 5aaf59a  Use ConcurrentDictionary::GetOrAdd
     new a2758d6  Use AddValueFactory
     new fa93368  Lucene.Net.Support.IO.FileSupport: Removed unnecessary using statement (closes #226)
     new 7f6c785  fix locking/disposal bug
     new c3e7ae3  Lucene.Net.Store.NativeFSLockFactory: Renamed local variables to conform with naming rules (closes #222)
     new e9e3baa  Changes the "Improve this doc" button to always point to the lucenenet github repo
     new ca0cc77  Updated readme with the location of the documentation (closes #225, applies to LUCENENET-589)
     new 066d2c7  Added strong naming to Lucene.Net assemblies
     new fd1e047  Added comment on Version.proj default
     new 201c216  Remove LuceneDocsPlugin dummy pack target and cleaned up a few comments
     new f6dd70d  Moved <AssemblyOriginatorKeyFile> to Directory.Build.props so we don't have to specify in every project at the same directory depth. Moved AssemblyKeys to Lucene.Net.Support. (closes #227, LUCENENET-608)
     new 4d8fccb  build.ps1: Removed unnecessary CommonAssemblyInfo.cs generation and passed the FileVersion property explicitly
     new 7f2b76a  BUG: Fixed invalid method call introduced in #222 to ClearLock that caused the path to double up, which caused the GetCanonicalPathOfLockFile method to fail.
     new 6e44ce6  Reverted Lucene.Net.Support.EqualityComparer implementation that was created as an experiment to attempt to solve LUCENENET-602
     new 66c27e1  Added missing guard clauses for HashMap and LinkedHashMap constructors
     new 53bf64c  Upgraded to latest dotnet-install.ps1

The 29 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 Version.proj => Directory.Build.props              |  29 +-
 Lucene.Net.sln                                     |  15 +-
 README.md                                          |   6 +-
 build/Dependencies.props                           |  41 +++
 Version.proj => build/NuGet.props                  |  26 +-
 build/TestReferences.Common.targets                |  10 +
 build/build.ps1                                    | 216 ++++++---------
 build/dotnet-install.ps1                           | 299 +++++++++++++++------
 src/CommonAssemblyInfo.cs                          |  28 --
 .../Support/IChecksum.cs => CommonAssemblyKeys.cs} |  31 +--
 src/Directory.Build.props                          |  36 +++
 .../Analysis/Util/CharArrayMap.cs                  |   2 +-
 .../Lucene.Net.Analysis.Common.csproj              |  20 +-
 .../Properties/AssemblyInfo.cs                     |   5 +-
 .../Lucene.Net.Analysis.Kuromoji.csproj            |  24 +-
 .../Properties/AssemblyInfo.cs                     |   5 +-
 .../Lucene.Net.Analysis.Phonetic.csproj            |  18 +-
 .../Properties/AssemblyInfo.cs                     |   5 +-
 .../Lucene.Net.Analysis.SmartCn.csproj             |  23 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 .../Lucene.Net.Analysis.Stempel.csproj             |  18 +-
 .../Properties/AssemblyInfo.cs                     |   5 +-
 .../Lucene.Net.Benchmark.csproj                    |  30 +--
 .../Properties/AssemblyInfo.cs                     |   6 +-
 .../Lucene.Net.Classification.csproj               |  20 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj     |  22 +-
 src/Lucene.Net.Codecs/Properties/AssemblyInfo.cs   |   2 +-
 src/Lucene.Net.Demo/Lucene.Net.Demo.csproj         |  18 +-
 src/Lucene.Net.Demo/Properties/AssemblyInfo.cs     |   5 +-
 .../Lucene.Net.Expressions.csproj                  |  35 +--
 .../Properties/AssemblyInfo.cs                     |   2 +-
 src/Lucene.Net.Facet/Lucene.Net.Facet.csproj       |  22 +-
 src/Lucene.Net.Facet/Properties/AssemblyInfo.cs    |   5 +-
 .../Taxonomy/Directory/DirectoryTaxonomyReader.cs  |   3 +-
 .../Taxonomy/WriterCache/CharBlockArray.cs         |  91 ++++---
 src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj |  20 +-
 src/Lucene.Net.Grouping/Properties/AssemblyInfo.cs |   2 +-
 .../Lucene.Net.Highlighter.csproj                  |  20 +-
 .../Properties/AssemblyInfo.cs                     |   9 +-
 src/Lucene.Net.Join/Lucene.Net.Join.csproj         |  18 +-
 src/Lucene.Net.Join/Properties/AssemblyInfo.cs     |   5 +-
 src/Lucene.Net.Memory/Lucene.Net.Memory.csproj     |  18 +-
 src/Lucene.Net.Memory/Properties/AssemblyInfo.cs   |   5 +-
 src/Lucene.Net.Misc/Lucene.Net.Misc.csproj         |  17 +-
 src/Lucene.Net.Misc/Properties/AssemblyInfo.cs     |   5 +-
 src/Lucene.Net.Queries/Lucene.Net.Queries.csproj   |  20 +-
 src/Lucene.Net.Queries/Properties/AssemblyInfo.cs  |   2 +-
 .../Lucene.Net.QueryParser.csproj                  |  20 +-
 .../Properties/AssemblyInfo.cs                     |   5 +-
 .../Lucene.Net.Replicator.csproj                   |  22 +-
 src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj   |  20 +-
 src/Lucene.Net.Sandbox/Properties/AssemblyInfo.cs  |   2 +-
 src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj   |  20 +-
 src/Lucene.Net.Spatial/Properties/AssemblyInfo.cs  |   5 +-
 src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj   |  18 +-
 src/Lucene.Net.Suggest/Properties/AssemblyInfo.cs  |   5 +-
 .../Lucene.Net.TestFramework.csproj                |  30 +--
 .../Properties/AssemblyInfo.cs                     |  17 +-
 .../Lucene.Net.Tests.Analysis.Common.csproj        |  22 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 .../Lucene.Net.Tests.Analysis.Kuromoji.csproj      |  24 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 .../Lucene.Net.Tests.Analysis.Phonetic.csproj      |  25 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 .../Lucene.Net.Tests.Analysis.SmartCn.csproj       |  29 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 .../Lucene.Net.Tests.Analysis.Stempel.csproj       |  22 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 .../Lucene.Net.Tests.Benchmark.csproj              |  25 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 .../Lucene.Net.Tests.Classification.csproj         |  25 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 .../Lucene.Net.Tests.Codecs.csproj                 |  25 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 .../Lucene.Net.Tests.Demo.csproj                   |  22 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 .../Lucene.Net.Tests.Expressions.csproj            |  25 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 .../Lucene.Net.Tests.Facet.csproj                  |  25 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 .../Taxonomy/WriterCache/TestCharBlockArray.cs     |  25 +-
 .../WriterCache/TestCompactLabelToOrdinal.cs       |  14 +-
 .../Lucene.Net.Tests.Grouping.csproj               |  25 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 .../Lucene.Net.Tests.Highlighter.csproj            |  24 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 .../Lucene.Net.Tests.Join.csproj                   |  25 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 .../Lucene.Net.Tests.Memory.csproj                 |  22 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 .../Lucene.Net.Tests.Misc.csproj                   |  25 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 .../Lucene.Net.Tests.Queries.csproj                |  25 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 .../Lucene.Net.Tests.QueryParser.csproj            |  22 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 .../Lucene.Net.Tests.Replicator.csproj             |  28 +-
 .../Lucene.Net.Tests.Sandbox.csproj                |  22 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 .../Lucene.Net.Tests.Spatial.csproj                |  27 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 .../Lucene.Net.Tests.Suggest.csproj                |  22 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 src/Lucene.Net.Tests/Lucene.Net.Tests.csproj       |  22 +-
 src/Lucene.Net.Tests/Properties/AssemblyInfo.cs    |  32 +--
 src/Lucene.Net.Tests/Search/BaseTestRangeFilter.cs |   8 +-
 .../Search/TestMultiTermConstantScore.cs           |  29 +-
 src/Lucene.Net.Tests/Store/TestLockFactory.cs      |   2 +-
 src/Lucene.Net.Tests/Support/TestLurchTable.cs     |  18 +-
 src/Lucene.Net.Tests/Support/TestTreeSet.cs        |  14 +-
 src/Lucene.Net/Lucene.Net.csproj                   |  43 ++-
 src/Lucene.Net/Properties/AssemblyInfo.cs          |  54 +---
 src/Lucene.Net/Search/LiveFieldValues.cs           |   2 +-
 src/Lucene.Net/Store/NativeFSLockFactory.cs        |  73 ++---
 src/Lucene.Net/Support/C5.Support.cs               |   4 +-
 .../Support/Codecs/DefaultCodecFactory.cs          |  29 +-
 .../Codecs/DefaultDocValuesFormatFactory.cs        |  31 ++-
 .../Support/Codecs/DefaultPostingsFormatFactory.cs |  25 +-
 .../Support/Compatibility/ConcurrentDictionary.cs  |   2 +-
 src/Lucene.Net/Support/EqualityComparer.cs         | 124 ---------
 src/Lucene.Net/Support/HashMap.cs                  |  15 +-
 src/Lucene.Net/Support/IO/FileSupport.cs           |   9 +-
 src/Lucene.Net/Support/IO/StreamExtensions.cs      | 102 +++++++
 src/Lucene.Net/Support/LinkedHashMap.cs            |  28 +-
 src/Lucene.Net/Support/LurchTable.cs               |  16 +-
 src/Lucene.Net/Util/Fst/FST.cs                     |   8 +-
 src/Lucene.Net/Util/PriorityQueue.cs               |   2 +-
 .../LuceneDocsPlugins/LuceneDocsPlugins.csproj     |   2 +-
 Version.proj => src/dotnet/Directory.Build.props   |  23 +-
 src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj    |  25 +-
 .../Lucene.Net.ICU/Properties/AssemblyInfo.cs      |   5 +-
 .../Lucene.Net.Replicator.AspNetCore.csproj        |  23 +-
 .../Lucene.Net.Tests.ICU.csproj                    |  27 +-
 .../Properties/AssemblyInfo.cs                     |   2 +-
 .../dotnet/tools/Directory.Build.props             |  23 +-
 .../Lucene.Net.Tests.Cli.csproj                    |  18 +-
 .../docs/analysis/kuromoji-build-dictionary.md     |   4 +-
 .../docs/analysis/stempel-compile-stems.md         |   4 +-
 .../docs/analysis/stempel-patch-stems.md           |   4 +-
 .../lucene-cli/docs/benchmark/extract-reuters.md   |   4 +-
 .../lucene-cli/docs/benchmark/extract-wikipedia.md |   4 +-
 .../docs/benchmark/find-quality-queries.md         |   4 +-
 .../lucene-cli/docs/benchmark/run-trec-eval.md     |   4 +-
 src/dotnet/tools/lucene-cli/docs/benchmark/run.md  |   4 +-
 .../tools/lucene-cli/docs/benchmark/sample.md      |   4 +-
 .../lucene-cli/docs/demo/associations-facets.md    |   4 +-
 .../tools/lucene-cli/docs/demo/distance-facets.md  |   4 +-
 .../docs/demo/expression-aggregation-facets.md     |   4 +-
 .../tools/lucene-cli/docs/demo/index-files.md      |   6 +-
 .../docs/demo/multi-category-lists-facets.md       |   4 +-
 .../tools/lucene-cli/docs/demo/range-facets.md     |   4 +-
 .../tools/lucene-cli/docs/demo/search-files.md     |   8 +-
 .../tools/lucene-cli/docs/demo/simple-facets.md    |   4 +-
 .../docs/demo/simple-sorted-set-facets.md          |   4 +-
 src/dotnet/tools/lucene-cli/docs/index.md          |  16 +-
 src/dotnet/tools/lucene-cli/docs/index/check.md    |   6 +-
 .../tools/lucene-cli/docs/index/copy-segments.md   |   4 +-
 .../tools/lucene-cli/docs/index/delete-segments.md |   4 +-
 .../tools/lucene-cli/docs/index/extract-cfs.md     |   6 +-
 src/dotnet/tools/lucene-cli/docs/index/fix.md      |   6 +-
 src/dotnet/tools/lucene-cli/docs/index/list-cfs.md |   4 +-
 .../lucene-cli/docs/index/list-high-freq-terms.md  |   6 +-
 .../tools/lucene-cli/docs/index/list-segments.md   |   4 +-
 .../lucene-cli/docs/index/list-taxonomy-stats.md   |   4 +-
 .../tools/lucene-cli/docs/index/list-term-info.md  |   4 +-
 src/dotnet/tools/lucene-cli/docs/index/merge.md    |   4 +-
 src/dotnet/tools/lucene-cli/docs/index/split.md    |   6 +-
 src/dotnet/tools/lucene-cli/docs/index/upgrade.md  |   6 +-
 .../tools/lucene-cli/docs/lock/stress-test.md      |   4 +-
 .../tools/lucene-cli/docs/lock/verify-server.md    |   4 +-
 src/dotnet/tools/lucene-cli/lucene-cli.csproj      |  23 +-
 websites/site/docfx.json                           |   6 +-
 173 files changed, 1334 insertions(+), 1750 deletions(-)
 copy Version.proj => Directory.Build.props (51%)
 create mode 100644 build/Dependencies.props
 copy Version.proj => build/NuGet.props (52%)
 create mode 100644 build/TestReferences.Common.targets
 delete mode 100644 src/CommonAssemblyInfo.cs
 copy src/{Lucene.Net/Support/IChecksum.cs => CommonAssemblyKeys.cs} (60%)
 create mode 100644 src/Directory.Build.props
 delete mode 100644 src/Lucene.Net/Support/EqualityComparer.cs
 create mode 100644 src/Lucene.Net/Support/IO/StreamExtensions.cs
 copy Version.proj => src/dotnet/Directory.Build.props (50%)
 copy Version.proj => src/dotnet/tools/Directory.Build.props (50%)


[lucenenet] 19/29: Changes the "Improve this doc" button to always point to the lucenenet github repo

Posted by ni...@apache.org.
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 e9e3baa47d6277e4fc6f6e6b8e37097f22aefdaa
Author: Shannon <sd...@gmail.com>
AuthorDate: Thu Mar 28 15:26:46 2019 +1100

    Changes the "Improve this doc" button to always point to the lucenenet github repo
---
 websites/site/docfx.json | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/websites/site/docfx.json b/websites/site/docfx.json
index 4cc1832..d6002dd 100644
--- a/websites/site/docfx.json
+++ b/websites/site/docfx.json
@@ -35,7 +35,11 @@
       "_appFaviconPath": "logo/favicon.ico",
       "_enableSearch": false,
       "_appLogoPath": "logo/lucene-net-color.png",
-      "_appFooter": "Copyright © 2019 The Apache Software Foundation, Licensed under the <a href='http://www.apache.org/licenses/LICENSE-2.0' target='_blank'>Apache License, Version 2.0</a><br/> <small>Apache Lucene.Net, Lucene.Net, Apache, the Apache feather logo, and the Apache Lucene.Net project logo are trademarks of The Apache Software Foundation. <br/>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</small>"
+      "_appFooter": "Copyright © 2019 The Apache Software Foundation, Licensed under the <a href='http://www.apache.org/licenses/LICENSE-2.0' target='_blank'>Apache License, Version 2.0</a><br/> <small>Apache Lucene.Net, Lucene.Net, Apache, the Apache feather logo, and the Apache Lucene.Net project logo are trademarks of The Apache Software Foundation. <br/>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</small>",
+      "_gitContribute": {
+        "repo": "https://github.com/apache/lucenenet",
+        "branch": "master"
+      }
     },
     "dest": "_site",
     "globalMetadataFiles": [],


[lucenenet] 05/29: Fixed build.ps1 script so it will not try to pack new projects that are added to the solution by default. Removed publish target, as we are now packing the dotnet-cli as a dotnet tool. closes #228

Posted by ni...@apache.org.
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 14af6d96a2319c6fc7c2c4b0ed43688c9ec09eba
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Sun Jul 7 01:39:50 2019 +0700

    Fixed build.ps1 script so it will not try to pack new projects that are added to the solution by default. Removed publish target, as we are now packing the dotnet-cli as a dotnet tool. closes #228
---
 build/build.ps1 | 54 +++---------------------------------------------------
 1 file changed, 3 insertions(+), 51 deletions(-)

diff --git a/build/build.ps1 b/build/build.ps1
index 081cf03..da171b7 100644
--- a/build/build.ps1
+++ b/build/build.ps1
@@ -53,7 +53,7 @@ properties {
 
 $backedUpFiles = New-Object System.Collections.ArrayList
 
-task default -depends Publish
+task default -depends Pack
 
 task Clean -description "This task cleans up the build directory" {
 	Write-Host "##teamcity[progressMessage 'Cleaning']"
@@ -195,17 +195,9 @@ task Pack -depends Compile -description "This task creates the NuGet packages" {
 	Ensure-Directory-Exists "$nuget_package_directory"
 
 	try {
-		pushd $base_directory
-		$packages = Get-ChildItem -Path "$source_directory\**\*.csproj" -Recurse | ? { 
-			!$_.Directory.Name.Contains(".Test") -and 
-			!$_.Directory.Name.Contains(".Demo") -and 
-			!$_.Directory.FullName.Contains("\tools\") -and 
-			!$_.Directory.FullName.Contains("/tools/") -and 
-			!$_.Directory.Name.Contains(".Replicator.AspNetCore")
+		Exec {
+			& dotnet.exe pack $solutionFile --configuration $Configuration --output $nuget_package_directory --no-build --include-symbols /p:PackageVersion=$packageVersion
 		}
-		popd
-
-		Pack-Assemblies $packages
 
 		$success = $true
 	} finally {
@@ -215,36 +207,6 @@ task Pack -depends Compile -description "This task creates the NuGet packages" {
 	}
 }
 
-task Publish -depends Pack -description "This task publishes the command line tools" {
-	Write-Host "##teamcity[progressMessage 'Publishing']"
-	#create the publish output directory
-	Ensure-Directory-Exists "$publish_directory"
-
-	pushd $base_directory
-	$tools = Get-ChildItem -Path "$source_directory\**\*.csproj" -Recurse | ? {
-		$_.Directory.FullName.Contains("\tools\") -or $_.Directory.FullName.Contains("/tools/") -and 
-		!$_.Directory.Name.Contains(".Test") -and
-		!$_.Directory.Name.Contains("JavaDocToMarkdownConverter")
-	}
-	popd
-
-	foreach ($tool in $tools) {
-		Write-Host "Publishing $tool..." -ForegroundColor Magenta
-
-		$toolName = [io.path]::GetFileNameWithoutExtension($tool)
-		$outputDirectory = "$publish_directory\$toolName"
-		Exec {
-			& dotnet.exe publish $tool --configuration $Configuration --output $outputDirectory
-		}
-
-		# Zip up the result of the publish
-		$outputFile = "$outputDirectory.zip"
-		if (Test-Path $outputFile) { Remove-Item $outputFile }
-		Add-Type -assembly "system.io.compression.filesystem"
-		[io.compression.zipfile]::CreateFromDirectory($outputDirectory, $outputFile)
-	}
-}
-
 task Test -depends InstallSDK1IfRequired, InstallSDK2IfRequired, Restore -description "This task runs the tests" {
 	Write-Host "##teamcity[progressMessage 'Testing']"
 	Write-Host "Running tests..." -ForegroundColor DarkCyan
@@ -496,16 +458,6 @@ endlocal
 	[System.IO.File]::WriteAllLines($file, $buildBat, $Utf8EncodingNoBom)
 }
 
-function Pack-Assemblies([string[]]$projects) {
-	Ensure-Directory-Exists $nuget_package_directory
-	foreach ($project in $projects) {
-		Write-Host "Creating NuGet package for $project..." -ForegroundColor Magenta
-		Exec {
-			& dotnet.exe pack $project --configuration $Configuration --output $nuget_package_directory --no-build --include-symbols /p:PackageVersion=$packageVersion
-		}
-	}
-}
-
 function Backup-Files([string[]]$paths) {
 	foreach ($path in $paths) {
 		Backup-File $path


[lucenenet] 27/29: Reverted Lucene.Net.Support.EqualityComparer implementation that was created as an experiment to attempt to solve LUCENENET-602

Posted by ni...@apache.org.
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 6e44ce69a5d6431d10183cdd5e7932a35eeb5a5b
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Tue Jul 9 23:02:46 2019 +0700

    Reverted Lucene.Net.Support.EqualityComparer implementation that was created as an experiment to attempt to solve LUCENENET-602
---
 .../Analysis/Util/CharArrayMap.cs                  |   2 +-
 .../Taxonomy/Directory/DirectoryTaxonomyReader.cs  |   3 +-
 src/Lucene.Net.Tests/Support/TestLurchTable.cs     |  18 +--
 src/Lucene.Net.Tests/Support/TestTreeSet.cs        |  14 +--
 src/Lucene.Net/Search/LiveFieldValues.cs           |   2 +-
 src/Lucene.Net/Support/C5.Support.cs               |   4 +-
 .../Support/Compatibility/ConcurrentDictionary.cs  |   2 +-
 src/Lucene.Net/Support/EqualityComparer.cs         | 124 ---------------------
 src/Lucene.Net/Support/HashMap.cs                  |   6 +-
 src/Lucene.Net/Support/LinkedHashMap.cs            |   2 +-
 src/Lucene.Net/Support/LurchTable.cs               |  16 +--
 src/Lucene.Net/Util/Fst/FST.cs                     |   8 +-
 src/Lucene.Net/Util/PriorityQueue.cs               |   2 +-
 13 files changed, 39 insertions(+), 164 deletions(-)

diff --git a/src/Lucene.Net.Analysis.Common/Analysis/Util/CharArrayMap.cs b/src/Lucene.Net.Analysis.Common/Analysis/Util/CharArrayMap.cs
index c642bc8..cfe5625 100644
--- a/src/Lucene.Net.Analysis.Common/Analysis/Util/CharArrayMap.cs
+++ b/src/Lucene.Net.Analysis.Common/Analysis/Util/CharArrayMap.cs
@@ -764,7 +764,7 @@ namespace Lucene.Net.Analysis.Util
                 if (!this.ContainsKey(iter.Current.Key))
                     return false;
 
-                if (!Support.EqualityComparer<TValue>.Default.Equals(this[iter.Current.Key], iter.Current.Value))
+                if (!EqualityComparer<TValue>.Default.Equals(this[iter.Current.Key], iter.Current.Value))
                     return false;
             }
 
diff --git a/src/Lucene.Net.Facet/Taxonomy/Directory/DirectoryTaxonomyReader.cs b/src/Lucene.Net.Facet/Taxonomy/Directory/DirectoryTaxonomyReader.cs
index 13a5feb..34dc7d0 100644
--- a/src/Lucene.Net.Facet/Taxonomy/Directory/DirectoryTaxonomyReader.cs
+++ b/src/Lucene.Net.Facet/Taxonomy/Directory/DirectoryTaxonomyReader.cs
@@ -1,5 +1,4 @@
-using Lucene.Net.Support;
-using System;
+using System;
 using System.Collections.Generic;
 using System.IO;
 using System.Text;
diff --git a/src/Lucene.Net.Tests/Support/TestLurchTable.cs b/src/Lucene.Net.Tests/Support/TestLurchTable.cs
index af38e5c..47c22a7 100644
--- a/src/Lucene.Net.Tests/Support/TestLurchTable.cs
+++ b/src/Lucene.Net.Tests/Support/TestLurchTable.cs
@@ -180,7 +180,7 @@ namespace Lucene.Net.Support
         {
             //multiple of prime will produce hash collision, thus testing removal of non-first elements
             const int prime = 1103;
-            var test = new LurchTable<int, string>(LurchTableOrder.Access, 3, prime, 10, 10, Support.EqualityComparer<int>.Default);
+            var test = new LurchTable<int, string>(LurchTableOrder.Access, 3, prime, 10, 10, EqualityComparer<int>.Default);
             test[1 * prime] = "a";
             test[2 * prime] = "b";
             test[3 * prime] = "c";
@@ -207,7 +207,7 @@ namespace Lucene.Net.Support
         public void TestCrudEvents()
         {
             var recorder = new RecordEvents<int, string>();
-            var test = new LurchTable<int, string>(LurchTableOrder.Access, 3, 1103, 10, 10, Support.EqualityComparer<int>.Default);
+            var test = new LurchTable<int, string>(LurchTableOrder.Access, 3, 1103, 10, 10, EqualityComparer<int>.Default);
             test.ItemAdded += recorder.ItemAdded;
             test.ItemUpdated += recorder.ItemUpdated;
             test.ItemRemoved += recorder.ItemRemoved;
@@ -247,7 +247,7 @@ namespace Lucene.Net.Support
         {
             //multiple of prime will produce hash collision, thus testing removal of non-first elements
             const int prime = 1103;
-            var test = new LurchTable<int, string>(LurchTableOrder.Access, 10, prime, 10, 10, Support.EqualityComparer<int>.Default);
+            var test = new LurchTable<int, string>(LurchTableOrder.Access, 10, prime, 10, 10, EqualityComparer<int>.Default);
             test[1 * prime] = "a";
             test[2 * prime] = "b";
             test[3 * prime] = "c";
@@ -487,8 +487,8 @@ namespace Lucene.Net.Support
             var keys = new List<int>();
             foreach (var kv in sample)
                 keys.Add(kv.Key);
-            VerifyCollection(Support.EqualityComparer<int>.Default, keys.AsReadOnly(), items.Keys);
-            VerifyCollection(Support.EqualityComparer<int>.Default, keys.AsReadOnly(), dict.Keys);
+            VerifyCollection(EqualityComparer<int>.Default, keys.AsReadOnly(), items.Keys);
+            VerifyCollection(EqualityComparer<int>.Default, keys.AsReadOnly(), dict.Keys);
         }
 
         [Test, LuceneNetSpecific]
@@ -500,8 +500,8 @@ namespace Lucene.Net.Support
             var values = new List<string>();
             foreach (var kv in sample)
                 values.Add(kv.Value);
-            VerifyCollection(Support.EqualityComparer<string>.Default, values.AsReadOnly(), items.Values);
-            VerifyCollection(Support.EqualityComparer<string>.Default, values.AsReadOnly(), dict.Values);
+            VerifyCollection(EqualityComparer<string>.Default, values.AsReadOnly(), items.Values);
+            VerifyCollection(EqualityComparer<string>.Default, values.AsReadOnly(), dict.Values);
         }
 
         [Test]
@@ -518,8 +518,8 @@ namespace Lucene.Net.Support
 
         class KeyValueEquality<TKey, TValue> : IEqualityComparer<KeyValuePair<TKey, TValue>>
         {
-            IEqualityComparer<TKey> KeyComparer = Support.EqualityComparer<TKey>.Default;
-            IEqualityComparer<TValue> ValueComparer = Support.EqualityComparer<TValue>.Default;
+            IEqualityComparer<TKey> KeyComparer = EqualityComparer<TKey>.Default;
+            IEqualityComparer<TValue> ValueComparer = EqualityComparer<TValue>.Default;
             public bool Equals(KeyValuePair<TKey, TValue> x, KeyValuePair<TKey, TValue> y)
             {
                 return KeyComparer.Equals(x.Key, y.Key) && ValueComparer.Equals(x.Value, y.Value);
diff --git a/src/Lucene.Net.Tests/Support/TestTreeSet.cs b/src/Lucene.Net.Tests/Support/TestTreeSet.cs
index 56f88cf..448e27c 100644
--- a/src/Lucene.Net.Tests/Support/TestTreeSet.cs
+++ b/src/Lucene.Net.Tests/Support/TestTreeSet.cs
@@ -416,7 +416,7 @@ namespace Lucene.Net.Support.RBTreeSet
         [Test, LuceneNetSpecific]
         public void NullEqualityComparerinConstructor3()
         {
-            Assert.Throws<NullReferenceException>(() => new TreeSet<int>(null, Support.EqualityComparer<int>.Default));
+            Assert.Throws<NullReferenceException>(() => new TreeSet<int>(null, EqualityComparer<int>.Default));
         }
 
         [Test, LuceneNetSpecific]
@@ -2784,9 +2784,9 @@ namespace Lucene.Net.Support.RBTreeSet
             [SetUp]
             public void Init()
             {
-                dit = new TreeSet<int>(SCG.Comparer<int>.Default, Support.EqualityComparer<int>.Default);
-                dat = new TreeSet<int>(SCG.Comparer<int>.Default, Support.EqualityComparer<int>.Default);
-                dut = new TreeSet<int>(new RevIC(), Support.EqualityComparer<int>.Default);
+                dit = new TreeSet<int>(SCG.Comparer<int>.Default, EqualityComparer<int>.Default);
+                dat = new TreeSet<int>(SCG.Comparer<int>.Default, EqualityComparer<int>.Default);
+                dut = new TreeSet<int>(new RevIC(), EqualityComparer<int>.Default);
             }
 
 
@@ -2880,9 +2880,9 @@ namespace Lucene.Net.Support.RBTreeSet
             [SetUp]
             public void Init()
             {
-                dit = new TreeSet<int>(SCG.Comparer<int>.Default, Support.EqualityComparer<int>.Default);
-                dat = new TreeSet<int>(SCG.Comparer<int>.Default, Support.EqualityComparer<int>.Default);
-                dut = new TreeSet<int>(new RevIC(), Support.EqualityComparer<int>.Default);
+                dit = new TreeSet<int>(SCG.Comparer<int>.Default, EqualityComparer<int>.Default);
+                dat = new TreeSet<int>(SCG.Comparer<int>.Default, EqualityComparer<int>.Default);
+                dut = new TreeSet<int>(new RevIC(), EqualityComparer<int>.Default);
             }
 
 
diff --git a/src/Lucene.Net/Search/LiveFieldValues.cs b/src/Lucene.Net/Search/LiveFieldValues.cs
index 43603a3..9271a31 100644
--- a/src/Lucene.Net/Search/LiveFieldValues.cs
+++ b/src/Lucene.Net/Search/LiveFieldValues.cs
@@ -114,7 +114,7 @@ namespace Lucene.Net.Search
             // First try to get the "live" value:
             T value;
             current.TryGetValue(id, out value);
-            var comparer = Support.EqualityComparer<T>.Default;
+            var comparer = EqualityComparer<T>.Default;
             if (comparer.Equals(value, missingValue))
             {
                 // Deleted but the deletion is not yet reflected in
diff --git a/src/Lucene.Net/Support/C5.Support.cs b/src/Lucene.Net/Support/C5.Support.cs
index 9789d88..fc80bbc 100644
--- a/src/Lucene.Net/Support/C5.Support.cs
+++ b/src/Lucene.Net/Support/C5.Support.cs
@@ -3967,7 +3967,7 @@ namespace Lucene.Net.Support.C5
         /// <item><description>If the actual generic argument T implements 
         /// <see cref="T:C5.ICollection`1"/> for some value W of its generic parameter T,
         /// the equalityComparer will be <see cref="T:C5.UnsequencedCollectionEqualityComparer`2"/></description></item>
-        /// <item><description>Otherwise the Support.EqualityComparer&lt;T&gt;.Default is returned</description></item>
+        /// <item><description>Otherwise the SCG.EqualityComparer&lt;T&gt;.Default is returned</description></item>
         /// </list>   
         /// </summary>
         /// <value>The comparer</value>
@@ -4005,7 +4005,7 @@ namespace Lucene.Net.Support.C5
                     return CreateAndCache(UnsequencedCollectionEqualityComparer.MakeGenericType(new[] { type, icollection.GetGenericArguments()[0] }));
                 }
 
-                return _default = Support.EqualityComparer<T>.Default;
+                return _default = SCG.EqualityComparer<T>.Default;
             }
         }
 
diff --git a/src/Lucene.Net/Support/Compatibility/ConcurrentDictionary.cs b/src/Lucene.Net/Support/Compatibility/ConcurrentDictionary.cs
index 22f1531..58f6dd8 100644
--- a/src/Lucene.Net/Support/Compatibility/ConcurrentDictionary.cs
+++ b/src/Lucene.Net/Support/Compatibility/ConcurrentDictionary.cs
@@ -45,7 +45,7 @@ namespace System.Collections.Concurrent
         { }
 
         public ConcurrentDictionary(int capacity)
-            : this(capacity, Support.EqualityComparer<TKey>.Default)
+            : this(capacity, EqualityComparer<TKey>.Default)
         { }
 
         public ConcurrentDictionary(int capacity, IEqualityComparer<TKey> comparer)
diff --git a/src/Lucene.Net/Support/EqualityComparer.cs b/src/Lucene.Net/Support/EqualityComparer.cs
deleted file mode 100644
index 6ea40cb..0000000
--- a/src/Lucene.Net/Support/EqualityComparer.cs
+++ /dev/null
@@ -1,124 +0,0 @@
-using System.Collections.Generic;
-using System.Reflection;
-
-namespace Lucene.Net.Support
-{
-    /*
-	 * 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.
-	 */
-
-    /// <summary>
-    /// <see cref="IEqualityComparer{T}"/> to patch value type support for generics in MONO AOT.
-    /// Value types for generics in this environment at the time of this writing is
-    /// not supported, but is currently under development and eventually should be.
-    /// <para/>
-    /// This class can be used to patch the behavior when using MONO AOT, at the cost
-    /// of throwing an exception to reliably detect when generic types are not supported.
-    /// See <a href=""></a>
-    /// <para/>
-    /// See LUCENENET-602.
-    /// </summary>
-    /// <typeparam name="T">The type of objects to compare.</typeparam>
-    public sealed class EqualityComparer<T>
-    {
-        private static readonly bool IsValueType = typeof(T).GetTypeInfo().IsValueType;
-
-        /// <summary>
-        /// Returns a default equality comparer for the type specified by the generic argument.
-        /// <para/>
-        /// LUCENENET specific constant that is used for the comparer
-        /// rather than creating a custom <see cref="IEqualityComparer{T}"/> for value types.
-        /// See LUCENENET-602.
-        /// </summary>
-        public static System.Collections.Generic.EqualityComparer<T> Default { get; } = CreateComparer();
-
-        private static System.Collections.Generic.EqualityComparer<T> CreateComparer()
-        {
-            if (!EqualityComparerConstants.ValueTypesSupported.HasValue)
-            {
-                if (EqualityComparerConstants.ValueTypesSupported == true)
-                {
-                    return System.Collections.Generic.EqualityComparer<T>.Default;
-                }
-                else
-                {
-                    return IsValueType ?
-                        new ValueTypeEqualityComparer() :
-                        System.Collections.Generic.EqualityComparer<T>.Default;
-                }
-            }
-
-            // We test for an exception the first time this is called on this runtime instance,
-            // and store it in the ValueTypesSupported property (called once for any value type).
-            // This is not currently supported under MONO AOT compilation, but is under development,
-            // so eventually the catch path will be unreachable.
-            try
-            {
-                var result = System.Collections.Generic.EqualityComparer<T>.Default;
-                EqualityComparerConstants.ValueTypesSupported = true;
-                return result;
-            }
-            catch when (IsValueType)
-            {
-                EqualityComparerConstants.ValueTypesSupported = false;
-                return new ValueTypeEqualityComparer();
-            }
-        }
-
-        /// <summary>
-        /// Comparer for any .NET value type.
-        /// <para/>
-        /// In some platforms, such as Xamarin iOS, the implementation of <see cref="System.Collections.Generic.EqualityComparer{T}.Default"/> doesn't
-        /// work for value types. This class is used to provide equality comparers in cases where value types are required.
-        /// </summary>
-        internal class ValueTypeEqualityComparer : System.Collections.Generic.EqualityComparer<T> // where T : struct
-        {
-            /// <summary>
-            /// Determines whether two objects of type T are equal.
-            /// </summary>
-            /// <param name="x">The first value type to compare.</param>
-            /// <param name="y">The second value type to compare.</param>
-            /// <returns><c>true</c> if the specified objects are equal; otherwise, <c>false</c>.</returns>
-            public override bool Equals(T x, T y)
-            {
-                if (x != null)
-                {
-                    if (y != null) return x.Equals(y);
-                    return false;
-                }
-                if (y != null) return false;
-                return true;
-            }
-
-            /// <summary>
-            /// Serves as the default hash function.
-            /// <para/>
-            /// This is the same as calling obj.GetHashCode().
-            /// </summary>
-            /// <param name="obj">The object for which to get a hash code.</param>
-            /// <returns>A hash code for the specified object.</returns>
-            public override int GetHashCode(T obj)
-            {
-                return obj == null ? 0 : obj.GetHashCode();
-            }
-        }
-    }
-
-    internal class EqualityComparerConstants
-    {
-        public static bool? ValueTypesSupported { get; set; } = null;
-    }
-}
diff --git a/src/Lucene.Net/Support/HashMap.cs b/src/Lucene.Net/Support/HashMap.cs
index 65ba883..f099404 100644
--- a/src/Lucene.Net/Support/HashMap.cs
+++ b/src/Lucene.Net/Support/HashMap.cs
@@ -95,7 +95,7 @@ namespace Lucene.Net.Support
         }
 
         public HashMap(int initialCapacity)
-            : this(initialCapacity, Support.EqualityComparer<TKey>.Default)
+            : this(initialCapacity, EqualityComparer<TKey>.Default)
         {
         }
 
@@ -116,7 +116,7 @@ namespace Lucene.Net.Support
         internal HashMap(IDictionary<TKey, TValue> wrappedDict, IEqualityComparer<TKey> comparer)
         {
             // LUCENENET TODO: Is this a bug? Shouldn't we be using the passed in comparer if non-null?
-            _comparer = /* comparer ?? */ Support.EqualityComparer<TKey>.Default;
+            _comparer = /* comparer ?? */ EqualityComparer<TKey>.Default;
             _dict = wrappedDict;
             _hasNullValue = false;
 
@@ -261,7 +261,7 @@ namespace Lucene.Net.Support
         {
             if (!_isValueType && _comparer.Equals(item.Key, default(TKey)))
             {
-                return _hasNullValue && Support.EqualityComparer<TValue>.Default.Equals(item.Value, _nullValue);
+                return _hasNullValue && EqualityComparer<TValue>.Default.Equals(item.Value, _nullValue);
             }
 
             return _dict.Contains(item);
diff --git a/src/Lucene.Net/Support/LinkedHashMap.cs b/src/Lucene.Net/Support/LinkedHashMap.cs
index dbc5d3b..e3d9c94 100644
--- a/src/Lucene.Net/Support/LinkedHashMap.cs
+++ b/src/Lucene.Net/Support/LinkedHashMap.cs
@@ -199,7 +199,7 @@ namespace Lucene.Net.Support
         private bool TryGetNode(TKey key, TValue value, out LinkedListNode<KeyValuePair<TKey, TValue>> node)
         {
             LinkedListNode<KeyValuePair<TKey, TValue>> n;
-            if (dict.TryGetValue(key, out n) && Support.EqualityComparer<TValue>.Default.Equals(value, n.Value.Value))
+            if (dict.TryGetValue(key, out n) && EqualityComparer<TValue>.Default.Equals(value, n.Value.Value))
             {
                 node = n;
                 return true;
diff --git a/src/Lucene.Net/Support/LurchTable.cs b/src/Lucene.Net/Support/LurchTable.cs
index 47d251f..13637d6 100644
--- a/src/Lucene.Net/Support/LurchTable.cs
+++ b/src/Lucene.Net/Support/LurchTable.cs
@@ -91,7 +91,7 @@ namespace Lucene.Net.Support
         /// <summary>Creates a LurchTable that can store up to <paramref name="capacity"/> items efficiently.</summary>
         /// <param name="capacity">The initial allowable number of items before allocation of more memory</param>
         /// <param name="ordering">The type of linking for the items</param>
-        /// <param name="comparer">The element hash generator for keys, or <c>null</c> to use <see cref="Support.EqualityComparer{TKey}.Default"/></param>
+        /// <param name="comparer">The element hash generator for keys, or <c>null</c> to use <see cref="EqualityComparer{TKey}.Default"/></param>
         public LurchTable(int capacity, LurchTableOrder ordering, IEqualityComparer<TKey> comparer)
             : this(ordering, int.MaxValue, capacity >> 1, capacity >> 4, capacity >> 8, comparer) { }
 
@@ -104,7 +104,7 @@ namespace Lucene.Net.Support
         /// <summary>Creates a LurchTable that orders items by <paramref name="ordering"/> and removes items once the specified <paramref name="limit"/> is reached.</summary>
         /// <param name="ordering">The type of linking for the items</param>
         /// <param name="limit">The maximum allowable number of items, or int.MaxValue for unlimited</param>
-        /// <param name="comparer">The element hash generator for keys, or <c>null</c> to use <see cref="Support.EqualityComparer{TKey}.Default"/></param>
+        /// <param name="comparer">The element hash generator for keys, or <c>null</c> to use <see cref="EqualityComparer{TKey}.Default"/></param>
         public LurchTable(LurchTableOrder ordering, int limit, IEqualityComparer<TKey> comparer)
             : this(ordering, limit, limit >> 1, limit >> 4, limit >> 8, comparer) { }
 
@@ -116,7 +116,7 @@ namespace Lucene.Net.Support
         /// <param name="hashSize">The number of hash buckets to use for the collection, usually 1/2 estimated capacity</param>
         /// <param name="allocSize">The number of entries to allocate at a time, usually 1/16 estimated capacity</param>
         /// <param name="lockSize">The number of concurrency locks to preallocate, usually 1/256 estimated capacity</param>
-        /// <param name="comparer">The element hash generator for keys, or <c>null</c> to use <see cref="Support.EqualityComparer{TKey}.Default"/></param>
+        /// <param name="comparer">The element hash generator for keys, or <c>null</c> to use <see cref="EqualityComparer{TKey}.Default"/></param>
         public LurchTable(LurchTableOrder ordering, int limit, int hashSize, int allocSize, int lockSize, IEqualityComparer<TKey> comparer)
         {
             if (limit <= 0)
@@ -125,7 +125,7 @@ namespace Lucene.Net.Support
                 throw new ArgumentOutOfRangeException("ordering");
 
             _limit = limit <= 0 ? int.MaxValue : limit;
-            _comparer = comparer ?? Support.EqualityComparer<TKey>.Default;
+            _comparer = comparer ?? EqualityComparer<TKey>.Default;
             _ordering = ordering;
 
             allocSize = (int)Math.Min((long)allocSize + OverAlloc, 0x3fffffff);
@@ -470,7 +470,7 @@ namespace Lucene.Net.Support
         {
             TValue test;
             if (TryGetValue(item.Key, out test))
-                return Support.EqualityComparer<TValue>.Default.Equals(item.Value, test);
+                return EqualityComparer<TValue>.Default.Equals(item.Value, test);
             return false;
         }
 
@@ -767,7 +767,7 @@ namespace Lucene.Net.Support
             /// </summary>
             public bool Contains(TValue value)
             {
-                var comparer = Support.EqualityComparer<TValue>.Default;
+                var comparer = EqualityComparer<TValue>.Default;
                 foreach (var item in _owner)
                 {
                     if (comparer.Equals(item.Value, value))
@@ -1426,7 +1426,7 @@ namespace Lucene.Net.Support
             {
                 Value = value;
 
-                if (_hasTestValue && !Support.EqualityComparer<TValue>.Default.Equals(_testValue, value))
+                if (_hasTestValue && !EqualityComparer<TValue>.Default.Equals(_testValue, value))
                     return false;
                 if (Condition != null && !Condition(key, value))
                     return false;
@@ -1521,7 +1521,7 @@ namespace Lucene.Net.Support
             }
             public bool UpdateValue(TKey key, ref TValue value)
             {
-                if (_hasTestValue && !Support.EqualityComparer<TValue>.Default.Equals(_testValue, value))
+                if (_hasTestValue && !EqualityComparer<TValue>.Default.Equals(_testValue, value))
                     return false;
 
                 value = Value;
diff --git a/src/Lucene.Net/Util/Fst/FST.cs b/src/Lucene.Net/Util/Fst/FST.cs
index c4053fd..8982395 100644
--- a/src/Lucene.Net/Util/Fst/FST.cs
+++ b/src/Lucene.Net/Util/Fst/FST.cs
@@ -362,7 +362,7 @@ namespace Lucene.Net.Util.Fst
             {
                 throw new InvalidOperationException("already finished");
             }
-            if (newStartNode == FST.FINAL_END_NODE && !Support.EqualityComparer<T>.Default.Equals(emptyOutput, default(T)))
+            if (newStartNode == FST.FINAL_END_NODE && !EqualityComparer<T>.Default.Equals(emptyOutput, default(T)))
             {
                 newStartNode = 0;
             }
@@ -514,7 +514,7 @@ namespace Lucene.Net.Util.Fst
             }
             // TODO: really we should encode this as an arc, arriving
             // to the root node, instead of special casing here:
-            if (!Support.EqualityComparer<T>.Default.Equals(emptyOutput, default(T)))
+            if (!EqualityComparer<T>.Default.Equals(emptyOutput, default(T)))
             {
                 // Accepts empty string
                 @out.WriteByte(1);
@@ -875,7 +875,7 @@ namespace Lucene.Net.Util.Fst
         /// </summary>
         public FST.Arc<T> GetFirstArc(FST.Arc<T> arc)
         {
-            if (!Support.EqualityComparer<T>.Default.Equals(emptyOutput, default(T)))
+            if (!EqualityComparer<T>.Default.Equals(emptyOutput, default(T)))
             {
                 arc.Flags = FST.BIT_FINAL_ARC | FST.BIT_LAST_ARC;
                 arc.NextFinalOutput = emptyOutput;
@@ -2053,7 +2053,7 @@ namespace Lucene.Net.Util.Fst
             fst.startNode = newNodeAddress.Get((int)startNode);
             //System.out.println("new startNode=" + fst.startNode + " old startNode=" + startNode);
 
-            if (!Support.EqualityComparer<T>.Default.Equals(emptyOutput, default(T)))
+            if (!EqualityComparer<T>.Default.Equals(emptyOutput, default(T)))
             {
                 fst.EmptyOutput = emptyOutput;
             }
diff --git a/src/Lucene.Net/Util/PriorityQueue.cs b/src/Lucene.Net/Util/PriorityQueue.cs
index 391dd4f..36d5be5 100644
--- a/src/Lucene.Net/Util/PriorityQueue.cs
+++ b/src/Lucene.Net/Util/PriorityQueue.cs
@@ -88,7 +88,7 @@ namespace Lucene.Net.Util
             {
                 // If sentinel objects are supported, populate the queue with them
                 T sentinel = GetSentinelObject();
-                if (!Support.EqualityComparer<T>.Default.Equals(sentinel, default(T)))
+                if (!EqualityComparer<T>.Default.Equals(sentinel, default(T)))
                 {
                     heap[1] = sentinel;
                     for (int i = 2; i < heap.Length; i++)


[lucenenet] 03/29: Moved MSBuild element to common Directory.Build.props file (imported automatically by every project)

Posted by ni...@apache.org.
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 b000354e2711c3b38f38afbc73468fa4f245b4a9
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Sat Jul 6 22:43:27 2019 +0700

    Moved <Copyright> MSBuild element to common Directory.Build.props file (imported automatically by every project)
---
 Directory.Build.props                              | 31 ++++++++++++++++++++++
 Lucene.Net.sln                                     |  5 ++++
 .../Lucene.Net.Analysis.Common.csproj              |  1 -
 .../Lucene.Net.Analysis.Kuromoji.csproj            |  1 -
 .../Lucene.Net.Analysis.Phonetic.csproj            |  1 -
 .../Lucene.Net.Analysis.SmartCn.csproj             |  1 -
 .../Lucene.Net.Analysis.Stempel.csproj             |  1 -
 .../Lucene.Net.Benchmark.csproj                    |  1 -
 .../Lucene.Net.Classification.csproj               |  1 -
 src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj     |  1 -
 src/Lucene.Net.Demo/Lucene.Net.Demo.csproj         |  1 -
 .../Lucene.Net.Expressions.csproj                  |  1 -
 src/Lucene.Net.Facet/Lucene.Net.Facet.csproj       |  1 -
 src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj |  1 -
 .../Lucene.Net.Highlighter.csproj                  |  1 -
 src/Lucene.Net.Join/Lucene.Net.Join.csproj         |  1 -
 src/Lucene.Net.Memory/Lucene.Net.Memory.csproj     |  1 -
 src/Lucene.Net.Misc/Lucene.Net.Misc.csproj         |  1 -
 src/Lucene.Net.Queries/Lucene.Net.Queries.csproj   |  1 -
 .../Lucene.Net.QueryParser.csproj                  |  1 -
 .../Lucene.Net.Replicator.csproj                   |  1 -
 src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj   |  1 -
 src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj   |  1 -
 src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj   |  1 -
 .../Lucene.Net.TestFramework.csproj                |  1 -
 src/Lucene.Net/Lucene.Net.csproj                   |  1 -
 src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj    |  1 -
 .../Lucene.Net.Replicator.AspNetCore.csproj        |  1 -
 28 files changed, 36 insertions(+), 26 deletions(-)

diff --git a/Directory.Build.props b/Directory.Build.props
new file mode 100644
index 0000000..6acc95d
--- /dev/null
+++ b/Directory.Build.props
@@ -0,0 +1,31 @@
+<!--
+
+ 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.
+
+-->
+<Project>
+  <PropertyGroup Label="Copyright Info">
+    <Product>Lucene.Net</Product>
+    <Company>The Apache Software Foundation</Company>
+    <CurrentYear Condition=" '$(CurrentYear)' == '' ">$([System.DateTime]::UtcNow.Year.ToString())</CurrentYear>
+    <BeginCopyrightYear>2006</BeginCopyrightYear>
+    <CopyrightYearRange>$(BeginCopyrightYear) - $(CurrentYear)</CopyrightYearRange>
+    <CopyrightYearRange Condition=" '$(BeginCopyrightYear)' == '$(CurrentYear)' ">$(CurrentYear)</CopyrightYearRange>
+    <Copyright>Copyright © $(CopyrightYearRange) $(Company)</Copyright>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/Lucene.Net.sln b/Lucene.Net.sln
index ab29568..9439788 100644
--- a/Lucene.Net.sln
+++ b/Lucene.Net.sln
@@ -153,6 +153,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lucene.Net.Tests.ICU", "src
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lucene.Net.Tests.Cli", "src\dotnet\tools\Lucene.Net.Tests.Cli\Lucene.Net.Tests.Cli.csproj", "{1F5574FE-19F7-4F10-9B88-76A938621F5B}"
 EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{4DF0A2A1-B9C7-4EE5-BAF0-BEEF53E34220}"
+	ProjectSection(SolutionItems) = preProject
+		Directory.Build.props = Directory.Build.props
+	EndProjectSection
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
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 67848f3..3283ce3 100644
--- a/src/Lucene.Net.Analysis.Common/Lucene.Net.Analysis.Common.csproj
+++ b/src/Lucene.Net.Analysis.Common/Lucene.Net.Analysis.Common.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
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 7a1e53e..85f93d5 100644
--- a/src/Lucene.Net.Analysis.Kuromoji/Lucene.Net.Analysis.Kuromoji.csproj
+++ b/src/Lucene.Net.Analysis.Kuromoji/Lucene.Net.Analysis.Kuromoji.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
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 7224972..906e10f 100644
--- a/src/Lucene.Net.Analysis.Phonetic/Lucene.Net.Analysis.Phonetic.csproj
+++ b/src/Lucene.Net.Analysis.Phonetic/Lucene.Net.Analysis.Phonetic.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj b/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj
index 3b72999..a72e9fb 100644
--- a/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj
+++ b/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
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 d9191d7..ea5e3ca 100644
--- a/src/Lucene.Net.Analysis.Stempel/Lucene.Net.Analysis.Stempel.csproj
+++ b/src/Lucene.Net.Analysis.Stempel/Lucene.Net.Analysis.Stempel.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj b/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
index 8cc8a2b..bde4c0b 100644
--- a/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
+++ b/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
@@ -36,7 +36,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Classification/Lucene.Net.Classification.csproj b/src/Lucene.Net.Classification/Lucene.Net.Classification.csproj
index d251b45..f2a0378 100644
--- a/src/Lucene.Net.Classification/Lucene.Net.Classification.csproj
+++ b/src/Lucene.Net.Classification/Lucene.Net.Classification.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj b/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj
index 73e1d52..1c01658 100644
--- a/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj
+++ b/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj b/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj
index e255de8..983362d 100644
--- a/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj
+++ b/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj b/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj
index da3e43a..bad9977 100644
--- a/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj
+++ b/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj b/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
index e88d061..24aaac3 100644
--- a/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
+++ b/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj b/src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj
index 07c9e74..d2dce9f 100644
--- a/src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj
+++ b/src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj b/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
index e01905f..e5db907 100644
--- a/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
+++ b/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Join/Lucene.Net.Join.csproj b/src/Lucene.Net.Join/Lucene.Net.Join.csproj
index 990ea0b..f5490fc 100644
--- a/src/Lucene.Net.Join/Lucene.Net.Join.csproj
+++ b/src/Lucene.Net.Join/Lucene.Net.Join.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj b/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj
index 0eca13a..6916210 100644
--- a/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj
+++ b/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj b/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj
index a3e83f6..6f9d70f 100644
--- a/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj
+++ b/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Queries/Lucene.Net.Queries.csproj b/src/Lucene.Net.Queries/Lucene.Net.Queries.csproj
index 785154c..fa15e0c 100644
--- a/src/Lucene.Net.Queries/Lucene.Net.Queries.csproj
+++ b/src/Lucene.Net.Queries/Lucene.Net.Queries.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj b/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
index 7d0a366..be1e8de 100644
--- a/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
+++ b/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj b/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj
index 25c3902..4ce6302 100644
--- a/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj
+++ b/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj b/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj
index b347dba..cb5a64f 100644
--- a/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj
+++ b/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj b/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
index de3df43..0c02c45 100644
--- a/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
+++ b/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj b/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj
index cfd8950..5690a65 100644
--- a/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj
+++ b/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj b/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj
index dcf12e7..4d36c1b 100644
--- a/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj
+++ b/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <!-- LUCENENET TODO: If we ever complete the work to release this module, we should add the documentation and
       remove all of the warnings this line produces. -->
     <!--<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>-->
diff --git a/src/Lucene.Net/Lucene.Net.csproj b/src/Lucene.Net/Lucene.Net.csproj
index 08edbfe..38bfff4 100644
--- a/src/Lucene.Net/Lucene.Net.csproj
+++ b/src/Lucene.Net/Lucene.Net.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
     
diff --git a/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj b/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
index af619d7..8c7a841 100644
--- a/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
+++ b/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
@@ -36,7 +36,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
     <DefineConstants>$(DefineConstants);FEATURE_BREAKITERATOR</DefineConstants>
diff --git a/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj b/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
index f2893ad..99e9c37 100644
--- a/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
+++ b/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
@@ -35,7 +35,6 @@
     <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 


[lucenenet] 26/29: BUG: Fixed invalid method call introduced in #222 to ClearLock that caused the path to double up, which caused the GetCanonicalPathOfLockFile method to fail.

Posted by ni...@apache.org.
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 7f2b76a0a81c3fbe7dd5e329cbf1d6504dba9e2c
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Tue Jul 9 22:17:03 2019 +0700

    BUG: Fixed invalid method call introduced in #222 to ClearLock that caused the path to double up, which caused the GetCanonicalPathOfLockFile method to fail.
---
 src/Lucene.Net.Tests/Store/TestLockFactory.cs |  2 +-
 src/Lucene.Net/Store/NativeFSLockFactory.cs   | 11 ++++++-----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/Lucene.Net.Tests/Store/TestLockFactory.cs b/src/Lucene.Net.Tests/Store/TestLockFactory.cs
index 9fcaa65..2ab4d78 100644
--- a/src/Lucene.Net.Tests/Store/TestLockFactory.cs
+++ b/src/Lucene.Net.Tests/Store/TestLockFactory.cs
@@ -199,7 +199,7 @@ namespace Lucene.Net.Store
         }
 
         // Verify: NativeFSLockFactory works correctly
-        [Test, LongRunningTest]
+        [Test]
         public virtual void TestNativeFSLockFactory()
         {
             var f = new NativeFSLockFactory(CreateTempDir("testNativeFsLockFactory"));
diff --git a/src/Lucene.Net/Store/NativeFSLockFactory.cs b/src/Lucene.Net/Store/NativeFSLockFactory.cs
index a99e178..e21d345 100644
--- a/src/Lucene.Net/Store/NativeFSLockFactory.cs
+++ b/src/Lucene.Net/Store/NativeFSLockFactory.cs
@@ -90,8 +90,8 @@ namespace Lucene.Net.Store
 
 		// LUCENENET: NativeFSLocks in Java are infact singletons; this is how we mimick that to track instances and make sure
 		// IW.Unlock and IW.IsLocked works correctly
-        private static readonly Dictionary<string, Lock> locks = new Dictionary<string, Lock>();
-        private static readonly object locksSyncLock = new object();
+        internal static readonly Dictionary<string, Lock> locks = new Dictionary<string, Lock>();
+        internal static readonly object syncLock = new object();
 
 		/// <summary>
 		/// Given a lock name, return the full prefixed path of the actual lock file.
@@ -111,7 +111,7 @@ namespace Lucene.Net.Store
         {
             var path = GetCanonicalPathOfLockFile(lockName);
             Lock l;
-			lock (locksSyncLock)
+			lock (syncLock)
 			{
 				if (!locks.TryGetValue(path, out l))
 					locks.Add(path, l = NewLock(path));
@@ -135,7 +135,7 @@ namespace Lucene.Net.Store
             Lock l;
 			// this is the reason why we can't use ConcurrentDictionary: we need the removal and disposal of the lock to be atomic
 			// otherwise it may clash with MakeLock making a lock and ClearLock disposing of it in another thread.
-			lock (locksSyncLock)
+			lock (syncLock)
 			{
 				if (locks.TryGetValue(path, out l))
 				{
@@ -474,7 +474,8 @@ namespace Lucene.Net.Store
                     // the lock instance from the dictionary that tracks them.
                     try
                     {
-						outerInstance?.ClearLock(path);
+                        lock (NativeFSLockFactory.syncLock)
+                            NativeFSLockFactory.locks.Remove(path);
                     }
                     finally
                     {


[lucenenet] 20/29: Updated readme with the location of the documentation (closes #225, applies to LUCENENET-589)

Posted by ni...@apache.org.
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 ca0cc77a134460d165c517f5069287ba547409f6
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Tue Jul 9 17:13:07 2019 +0700

    Updated readme with the location of the documentation (closes #225, applies to LUCENENET-589)
---
 README.md | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index b0000e6..3b83d5e 100644
--- a/README.md
+++ b/README.md
@@ -92,9 +92,11 @@ PM> Install-Package Lucene.Net -Pre
 
 [Lucene.Net WIKI](https://cwiki.apache.org/confluence/display/LUCENENET/Lucene.Net)
 
-We don't yet have API documentation for Lucene.Net 4.8.0, but the API is similar to [Lucene 4.8.0](https://lucene.apache.org/core/4_8_0/). 
+We now have some preliminary documentation for Lucene.Net 4.8.0 [on the Lucene.Net Website](https://lucenenet.apache.org/).
 
-> NOTE: We are working on this, but could use more help since it is a massive project. See [#206](https://github.com/apache/lucenenet/pull/206).
+The API is similar to Java [Lucene 4.8.0](https://lucene.apache.org/core/4_8_0/), which you may also find helpful to review.
+
+> NOTE: We are working on fixing issues with the documentation, but could use more help since it is a massive project. See [#206](https://github.com/apache/lucenenet/pull/206).
 
 ### Legacy Versions
 


[lucenenet] 06/29: Moved all PackageReference versions to a common build/Dependencies.props file. Also moved common test project references (NUnit, Microsoft.NET.Test.Sdk, etc) into a common project file build/TestReferences.Common.targets.

Posted by ni...@apache.org.
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 a703534fbc5681c316ca9b9b9dabdc5b5dcdfe83
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Sun Jul 7 04:58:38 2019 +0700

    Moved all PackageReference versions to a common build/Dependencies.props file. Also moved common test project references (NUnit, Microsoft.NET.Test.Sdk, etc) into a common project file build/TestReferences.Common.targets.
---
 Directory.Build.props                              |  2 ++
 Lucene.Net.sln                                     |  2 ++
 build/Dependencies.props                           | 41 ++++++++++++++++++++++
 build/TestReferences.Common.targets                | 10 ++++++
 .../Lucene.Net.Analysis.Common.csproj              |  2 +-
 .../Lucene.Net.Analysis.Kuromoji.csproj            |  6 ++--
 .../Lucene.Net.Analysis.SmartCn.csproj             |  6 ++--
 .../Lucene.Net.Benchmark.csproj                    | 12 +++----
 src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj     |  2 +-
 .../Lucene.Net.Expressions.csproj                  | 14 ++++----
 src/Lucene.Net.Facet/Lucene.Net.Facet.csproj       |  4 +--
 .../Lucene.Net.Highlighter.csproj                  |  2 +-
 .../Lucene.Net.QueryParser.csproj                  |  2 +-
 .../Lucene.Net.Replicator.csproj                   |  2 +-
 src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj   |  2 +-
 .../Lucene.Net.TestFramework.csproj                | 12 +++----
 .../Lucene.Net.Tests.Analysis.Common.csproj        |  9 +----
 .../Lucene.Net.Tests.Analysis.Kuromoji.csproj      | 11 ++----
 .../Lucene.Net.Tests.Analysis.Phonetic.csproj      |  9 +----
 .../Lucene.Net.Tests.Analysis.SmartCn.csproj       | 13 ++-----
 .../Lucene.Net.Tests.Analysis.Stempel.csproj       |  9 +----
 .../Lucene.Net.Tests.Benchmark.csproj              | 12 +++----
 .../Lucene.Net.Tests.Classification.csproj         |  9 +----
 .../Lucene.Net.Tests.Codecs.csproj                 |  9 +----
 .../Lucene.Net.Tests.Demo.csproj                   |  9 +----
 .../Lucene.Net.Tests.Expressions.csproj            |  9 +----
 .../Lucene.Net.Tests.Facet.csproj                  |  9 +----
 .../Lucene.Net.Tests.Grouping.csproj               |  9 +----
 .../Lucene.Net.Tests.Highlighter.csproj            | 11 ++----
 .../Lucene.Net.Tests.Join.csproj                   |  9 +----
 .../Lucene.Net.Tests.Memory.csproj                 |  9 +----
 .../Lucene.Net.Tests.Misc.csproj                   |  9 +----
 .../Lucene.Net.Tests.Queries.csproj                |  9 +----
 .../Lucene.Net.Tests.QueryParser.csproj            |  9 +----
 .../Lucene.Net.Tests.Replicator.csproj             | 12 +++----
 .../Lucene.Net.Tests.Sandbox.csproj                |  9 +----
 .../Lucene.Net.Tests.Spatial.csproj                | 14 +++-----
 .../Lucene.Net.Tests.Suggest.csproj                |  9 +----
 src/Lucene.Net.Tests/Lucene.Net.Tests.csproj       |  9 +----
 src/Lucene.Net/Lucene.Net.csproj                   | 26 +++++++-------
 src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj    |  6 ++--
 .../Lucene.Net.Replicator.AspNetCore.csproj        |  2 +-
 .../Lucene.Net.Tests.ICU.csproj                    | 14 +++-----
 .../Lucene.Net.Tests.Cli.csproj                    |  9 +----
 44 files changed, 148 insertions(+), 256 deletions(-)

diff --git a/Directory.Build.props b/Directory.Build.props
index f4d5eee..fc37121 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -19,6 +19,8 @@
 
 -->
 <Project>
+  <Import Project="build\Dependencies.props" />
+
   <PropertyGroup Label="NuGet Package Defaults">
     <IsPackable>false</IsPackable>
   </PropertyGroup>
diff --git a/Lucene.Net.sln b/Lucene.Net.sln
index 8d25e3c..5fcb135 100644
--- a/Lucene.Net.sln
+++ b/Lucene.Net.sln
@@ -30,8 +30,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{4016BDAB
 	ProjectSection(SolutionItems) = preProject
 		build.bat = build.bat
 		build\build.ps1 = build\build.ps1
+		build\Dependencies.props = build\Dependencies.props
 		build\NuGet.props = build\NuGet.props
 		src\CommonAssemblyInfo.cs = src\CommonAssemblyInfo.cs
+		build\TestReferences.Common.targets = build\TestReferences.Common.targets
 		TestTargetFramework.proj = TestTargetFramework.proj
 		Version.proj = Version.proj
 	EndProjectSection
diff --git a/build/Dependencies.props b/build/Dependencies.props
new file mode 100644
index 0000000..e71518f
--- /dev/null
+++ b/build/Dependencies.props
@@ -0,0 +1,41 @@
+<Project> 
+  <PropertyGroup Label="NuGet Package Reference Versions">
+    <Antlr3RuntimePackageVersion>3.5.1</Antlr3RuntimePackageVersion>
+    <IcuNetPackageVersion>54.1.1-alpha</IcuNetPackageVersion>
+    <MicrosoftAspNetCoreHttpAbstractionsPackageVersion>1.0.3</MicrosoftAspNetCoreHttpAbstractionsPackageVersion>
+    <MicrosoftAspNetCoreTestHostPackageVersion>1.0.3</MicrosoftAspNetCoreTestHostPackageVersion>
+    <MicrosoftCSharpPackageVersion>4.4.0</MicrosoftCSharpPackageVersion>
+    <MicrosoftExtensionsDependencyModelPackageVersion>2.0.0</MicrosoftExtensionsDependencyModelPackageVersion>
+    <MicrosoftNETTestSdkPackageVersion>15.3.0</MicrosoftNETTestSdkPackageVersion>
+    <NETStandardLibrary16PackageVersion>1.6.1</NETStandardLibrary16PackageVersion>
+    <NETStandardLibrary20PackageVersion>2.0.3</NETStandardLibrary20PackageVersion>
+    <NewtonsoftJsonPackageVersion>10.0.3</NewtonsoftJsonPackageVersion>
+    <NUnitPackageVersion>3.8.1</NUnitPackageVersion>
+    <NUnit3TestAdapterPackageVersion>3.8.0</NUnit3TestAdapterPackageVersion>
+    <SharpZipLibPackageVersion>0.86.0</SharpZipLibPackageVersion>
+    <SharpZipLibNETStandardPackageVersion>0.86.0.1</SharpZipLibNETStandardPackageVersion>
+    <Spatial4nCorePackageVersion>0.4.1-beta00007</Spatial4nCorePackageVersion>
+    <Spatial4nCoreNTSPackageVersion>0.4.1-beta00007</Spatial4nCoreNTSPackageVersion>
+    <SystemCollectionsNonGenericPackageVersion>4.3.0</SystemCollectionsNonGenericPackageVersion>
+    <SystemCollectionsSpecializedPackageVersion>4.3.0</SystemCollectionsSpecializedPackageVersion>
+    <SystemComponentModelPrimitivesPackageVersion>4.3.0</SystemComponentModelPrimitivesPackageVersion>
+    <SystemDiagnosticsProcessPackageVersion>4.3.0</SystemDiagnosticsProcessPackageVersion>
+    <SystemDiagnosticsStackTracePackageVersion>4.3.0</SystemDiagnosticsStackTracePackageVersion>
+    <SystemDiagnosticsTraceSourcePackageVersion>4.3.0</SystemDiagnosticsTraceSourcePackageVersion>
+    <SystemGlobalizationExtensionsPackageVersion>4.3.0</SystemGlobalizationExtensionsPackageVersion>
+    <SystemGlobalizationPackageVersion>4.3.0</SystemGlobalizationPackageVersion>
+    <SystemIOMemoryMappedFilesPackageVersion>4.3.0</SystemIOMemoryMappedFilesPackageVersion>
+    <SystemNetNameResolutionPackageVersion>4.3.0</SystemNetNameResolutionPackageVersion>
+    <SystemNetPrimitivesPackageVersion>4.3.0</SystemNetPrimitivesPackageVersion>
+    <SystemNetSocketsPackageVersion>4.3.0</SystemNetSocketsPackageVersion>
+    <SystemReflectionEmitPackageVersion>4.3.0</SystemReflectionEmitPackageVersion>
+    <SystemReflectionEmitILGenerationPackageVersion>4.3.0</SystemReflectionEmitILGenerationPackageVersion>
+    <SystemReflectionTypeExtensionsPackageVersion>4.3.0</SystemReflectionTypeExtensionsPackageVersion>
+    <SystemRuntimeInteropServicesRuntimeInformationPackageVersion>4.3.0</SystemRuntimeInteropServicesRuntimeInformationPackageVersion>
+    <SystemTextEncodingCodePagesPackageVersion>4.3.0</SystemTextEncodingCodePagesPackageVersion>
+    <SystemThreadingThreadPackageVersion>4.3.0</SystemThreadingThreadPackageVersion>
+    <SystemThreadingThreadPoolPackageVersion>4.3.0</SystemThreadingThreadPoolPackageVersion>
+    <SystemXmlXmlDocumentPackageVersion>4.3.0</SystemXmlXmlDocumentPackageVersion>
+    <TeamCityVSTestTestAdapterPackageVersion>1.0.5</TeamCityVSTestTestAdapterPackageVersion>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/build/TestReferences.Common.targets b/build/TestReferences.Common.targets
new file mode 100644
index 0000000..a7d30d4
--- /dev/null
+++ b/build/TestReferences.Common.targets
@@ -0,0 +1,10 @@
+<Project>
+  <ItemGroup Label="Test Project Common References">
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="$(MicrosoftNETTestSdkPackageVersion)" />
+    <PackageReference Include="NUnit" Version="$(NUnitPackageVersion)" />
+    <PackageReference Include="NUnit3TestAdapter" Version="$(NUnit3TestAdapterPackageVersion)" />
+    <!-- Required by NUnit3TestAdapter on .NET Core -->
+    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="$(SystemRuntimeInteropServicesRuntimeInformationPackageVersion)" />
+    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="$(TeamCityVSTestTestAdapterPackageVersion)" />
+  </ItemGroup>
+</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 4f5e3b1..36fcd49 100644
--- a/src/Lucene.Net.Analysis.Common/Lucene.Net.Analysis.Common.csproj
+++ b/src/Lucene.Net.Analysis.Common/Lucene.Net.Analysis.Common.csproj
@@ -59,7 +59,7 @@
   </PropertyGroup>
 
   <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">
-    <PackageReference Include="System.ComponentModel.Primitives" Version="4.3.0" />
+    <PackageReference Include="System.ComponentModel.Primitives" Version="$(SystemComponentModelPrimitivesPackageVersion)" />
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'net45' ">
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 ca2abe7..8c12316 100644
--- a/src/Lucene.Net.Analysis.Kuromoji/Lucene.Net.Analysis.Kuromoji.csproj
+++ b/src/Lucene.Net.Analysis.Kuromoji/Lucene.Net.Analysis.Kuromoji.csproj
@@ -50,7 +50,7 @@
 
   <!-- NOTE: Microsoft's recommendation is not to use the ICloneable interface. We put in a FEATURE_CLONEABLE constant in case anyone wants to add it to the build -->
   <!--<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0' ">
-    <PackageReference Include="System.Text.Encoding.CodePages" Version="4.3.0" />
+    <PackageReference Include="System.Text.Encoding.CodePages" Version="$(SystemTextEncodingCodePagesPackageVersion)" />
   </ItemGroup>
   
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
@@ -59,8 +59,8 @@
   </PropertyGroup>-->
 
   <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">
-    <PackageReference Include="System.Globalization.Extensions" Version="4.3.0" />
-    <PackageReference Include="System.Text.Encoding.CodePages" Version="4.3.0" />
+    <PackageReference Include="System.Globalization.Extensions" Version="$(SystemGlobalizationExtensionsPackageVersion)" />
+    <PackageReference Include="System.Text.Encoding.CodePages" Version="$(SystemTextEncodingCodePagesPackageVersion)" />
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">
diff --git a/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj b/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj
index 934fcdc..25b7cd4 100644
--- a/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj
+++ b/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj
@@ -52,11 +52,11 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="icu.net" Version="54.1.1-alpha" />
+    <PackageReference Include="icu.net" Version="$(IcuNetPackageVersion)" />
   </ItemGroup>
 
   <!--<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
-    <PackageReference Include="System.Text.Encoding.CodePages" Version="4.3.0" />
+    <PackageReference Include="System.Text.Encoding.CodePages" Version="$(SystemTextEncodingCodePagesPackageVersion)" />
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
@@ -65,7 +65,7 @@
   </PropertyGroup>-->
 
   <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">
-    <PackageReference Include="System.Text.Encoding.CodePages" Version="4.3.0" />
+    <PackageReference Include="System.Text.Encoding.CodePages" Version="$(SystemTextEncodingCodePagesPackageVersion)" />
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">
diff --git a/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj b/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
index 494df7a..18bf87e 100644
--- a/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
+++ b/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
@@ -55,13 +55,13 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="icu.net" Version="54.1.1-alpha" />
-    <PackageReference Include="Spatial4n.Core" Version="0.4.1-beta00007" />
+    <PackageReference Include="icu.net" Version="$(IcuNetPackageVersion)" />
+    <PackageReference Include="Spatial4n.Core" Version="$(Spatial4nCorePackageVersion)" />
   </ItemGroup>
 
   <!-- NOTE: Microsoft's recommendation is not to use the ICloneable interface. We put in a FEATURE_CLONEABLE constant in case anyone wants to add it to the build -->
   <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
-    <PackageReference Include="SharpZipLib.NETStandard" Version="0.86.0.1" />
+    <PackageReference Include="SharpZipLib.NETStandard" Version="$(SharpZipLibNETStandardPackageVersion)" />
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
@@ -69,8 +69,8 @@
   </PropertyGroup>
 
   <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">
-    <PackageReference Include="SharpZipLib.NETStandard" Version="0.86.0.1" />
-    <PackageReference Include="System.Net.Primitives" Version="4.3.0" />
+    <PackageReference Include="SharpZipLib.NETStandard" Version="$(SharpZipLibNETStandardPackageVersion)" />
+    <PackageReference Include="System.Net.Primitives" Version="$(SystemNetPrimitivesPackageVersion)" />
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">
@@ -83,7 +83,7 @@
   </PropertyGroup>
 
   <ItemGroup Condition=" '$(TargetFramework)' == 'net45' ">
-    <PackageReference Include="SharpZipLib" Version="0.86.0" />
+    <PackageReference Include="SharpZipLib" Version="$(SharpZipLibPackageVersion)" />
     <Reference Include="System" />
     <Reference Include="Microsoft.CSharp" />
   </ItemGroup>
diff --git a/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj b/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj
index 5cb5a8b..966f8df 100644
--- a/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj
+++ b/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj
@@ -51,7 +51,7 @@
   </PropertyGroup>-->
 
   <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">
-    <PackageReference Include="Microsoft.CSharp" Version="4.4.0" />
+    <PackageReference Include="Microsoft.CSharp" Version="$(MicrosoftCSharpPackageVersion)" />
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">
diff --git a/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj b/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj
index 34f34d6..4c889da 100644
--- a/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj
+++ b/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj
@@ -48,13 +48,13 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="Antlr3.Runtime" Version="3.5.1" />
+    <PackageReference Include="Antlr3.Runtime" Version="$(Antlr3RuntimePackageVersion)" />
   </ItemGroup>
   
   <!--<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
-    <PackageReference Include="System.Reflection.Emit" Version="4.3.0" />
-    <PackageReference Include="System.Reflection.Emit.ILGeneration" Version="4.3.0" />
-    <PackageReference Include="System.Reflection.TypeExtensions" Version="4.3.0" />
+    <PackageReference Include="System.Reflection.Emit" Version="$(SystemReflectionEmitPackageVersion)" />
+    <PackageReference Include="System.Reflection.Emit.ILGeneration" Version="$(SystemReflectionEmitILGenerationPackageVersion)" />
+    <PackageReference Include="System.Reflection.TypeExtensions" Version="$(SystemReflectionTypeExtensionsPackageVersion)" />
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
@@ -63,9 +63,9 @@
   </PropertyGroup>-->
 
   <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">
-    <PackageReference Include="System.Reflection.Emit" Version="4.3.0" />
-    <PackageReference Include="System.Reflection.Emit.ILGeneration" Version="4.3.0" />
-    <PackageReference Include="System.Reflection.TypeExtensions" Version="4.3.0" />
+    <PackageReference Include="System.Reflection.Emit" Version="$(SystemReflectionEmitPackageVersion)" />
+    <PackageReference Include="System.Reflection.Emit.ILGeneration" Version="$(SystemReflectionEmitILGenerationPackageVersion)" />
+    <PackageReference Include="System.Reflection.TypeExtensions" Version="$(SystemReflectionTypeExtensionsPackageVersion)" />
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">
diff --git a/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj b/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
index 399d43a..39bae76 100644
--- a/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
+++ b/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
@@ -53,8 +53,8 @@
   </PropertyGroup>-->
   
   <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">
-    <PackageReference Include="System.Threading.Thread" Version="4.3.0" />
-    <PackageReference Include="System.Net.Primitives" Version="4.3.0" />
+    <PackageReference Include="System.Threading.Thread" Version="$(SystemThreadingThreadPackageVersion)" />
+    <PackageReference Include="System.Net.Primitives" Version="$(SystemNetPrimitivesPackageVersion)" />
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">
diff --git a/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj b/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
index f900596..2a0fc17 100644
--- a/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
+++ b/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
@@ -52,7 +52,7 @@
   </PropertyGroup>-->
 
   <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">
-    <PackageReference Include="System.Net.Primitives" Version="4.3.0" />
+    <PackageReference Include="System.Net.Primitives" Version="$(SystemNetPrimitivesPackageVersion)" />
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">
diff --git a/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj b/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
index ce388fd..ed0d525 100644
--- a/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
+++ b/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
@@ -55,7 +55,7 @@
   </PropertyGroup>
 
   <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">
-    <PackageReference Include="System.Xml.XmlDocument" Version="4.3.0" />
+    <PackageReference Include="System.Xml.XmlDocument" Version="$(SystemXmlXmlDocumentPackageVersion)" />
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">
diff --git a/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj b/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj
index bd17773..7868f65 100644
--- a/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj
+++ b/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj
@@ -48,7 +48,7 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
+    <PackageReference Include="Newtonsoft.Json" Version="$(NewtonsoftJsonPackageVersion)" />
   </ItemGroup>
 
   <!--<PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
diff --git a/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj b/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
index 6e6ce65..c1ff135 100644
--- a/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
+++ b/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
@@ -53,7 +53,7 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="Spatial4n.Core" Version="0.4.1-beta00007" /> 
+    <PackageReference Include="Spatial4n.Core" Version="$(Spatial4nCorePackageVersion)" /> 
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
diff --git a/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj b/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj
index 0443b6e..1094a83 100644
--- a/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj
+++ b/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj
@@ -52,8 +52,8 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="icu.net" Version="54.1.1-alpha" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
+    <PackageReference Include="icu.net" Version="$(IcuNetPackageVersion)" />
+    <PackageReference Include="NUnit" Version="$(NUnitPackageVersion)" />
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
@@ -62,10 +62,10 @@
   </PropertyGroup>
 
   <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">
-    <PackageReference Include="System.Diagnostics.StackTrace" Version="4.3.0" />
-    <PackageReference Include="System.Diagnostics.TraceSource" Version="4.3.0" />
-    <PackageReference Include="System.Net.Primitives" Version="4.3.0" />
-    <PackageReference Include="System.Threading.Thread" Version="4.3.0" />
+    <PackageReference Include="System.Diagnostics.StackTrace" Version="$(SystemDiagnosticsStackTracePackageVersion)" />
+    <PackageReference Include="System.Diagnostics.TraceSource" Version="$(SystemDiagnosticsTraceSourcePackageVersion)" />
+    <PackageReference Include="System.Net.Primitives" Version="$(SystemNetPrimitivesPackageVersion)" />
+    <PackageReference Include="System.Threading.Thread" Version="$(SystemThreadingThreadPackageVersion)" />
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Lucene.Net.Tests.Analysis.Common.csproj b/src/Lucene.Net.Tests.Analysis.Common/Lucene.Net.Tests.Analysis.Common.csproj
index ff5f81d..73bc732 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Lucene.Net.Tests.Analysis.Common.csproj
+++ b/src/Lucene.Net.Tests.Analysis.Common/Lucene.Net.Tests.Analysis.Common.csproj
@@ -48,14 +48,7 @@
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
-  </ItemGroup>
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
     <DefineConstants>$(DefineConstants);NETSTANDARD</DefineConstants>
diff --git a/src/Lucene.Net.Tests.Analysis.Kuromoji/Lucene.Net.Tests.Analysis.Kuromoji.csproj b/src/Lucene.Net.Tests.Analysis.Kuromoji/Lucene.Net.Tests.Analysis.Kuromoji.csproj
index a8f0409..4d9c1af 100644
--- a/src/Lucene.Net.Tests.Analysis.Kuromoji/Lucene.Net.Tests.Analysis.Kuromoji.csproj
+++ b/src/Lucene.Net.Tests.Analysis.Kuromoji/Lucene.Net.Tests.Analysis.Kuromoji.csproj
@@ -48,21 +48,14 @@
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
-  </ItemGroup>
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
     <DebugType>portable</DebugType>
   </PropertyGroup>
 
   <ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">
-    <PackageReference Include="System.Net.Primitives" Version="4.3.0" />
+    <PackageReference Include="System.Net.Primitives" Version="$(SystemNetPrimitivesPackageVersion)" />
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">
diff --git a/src/Lucene.Net.Tests.Analysis.Phonetic/Lucene.Net.Tests.Analysis.Phonetic.csproj b/src/Lucene.Net.Tests.Analysis.Phonetic/Lucene.Net.Tests.Analysis.Phonetic.csproj
index a8687fb..8584dbe 100644
--- a/src/Lucene.Net.Tests.Analysis.Phonetic/Lucene.Net.Tests.Analysis.Phonetic.csproj
+++ b/src/Lucene.Net.Tests.Analysis.Phonetic/Lucene.Net.Tests.Analysis.Phonetic.csproj
@@ -47,14 +47,7 @@
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
-  </ItemGroup>
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
     <DefineConstants>$(DefineConstants);NETSTANDARD</DefineConstants>
diff --git a/src/Lucene.Net.Tests.Analysis.SmartCn/Lucene.Net.Tests.Analysis.SmartCn.csproj b/src/Lucene.Net.Tests.Analysis.SmartCn/Lucene.Net.Tests.Analysis.SmartCn.csproj
index cbc3d35..87e339d 100644
--- a/src/Lucene.Net.Tests.Analysis.SmartCn/Lucene.Net.Tests.Analysis.SmartCn.csproj
+++ b/src/Lucene.Net.Tests.Analysis.SmartCn/Lucene.Net.Tests.Analysis.SmartCn.csproj
@@ -47,17 +47,10 @@
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
-  </ItemGroup>
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
   
   <!--<ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
-    <PackageReference Include="System.Net.Primitives" Version="4.3.0" />
+    <PackageReference Include="System.Net.Primitives" Version="$(SystemNetPrimitivesPackageVersion)" />
   </ItemGroup>-->
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
@@ -65,7 +58,7 @@
   </PropertyGroup>
 
   <ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">
-    <PackageReference Include="System.Net.Primitives" Version="4.3.0" />
+    <PackageReference Include="System.Net.Primitives" Version="$(SystemNetPrimitivesPackageVersion)" />
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">
diff --git a/src/Lucene.Net.Tests.Analysis.Stempel/Lucene.Net.Tests.Analysis.Stempel.csproj b/src/Lucene.Net.Tests.Analysis.Stempel/Lucene.Net.Tests.Analysis.Stempel.csproj
index 1855b82..522db08 100644
--- a/src/Lucene.Net.Tests.Analysis.Stempel/Lucene.Net.Tests.Analysis.Stempel.csproj
+++ b/src/Lucene.Net.Tests.Analysis.Stempel/Lucene.Net.Tests.Analysis.Stempel.csproj
@@ -48,14 +48,7 @@
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
-  </ItemGroup>
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
     <DebugType>portable</DebugType>
diff --git a/src/Lucene.Net.Tests.Benchmark/Lucene.Net.Tests.Benchmark.csproj b/src/Lucene.Net.Tests.Benchmark/Lucene.Net.Tests.Benchmark.csproj
index ae8a4bd..b313765 100644
--- a/src/Lucene.Net.Tests.Benchmark/Lucene.Net.Tests.Benchmark.csproj
+++ b/src/Lucene.Net.Tests.Benchmark/Lucene.Net.Tests.Benchmark.csproj
@@ -50,15 +50,11 @@
     <ProjectReference Include="..\Lucene.Net.Highlighter\Lucene.Net.Highlighter.csproj" />
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
+  
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
 
   <ItemGroup>
-    <PackageReference Include="icu.net" Version="54.1.1-alpha" />
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
+    <PackageReference Include="icu.net" Version="$(IcuNetPackageVersion)" />
   </ItemGroup>
   
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
@@ -66,7 +62,7 @@
   </PropertyGroup>
 
   <ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">
-    <PackageReference Include="System.Net.Primitives" Version="4.3.0" />
+    <PackageReference Include="System.Net.Primitives" Version="$(SystemNetPrimitivesPackageVersion)" />
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">
diff --git a/src/Lucene.Net.Tests.Classification/Lucene.Net.Tests.Classification.csproj b/src/Lucene.Net.Tests.Classification/Lucene.Net.Tests.Classification.csproj
index 21a2171..c52fe26 100644
--- a/src/Lucene.Net.Tests.Classification/Lucene.Net.Tests.Classification.csproj
+++ b/src/Lucene.Net.Tests.Classification/Lucene.Net.Tests.Classification.csproj
@@ -48,14 +48,7 @@
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
-  </ItemGroup>
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
     <DebugType>portable</DebugType>
diff --git a/src/Lucene.Net.Tests.Codecs/Lucene.Net.Tests.Codecs.csproj b/src/Lucene.Net.Tests.Codecs/Lucene.Net.Tests.Codecs.csproj
index 00aa964..79d2449 100644
--- a/src/Lucene.Net.Tests.Codecs/Lucene.Net.Tests.Codecs.csproj
+++ b/src/Lucene.Net.Tests.Codecs/Lucene.Net.Tests.Codecs.csproj
@@ -48,14 +48,7 @@
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
-  </ItemGroup>
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
     <DefineConstants>$(DefineConstants);NETSTANDARD</DefineConstants>
diff --git a/src/Lucene.Net.Tests.Demo/Lucene.Net.Tests.Demo.csproj b/src/Lucene.Net.Tests.Demo/Lucene.Net.Tests.Demo.csproj
index 375e7d2..67a924d 100644
--- a/src/Lucene.Net.Tests.Demo/Lucene.Net.Tests.Demo.csproj
+++ b/src/Lucene.Net.Tests.Demo/Lucene.Net.Tests.Demo.csproj
@@ -48,14 +48,7 @@
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
-  </ItemGroup>
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
     <DebugType>portable</DebugType>
diff --git a/src/Lucene.Net.Tests.Expressions/Lucene.Net.Tests.Expressions.csproj b/src/Lucene.Net.Tests.Expressions/Lucene.Net.Tests.Expressions.csproj
index 71daf18..2a66b0b 100644
--- a/src/Lucene.Net.Tests.Expressions/Lucene.Net.Tests.Expressions.csproj
+++ b/src/Lucene.Net.Tests.Expressions/Lucene.Net.Tests.Expressions.csproj
@@ -48,14 +48,7 @@
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
-  </ItemGroup>
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
     <DebugType>portable</DebugType>
diff --git a/src/Lucene.Net.Tests.Facet/Lucene.Net.Tests.Facet.csproj b/src/Lucene.Net.Tests.Facet/Lucene.Net.Tests.Facet.csproj
index 6e06b72..bee0686 100644
--- a/src/Lucene.Net.Tests.Facet/Lucene.Net.Tests.Facet.csproj
+++ b/src/Lucene.Net.Tests.Facet/Lucene.Net.Tests.Facet.csproj
@@ -48,14 +48,7 @@
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
-  </ItemGroup>
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
     <DefineConstants>$(DefineConstants);FEATURE_THREAD_PRIORITY</DefineConstants>
diff --git a/src/Lucene.Net.Tests.Grouping/Lucene.Net.Tests.Grouping.csproj b/src/Lucene.Net.Tests.Grouping/Lucene.Net.Tests.Grouping.csproj
index 44924ec..11527c0 100644
--- a/src/Lucene.Net.Tests.Grouping/Lucene.Net.Tests.Grouping.csproj
+++ b/src/Lucene.Net.Tests.Grouping/Lucene.Net.Tests.Grouping.csproj
@@ -48,14 +48,7 @@
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
-  </ItemGroup>
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
     <DebugType>portable</DebugType>
diff --git a/src/Lucene.Net.Tests.Highlighter/Lucene.Net.Tests.Highlighter.csproj b/src/Lucene.Net.Tests.Highlighter/Lucene.Net.Tests.Highlighter.csproj
index b7ae873..6cfd595 100644
--- a/src/Lucene.Net.Tests.Highlighter/Lucene.Net.Tests.Highlighter.csproj
+++ b/src/Lucene.Net.Tests.Highlighter/Lucene.Net.Tests.Highlighter.csproj
@@ -49,21 +49,14 @@
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
-  </ItemGroup>
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
     <DebugType>portable</DebugType>
   </PropertyGroup>
 
   <ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">
-    <PackageReference Include="System.Xml.XmlDocument" Version="4.3.0" />
+    <PackageReference Include="System.Xml.XmlDocument" Version="$(SystemXmlXmlDocumentPackageVersion)" />
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">
diff --git a/src/Lucene.Net.Tests.Join/Lucene.Net.Tests.Join.csproj b/src/Lucene.Net.Tests.Join/Lucene.Net.Tests.Join.csproj
index a1a0f26..6a1f46f 100644
--- a/src/Lucene.Net.Tests.Join/Lucene.Net.Tests.Join.csproj
+++ b/src/Lucene.Net.Tests.Join/Lucene.Net.Tests.Join.csproj
@@ -48,14 +48,7 @@
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
-  </ItemGroup>
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
     <DebugType>portable</DebugType>
diff --git a/src/Lucene.Net.Tests.Memory/Lucene.Net.Tests.Memory.csproj b/src/Lucene.Net.Tests.Memory/Lucene.Net.Tests.Memory.csproj
index e562a58..4b1235b 100644
--- a/src/Lucene.Net.Tests.Memory/Lucene.Net.Tests.Memory.csproj
+++ b/src/Lucene.Net.Tests.Memory/Lucene.Net.Tests.Memory.csproj
@@ -49,14 +49,7 @@
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
-  </ItemGroup>
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
     <DebugType>portable</DebugType>
diff --git a/src/Lucene.Net.Tests.Misc/Lucene.Net.Tests.Misc.csproj b/src/Lucene.Net.Tests.Misc/Lucene.Net.Tests.Misc.csproj
index ac42151..5edf464 100644
--- a/src/Lucene.Net.Tests.Misc/Lucene.Net.Tests.Misc.csproj
+++ b/src/Lucene.Net.Tests.Misc/Lucene.Net.Tests.Misc.csproj
@@ -47,14 +47,7 @@
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
-  </ItemGroup>
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
     <DebugType>portable</DebugType>
diff --git a/src/Lucene.Net.Tests.Queries/Lucene.Net.Tests.Queries.csproj b/src/Lucene.Net.Tests.Queries/Lucene.Net.Tests.Queries.csproj
index 79302f8..4575b4e 100644
--- a/src/Lucene.Net.Tests.Queries/Lucene.Net.Tests.Queries.csproj
+++ b/src/Lucene.Net.Tests.Queries/Lucene.Net.Tests.Queries.csproj
@@ -47,14 +47,7 @@
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
-  </ItemGroup>
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
     <DebugType>portable</DebugType>
diff --git a/src/Lucene.Net.Tests.QueryParser/Lucene.Net.Tests.QueryParser.csproj b/src/Lucene.Net.Tests.QueryParser/Lucene.Net.Tests.QueryParser.csproj
index 8c0fe07..f14328c 100644
--- a/src/Lucene.Net.Tests.QueryParser/Lucene.Net.Tests.QueryParser.csproj
+++ b/src/Lucene.Net.Tests.QueryParser/Lucene.Net.Tests.QueryParser.csproj
@@ -49,14 +49,7 @@
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
-  </ItemGroup>
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
     <DebugType>portable</DebugType>
diff --git a/src/Lucene.Net.Tests.Replicator/Lucene.Net.Tests.Replicator.csproj b/src/Lucene.Net.Tests.Replicator/Lucene.Net.Tests.Replicator.csproj
index 22cd711..ecb3ace 100644
--- a/src/Lucene.Net.Tests.Replicator/Lucene.Net.Tests.Replicator.csproj
+++ b/src/Lucene.Net.Tests.Replicator/Lucene.Net.Tests.Replicator.csproj
@@ -47,16 +47,12 @@
     <ProjectReference Include="..\dotnet\Lucene.Net.Replicator.AspNetCore\Lucene.Net.Replicator.AspNetCore.csproj" />
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
+  
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.TestHost" Version="1.0.3" />
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
+    <PackageReference Include="Microsoft.AspNetCore.TestHost" Version="$(MicrosoftAspNetCoreTestHostPackageVersion)" />
+    <PackageReference Include="Newtonsoft.Json" Version="$(NewtonsoftJsonPackageVersion)" />
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
diff --git a/src/Lucene.Net.Tests.Sandbox/Lucene.Net.Tests.Sandbox.csproj b/src/Lucene.Net.Tests.Sandbox/Lucene.Net.Tests.Sandbox.csproj
index 2e756f3..21322d3 100644
--- a/src/Lucene.Net.Tests.Sandbox/Lucene.Net.Tests.Sandbox.csproj
+++ b/src/Lucene.Net.Tests.Sandbox/Lucene.Net.Tests.Sandbox.csproj
@@ -49,14 +49,7 @@
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
-  </ItemGroup>
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
     <DebugType>portable</DebugType>
diff --git a/src/Lucene.Net.Tests.Spatial/Lucene.Net.Tests.Spatial.csproj b/src/Lucene.Net.Tests.Spatial/Lucene.Net.Tests.Spatial.csproj
index d28f8f0..047145a 100644
--- a/src/Lucene.Net.Tests.Spatial/Lucene.Net.Tests.Spatial.csproj
+++ b/src/Lucene.Net.Tests.Spatial/Lucene.Net.Tests.Spatial.csproj
@@ -47,16 +47,12 @@
     <ProjectReference Include="..\Lucene.Net.Spatial\Lucene.Net.Spatial.csproj" />
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
+  
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <PackageReference Include="Spatial4n.Core" Version="0.4.1-beta00007" />
-    <PackageReference Include="Spatial4n.Core.NTS" Version="0.4.1-beta00007" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
+    <PackageReference Include="Spatial4n.Core" Version="$(Spatial4nCorePackageVersion)" />
+    <PackageReference Include="Spatial4n.Core.NTS" Version="$(Spatial4nCoreNTSPackageVersion)" />
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
@@ -64,7 +60,7 @@
   </PropertyGroup>
 
   <ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">
-    <PackageReference Include="System.Net.Primitives" Version="4.3.0" />
+    <PackageReference Include="System.Net.Primitives" Version="$(SystemNetPrimitivesPackageVersion)" />
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">
diff --git a/src/Lucene.Net.Tests.Suggest/Lucene.Net.Tests.Suggest.csproj b/src/Lucene.Net.Tests.Suggest/Lucene.Net.Tests.Suggest.csproj
index 6938c79..9beb24f 100644
--- a/src/Lucene.Net.Tests.Suggest/Lucene.Net.Tests.Suggest.csproj
+++ b/src/Lucene.Net.Tests.Suggest/Lucene.Net.Tests.Suggest.csproj
@@ -50,14 +50,7 @@
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
-  </ItemGroup>
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
     <DefineConstants>$(DefineConstants);FEATURE_THREAD_PRIORITY</DefineConstants>
diff --git a/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj b/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj
index 82ff392..d8dc3a4 100644
--- a/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj
+++ b/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj
@@ -54,14 +54,7 @@
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
-  </ItemGroup>
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
     <DefineConstants>$(DefineConstants);NETSTANDARD;FEATURE_CONCURRENTMERGESCHEDULER;FEATURE_SERIALIZABLE</DefineConstants>
diff --git a/src/Lucene.Net/Lucene.Net.csproj b/src/Lucene.Net/Lucene.Net.csproj
index a660f0d..b988d57 100644
--- a/src/Lucene.Net/Lucene.Net.csproj
+++ b/src/Lucene.Net/Lucene.Net.csproj
@@ -42,22 +42,22 @@
   </ItemGroup>
 
   <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
-    <PackageReference Include="Microsoft.CSharp" Version="4.4.0" />
+    <PackageReference Include="Microsoft.CSharp" Version="$(MicrosoftCSharpPackageVersion)" />
   </ItemGroup>
   
   <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">
-    <PackageReference Include="Microsoft.CSharp" Version="4.4.0" />
-    <PackageReference Include="Microsoft.Extensions.DependencyModel" Version="2.0.0" />
-    <PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
-    <PackageReference Include="System.Collections.NonGeneric" Version="4.3.0" />
-    <PackageReference Include="System.Collections.Specialized" Version="4.3.0" />
-    <PackageReference Include="System.Diagnostics.Process" Version="4.3.0" />
-    <PackageReference Include="System.Diagnostics.TraceSource" Version="4.3.0" />
-    <PackageReference Include="System.IO.MemoryMappedFiles" Version="4.3.0" />
-    <PackageReference Include="System.Net.NameResolution" Version="4.3.0" />
-    <PackageReference Include="System.Net.Sockets" Version="4.3.0" />
-    <PackageReference Include="System.Threading.Thread" Version="4.3.0" />
-    <PackageReference Include="System.Threading.ThreadPool" Version="4.3.0" />
+    <PackageReference Include="Microsoft.CSharp" Version="$(MicrosoftCSharpPackageVersion)" />
+    <PackageReference Include="Microsoft.Extensions.DependencyModel" Version="$(MicrosoftExtensionsDependencyModelPackageVersion)" />
+    <PackageReference Include="Newtonsoft.Json" Version="$(NewtonsoftJsonPackageVersion)" />
+    <PackageReference Include="System.Collections.NonGeneric" Version="$(SystemCollectionsNonGenericPackageVersion)" />
+    <PackageReference Include="System.Collections.Specialized" Version="$(SystemCollectionsSpecializedPackageVersion)" />
+    <PackageReference Include="System.Diagnostics.Process" Version="$(SystemDiagnosticsProcessPackageVersion)" />
+    <PackageReference Include="System.Diagnostics.TraceSource" Version="$(SystemDiagnosticsTraceSourcePackageVersion)" />
+    <PackageReference Include="System.IO.MemoryMappedFiles" Version="$(SystemIOMemoryMappedFilesPackageVersion)" />
+    <PackageReference Include="System.Net.NameResolution" Version="$(SystemNetNameResolutionPackageVersion)" />
+    <PackageReference Include="System.Net.Sockets" Version="$(SystemNetSocketsPackageVersion)" />
+    <PackageReference Include="System.Threading.Thread" Version="$(SystemThreadingThreadPackageVersion)" />
+    <PackageReference Include="System.Threading.ThreadPool" Version="$(SystemThreadingThreadPoolPackageVersion)" />
   </ItemGroup>
 
   <!-- NOTE: Microsoft's recommendation is not to use the ICloneable interface. We put in a FEATURE_CLONEABLE constant in case anyone wants to add it to the build -->
diff --git a/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj b/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
index 69b9802..2607d48 100644
--- a/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
+++ b/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
@@ -59,7 +59,7 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="icu.net" Version="54.1.1-alpha" />
+    <PackageReference Include="icu.net" Version="$(IcuNetPackageVersion)" />
   </ItemGroup>
 
   <!-- NOTE: Microsoft's recommendation is not to use the ICloneable interface. We put in a FEATURE_CLONEABLE constant in case anyone wants to add it to the build -->
@@ -69,8 +69,8 @@
   </PropertyGroup>-->
 
   <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">
-    <PackageReference Include="System.Globalization" Version="4.3.0" />
-    <PackageReference Include="System.Net.Primitives" Version="4.3.0" />
+    <PackageReference Include="System.Globalization" Version="$(SystemGlobalizationPackageVersion)" />
+    <PackageReference Include="System.Net.Primitives" Version="$(SystemNetPrimitivesPackageVersion)" />
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">
diff --git a/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj b/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
index 002ddf9..df124a8 100644
--- a/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
+++ b/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
@@ -48,7 +48,7 @@
   </ItemGroup>
   
   <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="1.0.3" />
+    <PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="$(MicrosoftAspNetCoreHttpAbstractionsPackageVersion)" />
   </ItemGroup>
 
   <!--<PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
diff --git a/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj b/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj
index 8bae0a0..16d50ca 100644
--- a/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj
+++ b/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj
@@ -60,19 +60,15 @@
     <ProjectReference Include="..\..\Lucene.Net.Tests.Analysis.Common\Lucene.Net.Tests.Analysis.Common.csproj" />
   </ItemGroup>
 
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
+
   <ItemGroup>
-    <PackageReference Include="icu.net" Version="54.1.1-alpha" />
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
+    <PackageReference Include="icu.net" Version="$(IcuNetPackageVersion)" />
   </ItemGroup>
 
   <ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">
-    <PackageReference Include="System.Net.Primitives" Version="4.3.0" />
-    <PackageReference Include="System.Xml.XmlDocument" Version="4.3.0" />
+    <PackageReference Include="System.Net.Primitives" Version="$(SystemNetPrimitivesPackageVersion)" />
+    <PackageReference Include="System.Xml.XmlDocument" Version="$(SystemXmlXmlDocumentPackageVersion)" />
   </ItemGroup>
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
diff --git a/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj b/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj
index 48e3774..3fec7de 100644
--- a/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj
+++ b/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj
@@ -45,14 +45,7 @@
     <ProjectReference Include="..\..\..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="NUnit" Version="3.8.1" />
-    <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
-    <!-- Required by NUnit3TestAdapter on .NET Core -->
-    <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
-    <PackageReference Include="TeamCity.VSTest.TestAdapter" Version="1.0.5" />
-  </ItemGroup>
+  <Import Project="$(SolutionDir)build/TestReferences.Common.targets" />
 
   <PropertyGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">
     <DebugType>portable</DebugType>


[lucenenet] 21/29: Added strong naming to Lucene.Net assemblies

Posted by ni...@apache.org.
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 066d2c7f1a496cd484207ee7664aeeabf57ae117
Author: Aaron Meyers <13...@users.noreply.github.com>
AuthorDate: Fri Jul 5 17:29:14 2019 -0700

    Added strong naming to Lucene.Net assemblies
---
 Version.proj                                       |  3 ++
 src/CommonAssemblyKeys.cs                          | 32 +++++++++++++
 .../Lucene.Net.Analysis.Common.csproj              |  1 +
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Analysis.Kuromoji.csproj            |  1 +
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Analysis.Phonetic.csproj            |  1 +
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Analysis.Stempel.csproj             |  1 +
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Benchmark.csproj                    |  1 +
 .../Properties/AssemblyInfo.cs                     |  2 +-
 src/Lucene.Net.Demo/Lucene.Net.Demo.csproj         |  1 +
 src/Lucene.Net.Demo/Properties/AssemblyInfo.cs     |  4 +-
 src/Lucene.Net.Facet/Lucene.Net.Facet.csproj       |  1 +
 src/Lucene.Net.Facet/Properties/AssemblyInfo.cs    |  2 +-
 .../Lucene.Net.Highlighter.csproj                  |  1 +
 .../Properties/AssemblyInfo.cs                     |  6 +--
 src/Lucene.Net.Join/Lucene.Net.Join.csproj         |  1 +
 src/Lucene.Net.Join/Properties/AssemblyInfo.cs     |  2 +-
 src/Lucene.Net.Memory/Lucene.Net.Memory.csproj     |  1 +
 src/Lucene.Net.Memory/Properties/AssemblyInfo.cs   |  2 +-
 src/Lucene.Net.Misc/Properties/AssemblyInfo.cs     |  2 +-
 .../Lucene.Net.QueryParser.csproj                  |  2 +-
 .../Properties/AssemblyInfo.cs                     |  2 +-
 src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj   |  1 +
 src/Lucene.Net.Spatial/Properties/AssemblyInfo.cs  |  4 +-
 src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj   |  1 +
 src/Lucene.Net.Suggest/Properties/AssemblyInfo.cs  |  2 +-
 .../Properties/AssemblyInfo.cs                     | 14 ++----
 src/Lucene.Net.Tests/Properties/AssemblyInfo.cs    | 32 +------------
 src/Lucene.Net/Lucene.Net.csproj                   |  1 +
 src/Lucene.Net/Properties/AssemblyInfo.cs          | 53 ++++------------------
 .../LuceneDocsPlugins/LuceneDocsPlugins.csproj     |  3 +-
 src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj    |  5 ++
 .../Lucene.Net.ICU/Properties/AssemblyInfo.cs      |  2 +-
 .../Lucene.Net.Replicator.AspNetCore.csproj        |  5 ++
 .../Lucene.Net.Tests.ICU.csproj                    |  6 +++
 .../Lucene.Net.Tests.Cli.csproj                    |  5 ++
 src/dotnet/tools/lucene-cli/lucene-cli.csproj      |  5 ++
 40 files changed, 108 insertions(+), 108 deletions(-)

diff --git a/Version.proj b/Version.proj
index d603e38..95aa8e4 100644
--- a/Version.proj
+++ b/Version.proj
@@ -31,6 +31,9 @@
     <!-- .NET enforces AssemblyVersion as the "major" version (when strong-named),
       so AssemblyVersion should only be changed for each major version release. -->
     <AssemblyVersion>4.0.0</AssemblyVersion>
+
+    <AssemblyOriginatorKeyFile>..\..\Lucene.Net.snk</AssemblyOriginatorKeyFile>
+    <SignAssembly>true</SignAssembly>
   </PropertyGroup>
 
 </Project>
diff --git a/src/CommonAssemblyKeys.cs b/src/CommonAssemblyKeys.cs
new file mode 100644
index 0000000..93f77a4
--- /dev/null
+++ b/src/CommonAssemblyKeys.cs
@@ -0,0 +1,32 @@
+/*
+ * 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.
+ */
+
+using System;
+using System.Reflection;
+
+namespace Lucene.Net
+{
+    internal static class AssemblyKeys
+    {
+        internal const string PublicKey =
+            "002400000480000094000000060200000024000052534131000400000100010075a07ce602f88e" +
+            "f263c7db8cb342c58ebd49ecdcc210fac874260b0213fb929ac3dcaf4f5b39744b800f99073eca" +
+            "72aebfac5f7284e1d5f2c82012a804a140f06d7d043d83e830cdb606a04da2ad5374cc92c0a495" +
+            "08437802fb4f8fb80a05e59f80afb99f4ccd0dfe44065743543c4b053b669509d29d332cd32a0c" +
+            "b1e97e84";
+    }
+}
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 6181134..c6d065d 100644
--- a/src/Lucene.Net.Analysis.Common/Lucene.Net.Analysis.Common.csproj
+++ b/src/Lucene.Net.Analysis.Common/Lucene.Net.Analysis.Common.csproj
@@ -39,6 +39,7 @@
 
   <ItemGroup>
     <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
+    <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
     <EmbeddedResource Include="Analysis\Gl\galician.rslp;Analysis\Pt\portuguese.rslp;Analysis\Compound\Hyphenation\hyphenation.dtd" />
     <EmbeddedResource Include="Analysis\**\stopwords.txt;Analysis\Snowball\*_stop.txt" Exclude="bin\**;obj\**;**\*.xproj;packages\**;@(EmbeddedResource)" />
   </ItemGroup>
diff --git a/src/Lucene.Net.Analysis.Common/Properties/AssemblyInfo.cs b/src/Lucene.Net.Analysis.Common/Properties/AssemblyInfo.cs
index 1ee963e..e0f1967 100644
--- a/src/Lucene.Net.Analysis.Common/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Analysis.Common/Properties/AssemblyInfo.cs
@@ -41,7 +41,7 @@ using System.Runtime.InteropServices;
 [assembly: Guid("f57314a7-e71f-4b3c-860f-564046ca398b")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Common")]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Common, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
 
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 56fb664..d11040f 100644
--- a/src/Lucene.Net.Analysis.Kuromoji/Lucene.Net.Analysis.Kuromoji.csproj
+++ b/src/Lucene.Net.Analysis.Kuromoji/Lucene.Net.Analysis.Kuromoji.csproj
@@ -39,6 +39,7 @@
 
   <ItemGroup>
     <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
+    <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
     <EmbeddedResource Include="stoptags.txt;stopwords.txt;Dict\CharacterDefinition.dat;Dict\ConnectionCosts.dat;Dict\TokenInfoDictionary$buffer.dat;Dict\TokenInfoDictionary$fst.dat;Dict\TokenInfoDictionary$posDict.dat;Dict\TokenInfoDictionary$targetMap.dat;Dict\UnknownDictionary$buffer.dat;Dict\UnknownDictionary$posDict.dat;Dict\UnknownDictionary$targetMap.dat" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Analysis.Kuromoji/Properties/AssemblyInfo.cs b/src/Lucene.Net.Analysis.Kuromoji/Properties/AssemblyInfo.cs
index d0ce578..854d7b2 100644
--- a/src/Lucene.Net.Analysis.Kuromoji/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Analysis.Kuromoji/Properties/AssemblyInfo.cs
@@ -37,6 +37,6 @@ using System.Runtime.InteropServices;
 [assembly: Guid("8408625a-2508-46d5-8519-045183c43724")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Kuromoji")]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Kuromoji, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
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 2134c48..e3b5b48 100644
--- a/src/Lucene.Net.Analysis.Phonetic/Lucene.Net.Analysis.Phonetic.csproj
+++ b/src/Lucene.Net.Analysis.Phonetic/Lucene.Net.Analysis.Phonetic.csproj
@@ -39,6 +39,7 @@
 
   <ItemGroup>
     <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
+    <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
     <EmbeddedResource Include="Language\Bm\lang.txt;Language\dmrules.txt" />
     <EmbeddedResource Include="Language\Bm\ash_*.txt;Language\Bm\gen_*.txt;Language\Bm\sep_*.txt" Exclude="bin\**;obj\**;**\*.xproj;packages\**;@(EmbeddedResource)" />
   </ItemGroup>
diff --git a/src/Lucene.Net.Analysis.Phonetic/Properties/AssemblyInfo.cs b/src/Lucene.Net.Analysis.Phonetic/Properties/AssemblyInfo.cs
index 2d29c54..476697e 100644
--- a/src/Lucene.Net.Analysis.Phonetic/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Analysis.Phonetic/Properties/AssemblyInfo.cs
@@ -41,6 +41,6 @@ using System.Runtime.InteropServices;
 [assembly: Guid("dafe3b64-616a-4a2f-90e5-1f135e8a9af5")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Phonetic")]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Phonetic, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
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 0d90b9a..b416a2a 100644
--- a/src/Lucene.Net.Analysis.Stempel/Lucene.Net.Analysis.Stempel.csproj
+++ b/src/Lucene.Net.Analysis.Stempel/Lucene.Net.Analysis.Stempel.csproj
@@ -39,6 +39,7 @@
 
   <ItemGroup>
     <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
+    <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
     <EmbeddedResource Include="Pl\stemmer_20000.tbl;Pl\stopwords.txt" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Analysis.Stempel/Properties/AssemblyInfo.cs b/src/Lucene.Net.Analysis.Stempel/Properties/AssemblyInfo.cs
index 4484db9..ddd35ba 100644
--- a/src/Lucene.Net.Analysis.Stempel/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Analysis.Stempel/Properties/AssemblyInfo.cs
@@ -41,6 +41,6 @@ using System.Runtime.InteropServices;
 [assembly: Guid("a76dad88-e3a5-40f9-9114-facd77bd8265")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Stempel")]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Stempel, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj b/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
index 4e18828..8da8f85 100644
--- a/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
+++ b/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
@@ -40,6 +40,7 @@
 
   <ItemGroup>
     <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
+    <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Benchmark/Properties/AssemblyInfo.cs b/src/Lucene.Net.Benchmark/Properties/AssemblyInfo.cs
index 603d4df..bf31b4e 100644
--- a/src/Lucene.Net.Benchmark/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Benchmark/Properties/AssemblyInfo.cs
@@ -38,6 +38,6 @@ using System.Runtime.InteropServices;
 [assembly: Guid("edc77cb4-597f-4818-8c83-3c006d12c384")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Benchmark")]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Benchmark, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj b/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj
index 5da9ec0..9655551 100644
--- a/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj
+++ b/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj
@@ -39,6 +39,7 @@
 
   <ItemGroup>
     <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
+    <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Demo/Properties/AssemblyInfo.cs b/src/Lucene.Net.Demo/Properties/AssemblyInfo.cs
index 8b3e8fe..11f866a 100644
--- a/src/Lucene.Net.Demo/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Demo/Properties/AssemblyInfo.cs
@@ -33,7 +33,7 @@ using System.Runtime.InteropServices;
 [assembly: CLSCompliant(true)]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Demo")]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Demo, PublicKey=" + Lucene.Net.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
@@ -43,4 +43,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("4bcd7980-0cf4-4da0-b069-f555a41cb44d")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
\ No newline at end of file
+// NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj b/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
index c08029f..f5057f8 100644
--- a/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
+++ b/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
@@ -39,6 +39,7 @@
 
   <ItemGroup>
     <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
+    <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Facet/Properties/AssemblyInfo.cs b/src/Lucene.Net.Facet/Properties/AssemblyInfo.cs
index 3bd2adf..d6a3f8c 100644
--- a/src/Lucene.Net.Facet/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Facet/Properties/AssemblyInfo.cs
@@ -41,6 +41,6 @@ using System.Runtime.InteropServices;
 [assembly: Guid("8dd11ab2-c5b3-4691-99da-2941f27e0e10")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Facet")]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Facet, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj b/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
index 005c807..90b1f91 100644
--- a/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
+++ b/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
@@ -39,6 +39,7 @@
 
   <ItemGroup>
     <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
+    <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Highlighter/Properties/AssemblyInfo.cs b/src/Lucene.Net.Highlighter/Properties/AssemblyInfo.cs
index e5680bf..94ed833 100644
--- a/src/Lucene.Net.Highlighter/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Highlighter/Properties/AssemblyInfo.cs
@@ -40,9 +40,9 @@ 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")]
+[assembly: InternalsVisibleTo("Lucene.Net.ICU, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Highlighter")]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.ICU")]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Highlighter, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.ICU, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.Join/Lucene.Net.Join.csproj b/src/Lucene.Net.Join/Lucene.Net.Join.csproj
index 09843d5..e0bf1b9 100644
--- a/src/Lucene.Net.Join/Lucene.Net.Join.csproj
+++ b/src/Lucene.Net.Join/Lucene.Net.Join.csproj
@@ -39,6 +39,7 @@
 
   <ItemGroup>
     <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
+    <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Join/Properties/AssemblyInfo.cs b/src/Lucene.Net.Join/Properties/AssemblyInfo.cs
index e7a72eb..3898fdc 100644
--- a/src/Lucene.Net.Join/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Join/Properties/AssemblyInfo.cs
@@ -41,6 +41,6 @@ using System.Runtime.InteropServices;
 [assembly: Guid("e8a339c7-fcf6-4a72-8586-56d8961d7b99")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Join")]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Join, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj b/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj
index 41d4b2c..8d9e526 100644
--- a/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj
+++ b/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj
@@ -39,6 +39,7 @@
 
   <ItemGroup>
     <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
+    <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Memory/Properties/AssemblyInfo.cs b/src/Lucene.Net.Memory/Properties/AssemblyInfo.cs
index 2e5d31c..2c9e42d 100644
--- a/src/Lucene.Net.Memory/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Memory/Properties/AssemblyInfo.cs
@@ -41,6 +41,6 @@ using System.Runtime.InteropServices;
 [assembly: Guid("ca052094-4c45-44d7-9dcf-3d46ae6930fe")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Memory")]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Memory, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.Misc/Properties/AssemblyInfo.cs b/src/Lucene.Net.Misc/Properties/AssemblyInfo.cs
index 34e0c50..99098d6 100644
--- a/src/Lucene.Net.Misc/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Misc/Properties/AssemblyInfo.cs
@@ -41,6 +41,6 @@ using System.Runtime.InteropServices;
 [assembly: Guid("b2a3a8e1-a92a-4bd6-9f87-7747470615c3")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Misc")]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Misc, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj b/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
index f9c2cd1..6b1c28d 100644
--- a/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
+++ b/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
@@ -38,7 +38,7 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
+    <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
   </ItemGroup>
   
   <ItemGroup>
diff --git a/src/Lucene.Net.QueryParser/Properties/AssemblyInfo.cs b/src/Lucene.Net.QueryParser/Properties/AssemblyInfo.cs
index 67f8a81..d39a8f7 100644
--- a/src/Lucene.Net.QueryParser/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.QueryParser/Properties/AssemblyInfo.cs
@@ -41,6 +41,6 @@ using System.Runtime.InteropServices;
 [assembly: Guid("7c58cf05-89dd-4c02-a948-c28cdaf05247")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.QueryParser")]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.QueryParser, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj b/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
index 04ba8b1..026a71f 100644
--- a/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
+++ b/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
@@ -39,6 +39,7 @@
 
   <ItemGroup>
     <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
+    <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Spatial/Properties/AssemblyInfo.cs b/src/Lucene.Net.Spatial/Properties/AssemblyInfo.cs
index b72e8a0..0b66524 100644
--- a/src/Lucene.Net.Spatial/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Spatial/Properties/AssemblyInfo.cs
@@ -38,6 +38,6 @@ using System.Security;
 [assembly: Guid("5c8e810f-4bf7-472f-9785-8d80a0de6ea8")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Spatial")]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Spatial, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
\ No newline at end of file
+// NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj b/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj
index 10cba03..155771b 100644
--- a/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj
+++ b/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj
@@ -39,6 +39,7 @@
 
   <ItemGroup>
     <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
+    <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Suggest/Properties/AssemblyInfo.cs b/src/Lucene.Net.Suggest/Properties/AssemblyInfo.cs
index e11e596..091808c 100644
--- a/src/Lucene.Net.Suggest/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Suggest/Properties/AssemblyInfo.cs
@@ -41,6 +41,6 @@ using System.Runtime.InteropServices;
 [assembly: Guid("0e1499f7-850e-4583-8994-623eb2480200")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Suggest")]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Suggest, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.TestFramework/Properties/AssemblyInfo.cs b/src/Lucene.Net.TestFramework/Properties/AssemblyInfo.cs
index 073e9e7..5613ccf 100644
--- a/src/Lucene.Net.TestFramework/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.TestFramework/Properties/AssemblyInfo.cs
@@ -37,18 +37,10 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("5f36e3cf-82ac-4d97-af1a-6dabe60e9180")]
 
-// for testing
-//[assembly: InternalsVisibleTo("Lucene.Net.Tests, PublicKey=002400000480000094000000060200000024000052534131000400000100010075a07ce602f88e" +
-//                                                         "f263c7db8cb342c58ebd49ecdcc210fac874260b0213fb929ac3dcaf4f5b39744b800f99073eca" +
-//                                                         "72aebfac5f7284e1d5f2c82012a804a140f06d7d043d83e830cdb606a04da2ad5374cc92c0a495" +
-//                                                         "08437802fb4f8fb80a05e59f80afb99f4ccd0dfe44065743543c4b053b669509d29d332cd32a0c" +
-//                                                         "b1e97e84")]
-
-// LUCENENET NOTE: For now it is not possible to use a SNK because we have unmanaged references in Analysis.Common.
-// However, we still need InternalsVisibleTo in order to prevent making everything public just for the sake of testing.
+// However, 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.
-[assembly: InternalsVisibleTo("Lucene.Net.Tests")]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Misc")]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Misc, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.Tests/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests/Properties/AssemblyInfo.cs
index c319ec5..9c5888e 100644
--- a/src/Lucene.Net.Tests/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests/Properties/AssemblyInfo.cs
@@ -31,36 +31,6 @@ using System.Runtime.CompilerServices;
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
 
-//
-// In order to sign your assembly you must specify a key to use. Refer to the 
-// Microsoft .NET Framework documentation for more information on assembly signing.
-//
-// Use the attributes below to control which key is used for signing. 
-//
-// Notes: 
-//   (*) If no key is specified, the assembly is not signed.
-//   (*) KeyName refers to a key that has been installed in the Crypto Service
-//       Provider (CSP) on your machine. KeyFile refers to a file which contains
-//       a key.
-//   (*) If the KeyFile and the KeyName values are both specified, the 
-//       following processing occurs:
-//       (1) If the KeyName can be found in the CSP, that key is used.
-//       (2) If the KeyName does not exist and the KeyFile does exist, the key 
-//           in the KeyFile is installed into the CSP and used.
-//   (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
-//       When specifying the KeyFile, the location of the KeyFile should be
-//       relative to the project output directory which is
-//       %Project Directory%\obj\<configuration>. For example, if your KeyFile is
-//       located in the project directory, you would specify the AssemblyKeyFile 
-//       attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
-//   (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
-//       documentation for more information on this.
-//
-[assembly: AssemblyDelaySign(false)]
-[assembly: AssemblyKeyFile("")]
-[assembly: AssemblyKeyName("")]
-
-
 // LUCENENET specific - only allow tests in this assembly to run one at a time
 // to prevent polluting shared state.
-[assembly: LevelOfParallelism(1)]
\ No newline at end of file
+[assembly: LevelOfParallelism(1)]
diff --git a/src/Lucene.Net/Lucene.Net.csproj b/src/Lucene.Net/Lucene.Net.csproj
index c2bcfcb..3a650bb 100644
--- a/src/Lucene.Net/Lucene.Net.csproj
+++ b/src/Lucene.Net/Lucene.Net.csproj
@@ -38,6 +38,7 @@
 
   <ItemGroup>
     <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
+    <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
   </ItemGroup>
 
   <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
diff --git a/src/Lucene.Net/Properties/AssemblyInfo.cs b/src/Lucene.Net/Properties/AssemblyInfo.cs
index 29b4581..682242a 100644
--- a/src/Lucene.Net/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net/Properties/AssemblyInfo.cs
@@ -29,52 +29,15 @@ using System.Runtime.CompilerServices;
 
 [assembly: CLSCompliant(true)]
 
-// for testing
-//[assembly: InternalsVisibleTo("Lucene.Net.Test, PublicKey=002400000480000094000000060200000024000052534131000400000100010075a07ce602f88e" +
-//                                                         "f263c7db8cb342c58ebd49ecdcc210fac874260b0213fb929ac3dcaf4f5b39744b800f99073eca" +
-//                                                         "72aebfac5f7284e1d5f2c82012a804a140f06d7d043d83e830cdb606a04da2ad5374cc92c0a495" +
-//                                                         "08437802fb4f8fb80a05e59f80afb99f4ccd0dfe44065743543c4b053b669509d29d332cd32a0c" +
-//                                                         "b1e97e84")]
-
-// LUCENENET NOTE: For now we are not using a strong name key.
-// However, we still need InternalsVisibleTo in order to prevent making everything public just for the sake of testing.
+// Besides strong naming, we still 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.Tests")]
-[assembly: InternalsVisibleTo("Lucene.Net.TestFramework")]
-[assembly: InternalsVisibleTo("Lucene.Net.Misc")]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.ICU")] // For Analysis.Util.TestSegmentingTokenizerBase
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Misc")]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.QueryParser")]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Cli")] // For lucene-cli
+[assembly: InternalsVisibleTo("Lucene.Net.Tests, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.TestFramework, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Misc, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.ICU, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)] // For Analysis.Util.TestSegmentingTokenizerBase
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Misc, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.QueryParser, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Cli, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)] // For lucene-cli
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
-
-//
-// In order to sign your assembly you must specify a key to use. Refer to the 
-// Microsoft .NET Framework documentation for more information on assembly signing.
-//
-// Use the attributes below to control which key is used for signing. 
-//
-// Notes: 
-//   (*) If no key is specified, the assembly is not signed.
-//   (*) KeyName refers to a key that has been installed in the Crypto Service
-//       Provider (CSP) on your machine. KeyFile refers to a file which contains
-//       a key.
-//   (*) If the KeyFile and the KeyName values are both specified, the 
-//       following processing occurs:
-//       (1) If the KeyName can be found in the CSP, that key is used.
-//       (2) If the KeyName does not exist and the KeyFile does exist, the key 
-//           in the KeyFile is installed into the CSP and used.
-//   (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
-//       When specifying the KeyFile, the location of the KeyFile should be
-//       relative to the project output directory which is
-//       %Project Directory%\obj\<configuration>. For example, if your KeyFile is
-//       located in the project directory, you would specify the AssemblyKeyFile 
-//       attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
-//   (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
-//       documentation for more information on this.
-//
-//[assembly: AssemblyDelaySign(false)]
-//[assembly: AssemblyKeyFile("")]
-//[assembly: AssemblyKeyName("")]
diff --git a/src/docs/LuceneDocsPlugins/LuceneDocsPlugins/LuceneDocsPlugins.csproj b/src/docs/LuceneDocsPlugins/LuceneDocsPlugins/LuceneDocsPlugins.csproj
index 1c1892e..f51c451 100644
--- a/src/docs/LuceneDocsPlugins/LuceneDocsPlugins/LuceneDocsPlugins.csproj
+++ b/src/docs/LuceneDocsPlugins/LuceneDocsPlugins/LuceneDocsPlugins.csproj
@@ -104,4 +104,5 @@
     </PropertyGroup>
     <Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.2.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.2.2.0\build\Microsoft.Net.Compilers.props'))" />
   </Target>
-</Project>
\ No newline at end of file
+  <Target Name="Pack" />
+</Project>
diff --git a/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj b/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
index 092285d..17df6a5 100644
--- a/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
+++ b/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
@@ -23,6 +23,11 @@
 
   <Import Project="$(SolutionDir)Version.proj" />
   <Import Project="$(SolutionDir)build/NuGet.props" />
+  <Import Project="..\..\..\Version.proj" />
+  <PropertyGroup>
+    <!-- Override AssemblyOriginatorKeyFile specified in Version.proj because we're deeper from the root -->
+    <AssemblyOriginatorKeyFile>..\..\..\Lucene.Net.snk</AssemblyOriginatorKeyFile>
+  </PropertyGroup>
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
diff --git a/src/dotnet/Lucene.Net.ICU/Properties/AssemblyInfo.cs b/src/dotnet/Lucene.Net.ICU/Properties/AssemblyInfo.cs
index 39df4b8..a9eeb43 100644
--- a/src/dotnet/Lucene.Net.ICU/Properties/AssemblyInfo.cs
+++ b/src/dotnet/Lucene.Net.ICU/Properties/AssemblyInfo.cs
@@ -41,6 +41,6 @@ using System.Runtime.InteropServices;
 [assembly: Guid("349cb7c9-7534-4e1d-9b0a-5521441af0ae")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.ICU")]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.ICU, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj b/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
index f101455..ee1a4cc 100644
--- a/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
+++ b/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
@@ -24,6 +24,11 @@
   <Import Project="$(SolutionDir)Version.proj" />
   <!-- For now, we are not deploying this to NuGet.org -->
   <!--<Import Project="$(SolutionDir)build/NuGet.props" />-->
+  <Import Project="..\..\..\Version.proj" />
+  <PropertyGroup>
+    <!-- Override AssemblyOriginatorKeyFile specified in Version.proj because we're deeper from the root -->
+    <AssemblyOriginatorKeyFile>..\..\..\Lucene.Net.snk</AssemblyOriginatorKeyFile>
+  </PropertyGroup>
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net451</TargetFrameworks>
diff --git a/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj b/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj
index 789f370..d19079e 100644
--- a/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj
+++ b/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj
@@ -23,6 +23,12 @@
 
   <Import Project="$(SolutionDir)TestTargetFramework.proj" />
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="..\..\..\TestTargetFramework.proj" />
+  <Import Project="..\..\..\Version.proj" />
+  <PropertyGroup>
+    <!-- Override AssemblyOriginatorKeyFile specified in Version.proj because we're deeper from the root -->
+    <AssemblyOriginatorKeyFile>..\..\..\Lucene.Net.snk</AssemblyOriginatorKeyFile>
+  </PropertyGroup>
 
   <PropertyGroup>
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
diff --git a/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj b/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj
index 3fec7de..6ac9783 100644
--- a/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj
+++ b/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj
@@ -22,6 +22,11 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="..\..\..\..\Version.proj" />
+  <PropertyGroup>
+    <!-- Override AssemblyOriginatorKeyFile specified in Version.proj because we're deeper from the root -->
+    <AssemblyOriginatorKeyFile>..\..\..\..\Lucene.Net.snk</AssemblyOriginatorKeyFile>
+  </PropertyGroup>
 
   <PropertyGroup>
     <TargetFramework>netcoreapp2.1</TargetFramework>
diff --git a/src/dotnet/tools/lucene-cli/lucene-cli.csproj b/src/dotnet/tools/lucene-cli/lucene-cli.csproj
index 1be4be2..5073960 100644
--- a/src/dotnet/tools/lucene-cli/lucene-cli.csproj
+++ b/src/dotnet/tools/lucene-cli/lucene-cli.csproj
@@ -23,6 +23,11 @@
 
   <Import Project="$(SolutionDir)Version.proj" />
   <Import Project="$(SolutionDir)build/NuGet.props" />
+  <Import Project="..\..\..\..\Version.proj" />
+  <PropertyGroup>
+    <!-- Override AssemblyOriginatorKeyFile specified in Version.proj because we're deeper from the root -->
+    <AssemblyOriginatorKeyFile>..\..\..\..\Lucene.Net.snk</AssemblyOriginatorKeyFile>
+  </PropertyGroup>
 
   <PropertyGroup>
     <TargetFramework>netcoreapp2.1</TargetFramework>


[lucenenet] 08/29: Removed unnecessary commented tags from .csproj files.

Posted by ni...@apache.org.
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 35bc429c25a9091898c2f25db38d33a3f9768568
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Mon Jul 8 05:40:01 2019 +0700

    Removed unnecessary commented tags from .csproj files.
---
 src/Lucene.Net.Analysis.Common/Lucene.Net.Analysis.Common.csproj      | 1 -
 src/Lucene.Net.Analysis.Kuromoji/Lucene.Net.Analysis.Kuromoji.csproj  | 1 -
 src/Lucene.Net.Analysis.Phonetic/Lucene.Net.Analysis.Phonetic.csproj  | 1 -
 src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj    | 1 -
 src/Lucene.Net.Analysis.Stempel/Lucene.Net.Analysis.Stempel.csproj    | 1 -
 src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj                  | 1 -
 src/Lucene.Net.Classification/Lucene.Net.Classification.csproj        | 1 -
 src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj                        | 1 -
 src/Lucene.Net.Demo/Lucene.Net.Demo.csproj                            | 1 -
 src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj              | 1 -
 src/Lucene.Net.Facet/Lucene.Net.Facet.csproj                          | 1 -
 src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj                    | 1 -
 src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj              | 1 -
 src/Lucene.Net.Join/Lucene.Net.Join.csproj                            | 1 -
 src/Lucene.Net.Memory/Lucene.Net.Memory.csproj                        | 1 -
 src/Lucene.Net.Misc/Lucene.Net.Misc.csproj                            | 1 -
 src/Lucene.Net.Queries/Lucene.Net.Queries.csproj                      | 1 -
 src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj              | 1 -
 src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj                | 1 -
 src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj                      | 1 -
 src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj                      | 1 -
 src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj                      | 1 -
 src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj          | 1 -
 .../Lucene.Net.Tests.Analysis.Common.csproj                           | 4 ----
 .../Lucene.Net.Tests.Analysis.Kuromoji.csproj                         | 4 ----
 .../Lucene.Net.Tests.Analysis.Phonetic.csproj                         | 4 ----
 .../Lucene.Net.Tests.Analysis.SmartCn.csproj                          | 4 ----
 .../Lucene.Net.Tests.Analysis.Stempel.csproj                          | 4 ----
 src/Lucene.Net.Tests.Benchmark/Lucene.Net.Tests.Benchmark.csproj      | 4 ----
 .../Lucene.Net.Tests.Classification.csproj                            | 4 ----
 src/Lucene.Net.Tests.Codecs/Lucene.Net.Tests.Codecs.csproj            | 4 ----
 src/Lucene.Net.Tests.Demo/Lucene.Net.Tests.Demo.csproj                | 4 ----
 src/Lucene.Net.Tests.Expressions/Lucene.Net.Tests.Expressions.csproj  | 4 ----
 src/Lucene.Net.Tests.Facet/Lucene.Net.Tests.Facet.csproj              | 4 ----
 src/Lucene.Net.Tests.Grouping/Lucene.Net.Tests.Grouping.csproj        | 4 ----
 src/Lucene.Net.Tests.Highlighter/Lucene.Net.Tests.Highlighter.csproj  | 4 ----
 src/Lucene.Net.Tests.Join/Lucene.Net.Tests.Join.csproj                | 4 ----
 src/Lucene.Net.Tests.Memory/Lucene.Net.Tests.Memory.csproj            | 4 ----
 src/Lucene.Net.Tests.Misc/Lucene.Net.Tests.Misc.csproj                | 4 ----
 src/Lucene.Net.Tests.Queries/Lucene.Net.Tests.Queries.csproj          | 4 ----
 src/Lucene.Net.Tests.QueryParser/Lucene.Net.Tests.QueryParser.csproj  | 4 ----
 src/Lucene.Net.Tests.Replicator/Lucene.Net.Tests.Replicator.csproj    | 4 ----
 src/Lucene.Net.Tests.Sandbox/Lucene.Net.Tests.Sandbox.csproj          | 4 ----
 src/Lucene.Net.Tests.Spatial/Lucene.Net.Tests.Spatial.csproj          | 4 ----
 src/Lucene.Net.Tests.Suggest/Lucene.Net.Tests.Suggest.csproj          | 4 ----
 src/Lucene.Net.Tests/Lucene.Net.Tests.csproj                          | 4 ----
 src/Lucene.Net/Lucene.Net.csproj                                      | 1 -
 src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj                       | 1 -
 .../Lucene.Net.Replicator.AspNetCore.csproj                           | 1 -
 src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj           | 4 ----
 50 files changed, 122 deletions(-)

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 36fcd49..6181134 100644
--- a/src/Lucene.Net.Analysis.Common/Lucene.Net.Analysis.Common.csproj
+++ b/src/Lucene.Net.Analysis.Common/Lucene.Net.Analysis.Common.csproj
@@ -35,7 +35,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
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 8c12316..56fb664 100644
--- a/src/Lucene.Net.Analysis.Kuromoji/Lucene.Net.Analysis.Kuromoji.csproj
+++ b/src/Lucene.Net.Analysis.Kuromoji/Lucene.Net.Analysis.Kuromoji.csproj
@@ -35,7 +35,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
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 2464123..2134c48 100644
--- a/src/Lucene.Net.Analysis.Phonetic/Lucene.Net.Analysis.Phonetic.csproj
+++ b/src/Lucene.Net.Analysis.Phonetic/Lucene.Net.Analysis.Phonetic.csproj
@@ -35,7 +35,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj b/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj
index 25b7cd4..8b190e9 100644
--- a/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj
+++ b/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj
@@ -35,7 +35,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
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 ff1f980..0d90b9a 100644
--- a/src/Lucene.Net.Analysis.Stempel/Lucene.Net.Analysis.Stempel.csproj
+++ b/src/Lucene.Net.Analysis.Stempel/Lucene.Net.Analysis.Stempel.csproj
@@ -35,7 +35,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj b/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
index 18bf87e..4e18828 100644
--- a/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
+++ b/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
@@ -36,7 +36,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Classification/Lucene.Net.Classification.csproj b/src/Lucene.Net.Classification/Lucene.Net.Classification.csproj
index 7d05b9b..e4b629b 100644
--- a/src/Lucene.Net.Classification/Lucene.Net.Classification.csproj
+++ b/src/Lucene.Net.Classification/Lucene.Net.Classification.csproj
@@ -35,7 +35,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj b/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj
index 966f8df..830ac4c 100644
--- a/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj
+++ b/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj
@@ -35,7 +35,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj b/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj
index e5cd76e..5da9ec0 100644
--- a/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj
+++ b/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj
@@ -35,7 +35,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj b/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj
index 4c889da..0118f7e 100644
--- a/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj
+++ b/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj
@@ -35,7 +35,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj b/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
index 39bae76..c08029f 100644
--- a/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
+++ b/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
@@ -35,7 +35,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj b/src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj
index d6d10b8..9c61d76 100644
--- a/src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj
+++ b/src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj
@@ -35,7 +35,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj b/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
index 2a0fc17..005c807 100644
--- a/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
+++ b/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
@@ -35,7 +35,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Join/Lucene.Net.Join.csproj b/src/Lucene.Net.Join/Lucene.Net.Join.csproj
index 8409ce0..09843d5 100644
--- a/src/Lucene.Net.Join/Lucene.Net.Join.csproj
+++ b/src/Lucene.Net.Join/Lucene.Net.Join.csproj
@@ -35,7 +35,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj b/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj
index 26e00e1..41d4b2c 100644
--- a/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj
+++ b/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj
@@ -35,7 +35,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj b/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj
index 464fc30..4e798de 100644
--- a/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj
+++ b/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj
@@ -35,7 +35,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Queries/Lucene.Net.Queries.csproj b/src/Lucene.Net.Queries/Lucene.Net.Queries.csproj
index 78fd9fb..9fc8971 100644
--- a/src/Lucene.Net.Queries/Lucene.Net.Queries.csproj
+++ b/src/Lucene.Net.Queries/Lucene.Net.Queries.csproj
@@ -35,7 +35,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj b/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
index ed0d525..f9c2cd1 100644
--- a/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
+++ b/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
@@ -35,7 +35,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj b/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj
index 7868f65..d5b7eb2 100644
--- a/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj
+++ b/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj
@@ -35,7 +35,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj b/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj
index efed9eb..e8e66f3 100644
--- a/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj
+++ b/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj
@@ -35,7 +35,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj b/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
index c1ff135..04ba8b1 100644
--- a/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
+++ b/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
@@ -35,7 +35,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj b/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj
index b6e4cd9..10cba03 100644
--- a/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj
+++ b/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj
@@ -35,7 +35,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj b/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj
index 1094a83..e4430c0 100644
--- a/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj
+++ b/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj
@@ -38,7 +38,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Lucene.Net.Tests.Analysis.Common.csproj b/src/Lucene.Net.Tests.Analysis.Common/Lucene.Net.Tests.Analysis.Common.csproj
index 73bc732..cec8e0d 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Lucene.Net.Tests.Analysis.Common.csproj
+++ b/src/Lucene.Net.Tests.Analysis.Common/Lucene.Net.Tests.Analysis.Common.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
     
     <AssemblyTitle>Lucene.Net.Tests.Analysis.Common</AssemblyTitle>
@@ -35,7 +32,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests.Analysis.Kuromoji/Lucene.Net.Tests.Analysis.Kuromoji.csproj b/src/Lucene.Net.Tests.Analysis.Kuromoji/Lucene.Net.Tests.Analysis.Kuromoji.csproj
index 4d9c1af..ed0a441 100644
--- a/src/Lucene.Net.Tests.Analysis.Kuromoji/Lucene.Net.Tests.Analysis.Kuromoji.csproj
+++ b/src/Lucene.Net.Tests.Analysis.Kuromoji/Lucene.Net.Tests.Analysis.Kuromoji.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
     
     <AssemblyTitle>Lucene.Net.Tests.Analysis.Kuromoji</AssemblyTitle>
@@ -35,7 +32,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests.Analysis.Phonetic/Lucene.Net.Tests.Analysis.Phonetic.csproj b/src/Lucene.Net.Tests.Analysis.Phonetic/Lucene.Net.Tests.Analysis.Phonetic.csproj
index 8584dbe..06ba9ad 100644
--- a/src/Lucene.Net.Tests.Analysis.Phonetic/Lucene.Net.Tests.Analysis.Phonetic.csproj
+++ b/src/Lucene.Net.Tests.Analysis.Phonetic/Lucene.Net.Tests.Analysis.Phonetic.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
     
     <AssemblyTitle>Lucene.Net.Tests.Analysis.Phonetic</AssemblyTitle>
@@ -35,7 +32,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests.Analysis.SmartCn/Lucene.Net.Tests.Analysis.SmartCn.csproj b/src/Lucene.Net.Tests.Analysis.SmartCn/Lucene.Net.Tests.Analysis.SmartCn.csproj
index 87e339d..61d06df 100644
--- a/src/Lucene.Net.Tests.Analysis.SmartCn/Lucene.Net.Tests.Analysis.SmartCn.csproj
+++ b/src/Lucene.Net.Tests.Analysis.SmartCn/Lucene.Net.Tests.Analysis.SmartCn.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
     
     <AssemblyTitle>Lucene.Net.Tests.Analysis.SmartCn</AssemblyTitle>
@@ -35,7 +32,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests.Analysis.Stempel/Lucene.Net.Tests.Analysis.Stempel.csproj b/src/Lucene.Net.Tests.Analysis.Stempel/Lucene.Net.Tests.Analysis.Stempel.csproj
index 522db08..a525b6b 100644
--- a/src/Lucene.Net.Tests.Analysis.Stempel/Lucene.Net.Tests.Analysis.Stempel.csproj
+++ b/src/Lucene.Net.Tests.Analysis.Stempel/Lucene.Net.Tests.Analysis.Stempel.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
     
     <AssemblyTitle>Lucene.Net.Tests.Analysis.Stempel</AssemblyTitle>
@@ -35,7 +32,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests.Benchmark/Lucene.Net.Tests.Benchmark.csproj b/src/Lucene.Net.Tests.Benchmark/Lucene.Net.Tests.Benchmark.csproj
index b313765..56b80ec 100644
--- a/src/Lucene.Net.Tests.Benchmark/Lucene.Net.Tests.Benchmark.csproj
+++ b/src/Lucene.Net.Tests.Benchmark/Lucene.Net.Tests.Benchmark.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
     
     <AssemblyTitle>Lucene.Net.Tests.Benchmark</AssemblyTitle>
@@ -35,7 +32,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests.Classification/Lucene.Net.Tests.Classification.csproj b/src/Lucene.Net.Tests.Classification/Lucene.Net.Tests.Classification.csproj
index c52fe26..9aa66b8 100644
--- a/src/Lucene.Net.Tests.Classification/Lucene.Net.Tests.Classification.csproj
+++ b/src/Lucene.Net.Tests.Classification/Lucene.Net.Tests.Classification.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
     
     <AssemblyTitle>Lucene.Net.Tests.Classification</AssemblyTitle>
@@ -35,7 +32,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests.Codecs/Lucene.Net.Tests.Codecs.csproj b/src/Lucene.Net.Tests.Codecs/Lucene.Net.Tests.Codecs.csproj
index 79d2449..9733862 100644
--- a/src/Lucene.Net.Tests.Codecs/Lucene.Net.Tests.Codecs.csproj
+++ b/src/Lucene.Net.Tests.Codecs/Lucene.Net.Tests.Codecs.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
     
     <AssemblyTitle>Lucene.Net.Tests.Codecs</AssemblyTitle>
@@ -35,7 +32,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests.Demo/Lucene.Net.Tests.Demo.csproj b/src/Lucene.Net.Tests.Demo/Lucene.Net.Tests.Demo.csproj
index 67a924d..776c243 100644
--- a/src/Lucene.Net.Tests.Demo/Lucene.Net.Tests.Demo.csproj
+++ b/src/Lucene.Net.Tests.Demo/Lucene.Net.Tests.Demo.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
     
     <AssemblyTitle>Lucene.Net.Tests.Demo</AssemblyTitle>
@@ -35,7 +32,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests.Expressions/Lucene.Net.Tests.Expressions.csproj b/src/Lucene.Net.Tests.Expressions/Lucene.Net.Tests.Expressions.csproj
index 2a66b0b..4c2d83b 100644
--- a/src/Lucene.Net.Tests.Expressions/Lucene.Net.Tests.Expressions.csproj
+++ b/src/Lucene.Net.Tests.Expressions/Lucene.Net.Tests.Expressions.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
 
     <AssemblyTitle>Lucene.Net.Tests.Expressions</AssemblyTitle>
@@ -35,7 +32,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests.Facet/Lucene.Net.Tests.Facet.csproj b/src/Lucene.Net.Tests.Facet/Lucene.Net.Tests.Facet.csproj
index bee0686..9700345 100644
--- a/src/Lucene.Net.Tests.Facet/Lucene.Net.Tests.Facet.csproj
+++ b/src/Lucene.Net.Tests.Facet/Lucene.Net.Tests.Facet.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
 
     <AssemblyTitle>Lucene.Net.Tests.Facet</AssemblyTitle>
@@ -35,7 +32,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests.Grouping/Lucene.Net.Tests.Grouping.csproj b/src/Lucene.Net.Tests.Grouping/Lucene.Net.Tests.Grouping.csproj
index 11527c0..10b312e 100644
--- a/src/Lucene.Net.Tests.Grouping/Lucene.Net.Tests.Grouping.csproj
+++ b/src/Lucene.Net.Tests.Grouping/Lucene.Net.Tests.Grouping.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
 
     <AssemblyTitle>Lucene.Net.Tests.Grouping</AssemblyTitle>
@@ -35,7 +32,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests.Highlighter/Lucene.Net.Tests.Highlighter.csproj b/src/Lucene.Net.Tests.Highlighter/Lucene.Net.Tests.Highlighter.csproj
index 6cfd595..0ef0ff9 100644
--- a/src/Lucene.Net.Tests.Highlighter/Lucene.Net.Tests.Highlighter.csproj
+++ b/src/Lucene.Net.Tests.Highlighter/Lucene.Net.Tests.Highlighter.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
 
     <AssemblyTitle>Lucene.Net.Tests.Highlighter</AssemblyTitle>
@@ -35,7 +32,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests.Join/Lucene.Net.Tests.Join.csproj b/src/Lucene.Net.Tests.Join/Lucene.Net.Tests.Join.csproj
index 6a1f46f..807d789 100644
--- a/src/Lucene.Net.Tests.Join/Lucene.Net.Tests.Join.csproj
+++ b/src/Lucene.Net.Tests.Join/Lucene.Net.Tests.Join.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
 
     <AssemblyTitle>Lucene.Net.Tests.Join</AssemblyTitle>
@@ -35,7 +32,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests.Memory/Lucene.Net.Tests.Memory.csproj b/src/Lucene.Net.Tests.Memory/Lucene.Net.Tests.Memory.csproj
index 4b1235b..7f5c967 100644
--- a/src/Lucene.Net.Tests.Memory/Lucene.Net.Tests.Memory.csproj
+++ b/src/Lucene.Net.Tests.Memory/Lucene.Net.Tests.Memory.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
 
     <AssemblyTitle>Lucene.Net.Tests.Memory</AssemblyTitle>
@@ -35,7 +32,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests.Misc/Lucene.Net.Tests.Misc.csproj b/src/Lucene.Net.Tests.Misc/Lucene.Net.Tests.Misc.csproj
index 5edf464..c60380f 100644
--- a/src/Lucene.Net.Tests.Misc/Lucene.Net.Tests.Misc.csproj
+++ b/src/Lucene.Net.Tests.Misc/Lucene.Net.Tests.Misc.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
 
     <AssemblyTitle>Lucene.Net.Tests.Misc</AssemblyTitle>
@@ -35,7 +32,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests.Queries/Lucene.Net.Tests.Queries.csproj b/src/Lucene.Net.Tests.Queries/Lucene.Net.Tests.Queries.csproj
index 4575b4e..bb30e3a 100644
--- a/src/Lucene.Net.Tests.Queries/Lucene.Net.Tests.Queries.csproj
+++ b/src/Lucene.Net.Tests.Queries/Lucene.Net.Tests.Queries.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
 
     <AssemblyTitle>Lucene.Net.Tests.Queries</AssemblyTitle>
@@ -35,7 +32,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests.QueryParser/Lucene.Net.Tests.QueryParser.csproj b/src/Lucene.Net.Tests.QueryParser/Lucene.Net.Tests.QueryParser.csproj
index f14328c..5f04d56 100644
--- a/src/Lucene.Net.Tests.QueryParser/Lucene.Net.Tests.QueryParser.csproj
+++ b/src/Lucene.Net.Tests.QueryParser/Lucene.Net.Tests.QueryParser.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
 
     <AssemblyTitle>Lucene.Net.Tests.QueryParser</AssemblyTitle>
@@ -35,7 +32,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests.Replicator/Lucene.Net.Tests.Replicator.csproj b/src/Lucene.Net.Tests.Replicator/Lucene.Net.Tests.Replicator.csproj
index ecb3ace..4c112b9 100644
--- a/src/Lucene.Net.Tests.Replicator/Lucene.Net.Tests.Replicator.csproj
+++ b/src/Lucene.Net.Tests.Replicator/Lucene.Net.Tests.Replicator.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
 
     <AssemblyTitle>Lucene.Net.Tests.Replicator</AssemblyTitle>
@@ -35,7 +32,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests.Sandbox/Lucene.Net.Tests.Sandbox.csproj b/src/Lucene.Net.Tests.Sandbox/Lucene.Net.Tests.Sandbox.csproj
index 21322d3..6de4730 100644
--- a/src/Lucene.Net.Tests.Sandbox/Lucene.Net.Tests.Sandbox.csproj
+++ b/src/Lucene.Net.Tests.Sandbox/Lucene.Net.Tests.Sandbox.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
 
     <AssemblyTitle>Lucene.Net.Tests.Sandbox</AssemblyTitle>
@@ -35,7 +32,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests.Spatial/Lucene.Net.Tests.Spatial.csproj b/src/Lucene.Net.Tests.Spatial/Lucene.Net.Tests.Spatial.csproj
index 047145a..70da8be 100644
--- a/src/Lucene.Net.Tests.Spatial/Lucene.Net.Tests.Spatial.csproj
+++ b/src/Lucene.Net.Tests.Spatial/Lucene.Net.Tests.Spatial.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
 
     <AssemblyTitle>Lucene.Net.Tests.Spatial</AssemblyTitle>
@@ -35,7 +32,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests.Suggest/Lucene.Net.Tests.Suggest.csproj b/src/Lucene.Net.Tests.Suggest/Lucene.Net.Tests.Suggest.csproj
index 9beb24f..529d90d 100644
--- a/src/Lucene.Net.Tests.Suggest/Lucene.Net.Tests.Suggest.csproj
+++ b/src/Lucene.Net.Tests.Suggest/Lucene.Net.Tests.Suggest.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
     
     <AssemblyTitle>Lucene.Net.Tests.Suggest</AssemblyTitle>
@@ -35,7 +32,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj b/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj
index d8dc3a4..c9f2088 100644
--- a/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj
+++ b/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp2.0;netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
     
     <AssemblyTitle>Lucene.Net.Tests</AssemblyTitle>
@@ -35,7 +32,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net/Lucene.Net.csproj b/src/Lucene.Net/Lucene.Net.csproj
index b988d57..c2bcfcb 100644
--- a/src/Lucene.Net/Lucene.Net.csproj
+++ b/src/Lucene.Net/Lucene.Net.csproj
@@ -34,7 +34,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
     
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj b/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
index 2607d48..092285d 100644
--- a/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
+++ b/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
@@ -37,7 +37,6 @@
     <DefineConstants>$(DefineConstants);FEATURE_BREAKITERATOR</DefineConstants>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj b/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
index df124a8..f101455 100644
--- a/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
+++ b/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
@@ -36,7 +36,6 @@
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj b/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj
index 16d50ca..789f370 100644
--- a/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj
+++ b/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj
@@ -25,9 +25,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
-    <!--<TargetFramework>net451</TargetFramework>
-    <TargetFramework Condition=" '$(Configuration)' == 'Debug_NetCoreApp1_0' OR '$(Configuration)' == 'Release_NetCoreApp1_0' ">netcoreapp1.0</TargetFramework>-->
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
 
     <AssemblyTitle>Lucene.Net.Tests.ICU</AssemblyTitle>
@@ -36,7 +33,6 @@
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
 
     <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <!--<Configurations>Debug;Release;Debug_NetCoreApp1_0;Release_NetCoreApp1_0</Configurations>-->
   </PropertyGroup>
 
   <ItemGroup>


[lucenenet] 07/29: BUG: Intermittent failures of Lucene.Net.Facet.Taxonomy.WriterCache.TestCharBlockArray.TestArray(). The test was not setup to with encoders that fallback to '?' for unmapped/invalid characters. Also, the BinaryReader/BinaryWriter was too strict with regard to validating surrogate pairs for this type of serialization, so implemented custom extension methods over Stream that do not use encoding.

Posted by ni...@apache.org.
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 c4b9987c08806fbe535423617c63cc1c16cd5dbe
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Mon Jul 8 04:58:24 2019 +0700

    BUG: Intermittent failures of Lucene.Net.Facet.Taxonomy.WriterCache.TestCharBlockArray.TestArray(). The test was not setup to with encoders that fallback to '?' for unmapped/invalid characters. Also, the BinaryReader/BinaryWriter was too strict with regard to validating surrogate pairs for this type of serialization, so implemented custom extension methods over Stream that do not use encoding.
---
 .../Taxonomy/WriterCache/CharBlockArray.cs         |  91 +++++++++++-------
 .../Taxonomy/WriterCache/TestCharBlockArray.cs     |  25 ++++-
 .../WriterCache/TestCompactLabelToOrdinal.cs       |  14 ++-
 src/Lucene.Net/Support/IO/StreamExtensions.cs      | 102 +++++++++++++++++++++
 4 files changed, 192 insertions(+), 40 deletions(-)

diff --git a/src/Lucene.Net.Facet/Taxonomy/WriterCache/CharBlockArray.cs b/src/Lucene.Net.Facet/Taxonomy/WriterCache/CharBlockArray.cs
index 151ea8a..98ae751 100644
--- a/src/Lucene.Net.Facet/Taxonomy/WriterCache/CharBlockArray.cs
+++ b/src/Lucene.Net.Facet/Taxonomy/WriterCache/CharBlockArray.cs
@@ -1,4 +1,5 @@
 using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
 using System;
 using System.Collections.Generic;
 using System.IO;
@@ -35,7 +36,7 @@ namespace Lucene.Net.Facet.Taxonomy.WriterCache
     // BinaryFormatter is not implemented in .NET Standard 1.x.
     internal class CharBlockArray : ICharSequence
     {
-        //private const long serialVersionUID = 1L; // LUCENENET: Not used
+        private const long serialVersionUID = 1L;
 
         private const int DEFAULT_BLOCK_SIZE = 32 * 1024; // 32 KB default size
 
@@ -44,7 +45,7 @@ namespace Lucene.Net.Facet.Taxonomy.WriterCache
             : System.ICloneable
 #endif
         {
-            //internal const long serialVersionUID = 1L; // LUCENENET: Not used
+            internal const long serialVersionUID = 1L;
 
             internal readonly char[] chars;
             internal int length;
@@ -64,8 +65,9 @@ namespace Lucene.Net.Facet.Taxonomy.WriterCache
             }
 
             // LUCENENET specific
-            public void Serialize(BinaryWriter writer)
+            public void Serialize(Stream writer)
             {
+                writer.Write(serialVersionUID); // Version of this object to use when deserializing
                 writer.Write(chars.Length);
                 writer.Write(chars);
                 writer.Write(length);
@@ -73,11 +75,23 @@ namespace Lucene.Net.Facet.Taxonomy.WriterCache
 
             // LUCENENET specific
             // Deserialization constructor
-            public Block(BinaryReader reader)
+            public Block(Stream reader)
             {
-                int charsLength = reader.ReadInt32();
-                this.chars = reader.ReadChars(charsLength);
-                this.length = reader.ReadInt32();
+                long serialVersion = reader.ReadInt64();
+
+                switch (serialVersion)
+                {
+                    case serialVersionUID:
+                        int charsLength = reader.ReadInt32();
+                        this.chars = reader.ReadChars(charsLength);
+                        this.length = reader.ReadInt32();
+                        break;
+
+                    // case 1L:
+                    // LUCENENET TODO: When object fields change, increment serialVersionUID and move the above block here for legacy support...
+                    default:
+                        throw new InvalidDataException($"Version {serialVersion} of {this.GetType().ToString()} deserialization is not supported.");
+                }
             }
         }
 
@@ -252,49 +266,56 @@ namespace Lucene.Net.Facet.Taxonomy.WriterCache
 
         internal virtual void Flush(Stream @out)
         {
-            using (var writer = new BinaryWriter(@out, new UTF8Encoding(false, true), true))
+            @out.Write(serialVersionUID); // version of this object to use when deserializing
+            @out.Write(blocks.Count);
+            int currentIndex = 0;
+            for (int i = 0; i < blocks.Count; i++)
             {
-                writer.Write(blocks.Count);
-                int currentIndex = 0;
-                for (int i = 0; i < blocks.Count; i++)
+                var block = blocks[i];
+                block.Serialize(@out);
+                if (block == current)
                 {
-                    var block = blocks[i];
-                    block.Serialize(writer);
-                    if (block == current)
-                    {
-                        currentIndex = i;
-                    }
+                    currentIndex = i;
                 }
-                // Write the index of the current block so we can
-                // set the reference when deserializing
-                writer.Write(currentIndex);
-                writer.Write(blockSize);
-                writer.Write(length);
-                writer.Flush();
             }
+            // Write the index of the current block so we can
+            // set the reference when deserializing
+            @out.Write(currentIndex);
+            @out.Write(blockSize);
+            @out.Write(length);
+            @out.Flush();
         }
 
         // LUCENENET specific
         // Deserialization constructor
-        internal CharBlockArray(BinaryReader reader)
+        internal CharBlockArray(Stream reader)
         {
-            var blocksCount = reader.ReadInt32();
-            this.blocks = new List<Block>(blocksCount);
-            for (int i = 0; i < blocksCount; i++)
+            long serialVersion = reader.ReadInt64();
+
+            switch (serialVersion)
             {
-                blocks.Add(new Block(reader));
+                case serialVersionUID:
+                    var blocksCount = reader.ReadInt32();
+                    this.blocks = new List<Block>(blocksCount);
+                    for (int i = 0; i < blocksCount; i++)
+                    {
+                        blocks.Add(new Block(reader));
+                    }
+                    this.current = blocks[reader.ReadInt32()];
+                    this.blockSize = reader.ReadInt32();
+                    this.length = reader.ReadInt32();
+                    break;
+
+                // case 1L:
+                // LUCENENET TODO: When object fields change, increment serialVersionUID and move the above block here for legacy support...
+                default:
+                    throw new InvalidDataException($"Version {serialVersion} of {this.GetType().ToString()} deserialization is not supported.");
             }
-            this.current = blocks[reader.ReadInt32()];
-            this.blockSize = reader.ReadInt32();
-            this.length = reader.ReadInt32();
         }
 
         public static CharBlockArray Open(Stream @in)
         {
-            using (var writer = new BinaryReader(@in, new UTF8Encoding(false, true), true))
-            {
-                return new CharBlockArray(writer);
-            }
+            return new CharBlockArray(@in);
         }
     }
 }
\ No newline at end of file
diff --git a/src/Lucene.Net.Tests.Facet/Taxonomy/WriterCache/TestCharBlockArray.cs b/src/Lucene.Net.Tests.Facet/Taxonomy/WriterCache/TestCharBlockArray.cs
index 1249ff6..3041c2c 100644
--- a/src/Lucene.Net.Tests.Facet/Taxonomy/WriterCache/TestCharBlockArray.cs
+++ b/src/Lucene.Net.Tests.Facet/Taxonomy/WriterCache/TestCharBlockArray.cs
@@ -35,14 +35,25 @@ namespace Lucene.Net.Facet.Taxonomy.WriterCache
 
             byte[] buffer = new byte[50];
 
+            // This is essentially the equivalent of
+            // CharsetDecoder decoder = StandardCharsets.UTF_8.newDecoder()
+            //     .onUnmappableCharacter(CodingErrorAction.REPLACE)
+            //     .onMalformedInput(CodingErrorAction.REPLACE);
+            // 
+            // Encoding decoder = Encoding.GetEncoding(Encoding.UTF8.CodePage, 
+            //     new EncoderReplacementFallback("?"), 
+            //     new DecoderReplacementFallback("?"));
+
             for (int i = 0; i < n; i++)
             {
                 Random().NextBytes(buffer);
                 int size = 1 + Random().Next(50);
                 // This test is turning random bytes into a string,
                 // this is asking for trouble.
-
-                string s = Encoding.UTF8.GetString(buffer, 0, size);
+                Encoding decoder = Encoding.GetEncoding(Encoding.UTF8.CodePage,
+                    new EncoderReplacementFallback("?"),
+                    new DecoderReplacementFallback("?"));
+                string s = decoder.GetString(buffer, 0, size);
                 array.Append(s);
                 builder.Append(s);
             }
@@ -53,7 +64,10 @@ namespace Lucene.Net.Facet.Taxonomy.WriterCache
                 int size = 1 + Random().Next(50);
                 // This test is turning random bytes into a string,
                 // this is asking for trouble.
-                string s = Encoding.UTF8.GetString(buffer, 0, size);
+                Encoding decoder = Encoding.GetEncoding(Encoding.UTF8.CodePage,
+                    new EncoderReplacementFallback("?"),
+                    new DecoderReplacementFallback("?"));
+                string s = decoder.GetString(buffer, 0, size);
                 array.Append(s);
                 builder.Append(s);
             }
@@ -64,7 +78,10 @@ namespace Lucene.Net.Facet.Taxonomy.WriterCache
                 int size = 1 + Random().Next(50);
                 // This test is turning random bytes into a string,
                 // this is asking for trouble.
-                string s = Encoding.UTF8.GetString(buffer, 0, size);
+                Encoding decoder = Encoding.GetEncoding(Encoding.UTF8.CodePage,
+                    new EncoderReplacementFallback("?"),
+                    new DecoderReplacementFallback("?"));
+                string s = decoder.GetString(buffer, 0, size);
                 for (int j = 0; j < s.Length; j++)
                 {
                     array.Append(s[j]);
diff --git a/src/Lucene.Net.Tests.Facet/Taxonomy/WriterCache/TestCompactLabelToOrdinal.cs b/src/Lucene.Net.Tests.Facet/Taxonomy/WriterCache/TestCompactLabelToOrdinal.cs
index 852638b..c2cfeb0 100644
--- a/src/Lucene.Net.Tests.Facet/Taxonomy/WriterCache/TestCompactLabelToOrdinal.cs
+++ b/src/Lucene.Net.Tests.Facet/Taxonomy/WriterCache/TestCompactLabelToOrdinal.cs
@@ -42,6 +42,15 @@ namespace Lucene.Net.Facet.Taxonomy.WriterCache
             string[] uniqueValues = new string[numUniqueValues];
             byte[] buffer = new byte[50];
 
+            // This is essentially the equivalent of
+            // CharsetDecoder decoder = StandardCharsets.UTF_8.newDecoder()
+            //     .onUnmappableCharacter(CodingErrorAction.REPLACE)
+            //     .onMalformedInput(CodingErrorAction.REPLACE);
+            // 
+            // Encoding decoder = Encoding.GetEncoding(Encoding.UTF8.CodePage, 
+            //     new EncoderReplacementFallback("?"), 
+            //     new DecoderReplacementFallback("?"));
+
             Random random = Random();
             for (int i = 0; i < numUniqueValues;)
             {
@@ -50,7 +59,10 @@ namespace Lucene.Net.Facet.Taxonomy.WriterCache
 
                 // This test is turning random bytes into a string,
                 // this is asking for trouble.
-                uniqueValues[i] = Encoding.UTF8.GetString(buffer, 0, size);
+                Encoding decoder = Encoding.GetEncoding(Encoding.UTF8.CodePage,
+                    new EncoderReplacementFallback("?"),
+                    new DecoderReplacementFallback("?"));
+                uniqueValues[i] = decoder.GetString(buffer, 0, size);
                 // we cannot have empty path components, so eliminate all prefix as well
                 // as middle consecutive delimiter chars.
                 uniqueValues[i] = Regex.Replace(uniqueValues[i], "/+", "/");
diff --git a/src/Lucene.Net/Support/IO/StreamExtensions.cs b/src/Lucene.Net/Support/IO/StreamExtensions.cs
new file mode 100644
index 0000000..134245d
--- /dev/null
+++ b/src/Lucene.Net/Support/IO/StreamExtensions.cs
@@ -0,0 +1,102 @@
+using System.IO;
+
+namespace Lucene.Net.Support.IO
+{
+    /*
+	 * 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.
+	 */
+
+    /// <summary>
+    /// Extension methods that make a <see cref="Stream"/> effectively into a
+    /// binary serializer with no encoding. We simply convert types into bytes
+    /// and write them without any concern whether surrogate pairs are respected,
+    /// similar to what BinaryFormatter does.
+    /// This makes it possible to serialize/deserialize raw character arrays
+    /// and get the data back in the same order without any exceptions warning
+    /// that the order is not valid and without the need for BinaryFormatter.
+    /// <para/>
+    /// Byte order is little-endian (same as <see cref="BinaryReader"/> and <see cref="BinaryWriter"/>).
+    /// </summary>
+    public static class StreamExtensions
+    {
+        public static void Write(this Stream stream, char[] chars)
+        {
+            byte[] newBytes = new byte[chars.Length * 2];
+            for (int index = 0; index < chars.Length; index++)
+            {
+                int newIndex = index == 0 ? index : index * 2;
+                newBytes[newIndex] = (byte)chars[index];
+                newBytes[newIndex + 1] = (byte)(chars[index] >> 8);
+            }
+            stream.Write(newBytes, 0, newBytes.Length);
+        }
+
+        public static char[] ReadChars(this Stream stream, int count)
+        {
+            byte[] buff = new byte[2];
+            char[] newChars = new char[count];
+            for (int i = 0; i < count; i++)
+            {
+                stream.Read(buff, 0, 2);
+                newChars[i] = (char)((buff[0] & 0xff) | ((buff[1] & 0xff) << 8));
+            }
+            return newChars;
+        }
+
+        public static void Write(this Stream stream, int value)
+        {
+            byte[] buff = new byte[4];
+            buff[0] = (byte)(value);
+            buff[1] = (byte)(value >> 8);
+            buff[2] = (byte)(value >> 16);
+            buff[3] = (byte)(value >> 24);
+            stream.Write(buff, 0, buff.Length);
+        }
+
+        public static int ReadInt32(this Stream stream)
+        {
+            byte[] buff = new byte[4];
+            stream.Read(buff, 0, buff.Length);
+            return (buff[0] & 0xff) | ((buff[1] & 0xff) << 8) |
+                ((buff[2] & 0xff) << 16) | ((buff[3] & 0xff) << 24);
+        }
+
+        public static void Write(this Stream stream, long value)
+        {
+            byte[] buff = new byte[8];
+            buff[0] = (byte)value;
+            buff[1] = (byte)(value >> 8);
+            buff[2] = (byte)(value >> 16);
+            buff[3] = (byte)(value >> 24);
+            buff[4] = (byte)(value >> 32);
+            buff[5] = (byte)(value >> 40);
+            buff[6] = (byte)(value >> 48);
+            buff[7] = (byte)(value >> 56);
+            stream.Write(buff, 0, buff.Length);
+        }
+
+        public static long ReadInt64(this Stream stream)
+        {
+            byte[] buff = new byte[8];
+            stream.Read(buff, 0, buff.Length);
+            uint lo = (uint)(buff[0] | buff[1] << 8 |
+                             buff[2] << 16 | buff[3] << 24);
+            uint hi = (uint)(buff[4] | buff[5] << 8 |
+                             buff[6] << 16 | buff[7] << 24);
+            return (long)((ulong)hi) << 32 | lo;
+        }
+    }
+}


[lucenenet] 04/29: Consolidated common MSBuild properties for NuGet packages to build/NuGet.props. Setup NuGet file to deploy LICENSE.txt rather than reference the repository URL, which has been deprecated.

Posted by ni...@apache.org.
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 1553a69fb25941f242e78913e21814be71239e56
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Sun Jul 7 01:36:33 2019 +0700

    Consolidated common MSBuild properties for NuGet packages to build/NuGet.props. Setup NuGet file to deploy LICENSE.txt rather than reference the repository URL, which has been deprecated.
---
 Directory.Build.props                               |  4 ++++
 Lucene.Net.sln                                      |  1 +
 Directory.Build.props => build/NuGet.props          | 21 ++++++++++++---------
 .../Lucene.Net.Analysis.Common.csproj               |  8 ++------
 .../Lucene.Net.Analysis.Kuromoji.csproj             |  8 ++------
 .../Lucene.Net.Analysis.Phonetic.csproj             |  8 ++------
 .../Lucene.Net.Analysis.SmartCn.csproj              |  8 ++------
 .../Lucene.Net.Analysis.Stempel.csproj              |  8 ++------
 .../Lucene.Net.Benchmark.csproj                     |  8 ++------
 .../Lucene.Net.Classification.csproj                |  8 ++------
 src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj      |  8 ++------
 src/Lucene.Net.Demo/Lucene.Net.Demo.csproj          |  8 ++------
 .../Lucene.Net.Expressions.csproj                   |  8 ++------
 src/Lucene.Net.Facet/Lucene.Net.Facet.csproj        |  8 ++------
 src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj  |  8 ++------
 .../Lucene.Net.Highlighter.csproj                   |  8 ++------
 src/Lucene.Net.Join/Lucene.Net.Join.csproj          |  8 ++------
 src/Lucene.Net.Memory/Lucene.Net.Memory.csproj      |  8 ++------
 src/Lucene.Net.Misc/Lucene.Net.Misc.csproj          |  8 ++------
 src/Lucene.Net.Queries/Lucene.Net.Queries.csproj    |  8 ++------
 .../Lucene.Net.QueryParser.csproj                   |  8 ++------
 .../Lucene.Net.Replicator.csproj                    |  8 ++------
 src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj    |  8 ++------
 src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj    |  8 ++------
 src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj    |  8 ++------
 .../Lucene.Net.TestFramework.csproj                 |  9 +++------
 src/Lucene.Net/Lucene.Net.csproj                    |  7 +------
 src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj     |  8 ++------
 .../Lucene.Net.Replicator.AspNetCore.csproj         |  9 +++------
 src/dotnet/tools/lucene-cli/lucene-cli.csproj       |  9 +--------
 30 files changed, 71 insertions(+), 173 deletions(-)

diff --git a/Directory.Build.props b/Directory.Build.props
index 6acc95d..f4d5eee 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -19,6 +19,10 @@
 
 -->
 <Project>
+  <PropertyGroup Label="NuGet Package Defaults">
+    <IsPackable>false</IsPackable>
+  </PropertyGroup>
+  
   <PropertyGroup Label="Copyright Info">
     <Product>Lucene.Net</Product>
     <Company>The Apache Software Foundation</Company>
diff --git a/Lucene.Net.sln b/Lucene.Net.sln
index 9439788..8d25e3c 100644
--- a/Lucene.Net.sln
+++ b/Lucene.Net.sln
@@ -30,6 +30,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{4016BDAB
 	ProjectSection(SolutionItems) = preProject
 		build.bat = build.bat
 		build\build.ps1 = build\build.ps1
+		build\NuGet.props = build\NuGet.props
 		src\CommonAssemblyInfo.cs = src\CommonAssemblyInfo.cs
 		TestTargetFramework.proj = TestTargetFramework.proj
 		Version.proj = Version.proj
diff --git a/Directory.Build.props b/build/NuGet.props
similarity index 52%
copy from Directory.Build.props
copy to build/NuGet.props
index 6acc95d..237a84d 100644
--- a/Directory.Build.props
+++ b/build/NuGet.props
@@ -1,4 +1,4 @@
-<!--
+<!--
 
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
@@ -19,13 +19,16 @@
 
 -->
 <Project>
-  <PropertyGroup Label="Copyright Info">
-    <Product>Lucene.Net</Product>
-    <Company>The Apache Software Foundation</Company>
-    <CurrentYear Condition=" '$(CurrentYear)' == '' ">$([System.DateTime]::UtcNow.Year.ToString())</CurrentYear>
-    <BeginCopyrightYear>2006</BeginCopyrightYear>
-    <CopyrightYearRange>$(BeginCopyrightYear) - $(CurrentYear)</CopyrightYearRange>
-    <CopyrightYearRange Condition=" '$(BeginCopyrightYear)' == '$(CurrentYear)' ">$(CurrentYear)</CopyrightYearRange>
-    <Copyright>Copyright © $(CopyrightYearRange) $(Company)</Copyright>
+  <PropertyGroup Label="NuGet Package Properties">
+    <IsPackable>true</IsPackable>
+    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query</PackageTags>
+    <Authors>The Apache Software Foundation</Authors>
+    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
+    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
+    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageLicenseFile>LICENSE.txt</PackageLicenseFile>
   </PropertyGroup>
+  <ItemGroup>
+    <None Include="$(SolutionDir)LICENSE.txt" Pack="true" PackagePath="$(PackageLicenseFile)"/>
+  </ItemGroup>
 </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 3283ce3..4f5e3b1 100644
--- a/src/Lucene.Net.Analysis.Common/Lucene.Net.Analysis.Common.csproj
+++ b/src/Lucene.Net.Analysis.Common/Lucene.Net.Analysis.Common.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard2.0;netstandard1.6;net45</TargetFrameworks>
@@ -29,12 +30,7 @@
 
     <AssemblyTitle>Lucene.Net.Analysis.Common</AssemblyTitle>
     <Description>Analyzers for indexing content in different languages and domains for the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageTags>$(PackageTags);analysis</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
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 85f93d5..ca2abe7 100644
--- a/src/Lucene.Net.Analysis.Kuromoji/Lucene.Net.Analysis.Kuromoji.csproj
+++ b/src/Lucene.Net.Analysis.Kuromoji/Lucene.Net.Analysis.Kuromoji.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
@@ -29,12 +30,7 @@
 
     <AssemblyTitle>Lucene.Net.Analysis.Kuromoji</AssemblyTitle>
     <Description>Japanese Morphological Analyzer for the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query;japanese</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageTags>$(PackageTags);analysis;japanese</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
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 906e10f..2464123 100644
--- a/src/Lucene.Net.Analysis.Phonetic/Lucene.Net.Analysis.Phonetic.csproj
+++ b/src/Lucene.Net.Analysis.Phonetic/Lucene.Net.Analysis.Phonetic.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
 
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
@@ -29,12 +30,7 @@
 
     <AssemblyTitle>Lucene.Net.Analysis.Phonetic</AssemblyTitle>
     <Description>Analyzer for indexing phonetic signatures (for sounds-alike search) for the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query;soundex;double;metaphone;sounds;like;beider;morse;cologne;caverphone;nysiis;match;rating</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageTags>$(PackageTags);analysis;soundex;double;metaphone;sounds;like;beider;morse;cologne;caverphone;nysiis;match;rating</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj b/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj
index a72e9fb..934fcdc 100644
--- a/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj
+++ b/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
@@ -29,12 +30,7 @@
 
     <AssemblyTitle>Lucene.Net.Analysis.SmartCn</AssemblyTitle>
     <Description>Analyzer for indexing Chinese for the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query;chinese;smart</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageTags>$(PackageTags);analysis;chinese;smart</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
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 ea5e3ca..ff1f980 100644
--- a/src/Lucene.Net.Analysis.Stempel/Lucene.Net.Analysis.Stempel.csproj
+++ b/src/Lucene.Net.Analysis.Stempel/Lucene.Net.Analysis.Stempel.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
@@ -29,12 +30,7 @@
 
     <AssemblyTitle>Lucene.Net.Analysis.Stempel</AssemblyTitle>
     <Description>Analyzer for indexing Polish for the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query;polish</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageTags>$(PackageTags);analysis;polish</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj b/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
index bde4c0b..494df7a 100644
--- a/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
+++ b/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
   
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
 
   <PropertyGroup>
     <TargetFrameworks>netstandard2.0;netstandard1.6;net45</TargetFrameworks>
@@ -29,13 +30,8 @@
 
     <AssemblyTitle>Lucene.Net.Benchmark</AssemblyTitle>
     <Description>System for benchmarking the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query;benchmark</PackageTags>
+    <PackageTags>$(PackageTags);benchmark</PackageTags>
     <PackageReleaseNotes>This package depends on a temporary version of icu.net hosted on MyGet until official .NET Core support is added. To install, copy the NuGet.config file from https://github.com/apache/lucenenet/blob/master/NuGet.config into your project and then install this package via Package Manager Console as usual.</PackageReleaseNotes>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Classification/Lucene.Net.Classification.csproj b/src/Lucene.Net.Classification/Lucene.Net.Classification.csproj
index f2a0378..7d05b9b 100644
--- a/src/Lucene.Net.Classification/Lucene.Net.Classification.csproj
+++ b/src/Lucene.Net.Classification/Lucene.Net.Classification.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
@@ -29,12 +30,7 @@
 
     <AssemblyTitle>Lucene.Net.Classification</AssemblyTitle>
     <Description>Classification module for the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageTags>$(PackageTags);classification</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj b/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj
index 1c01658..5cb5a8b 100644
--- a/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj
+++ b/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
@@ -29,12 +30,7 @@
 
     <AssemblyTitle>Lucene.Net.Codecs</AssemblyTitle>
     <Description>Specialized codecs and postings formats for the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query;codec</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageTags>$(PackageTags);codec</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj b/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj
index 983362d..e5cd76e 100644
--- a/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj
+++ b/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <!-- Demo is deployed through the dotnet/tools/lucene-cli package -->
   
   <PropertyGroup>
     <TargetFrameworks>netstandard2.0;netstandard1.6;net45</TargetFrameworks>
@@ -29,12 +30,7 @@
 
     <AssemblyTitle>Lucene.Net.Demo</AssemblyTitle>
     <Description>Simple example code for the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageTags>$(PackageTags);demo</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj b/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj
index bad9977..34f34d6 100644
--- a/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj
+++ b/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
@@ -29,12 +30,7 @@
 
     <AssemblyTitle>Lucene.Net.Expressions</AssemblyTitle>
     <Description>Dynamically computed values to sort/facet/search on based on a pluggable grammar for the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageTags>$(PackageTags);expression</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj b/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
index 24aaac3..399d43a 100644
--- a/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
+++ b/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
@@ -29,12 +30,7 @@
 
     <AssemblyTitle>Lucene.Net.Facet</AssemblyTitle>
     <Description>Faceted indexing and search capabilities for the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query;facet;faceted</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageTags>$(PackageTags);facet;faceted</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj b/src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj
index d2dce9f..d6d10b8 100644
--- a/src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj
+++ b/src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
@@ -29,12 +30,7 @@
 
     <AssemblyTitle>Lucene.Net.Grouping</AssemblyTitle>
     <Description>Collectors for grouping search results for the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query;grouping;group</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageTags>$(PackageTags);grouping;group</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj b/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
index e5db907..f900596 100644
--- a/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
+++ b/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
@@ -29,12 +30,7 @@
 
     <AssemblyTitle>Lucene.Net.Highlighter</AssemblyTitle>
     <Description>Highlights search keywords in results from the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query;highlight;highlighter</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageTags>$(PackageTags);highlight;highlighter</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Join/Lucene.Net.Join.csproj b/src/Lucene.Net.Join/Lucene.Net.Join.csproj
index f5490fc..8409ce0 100644
--- a/src/Lucene.Net.Join/Lucene.Net.Join.csproj
+++ b/src/Lucene.Net.Join/Lucene.Net.Join.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
@@ -29,12 +30,7 @@
 
     <AssemblyTitle>Lucene.Net.Join</AssemblyTitle>
     <Description>Index-time and Query-time joins for normalized content of the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query;join</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageTags>$(PackageTags);join</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj b/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj
index 6916210..26e00e1 100644
--- a/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj
+++ b/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard2.0;netstandard1.6;net45</TargetFrameworks>
@@ -29,12 +30,7 @@
     
     <AssemblyTitle>Lucene.Net.Memory</AssemblyTitle>
     <Description>Single-document in-memory index implementation for the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query;memory</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageTags>$(PackageTags);memory</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj b/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj
index 6f9d70f..464fc30 100644
--- a/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj
+++ b/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
@@ -29,12 +30,7 @@
 
     <AssemblyTitle>Lucene.Net.Misc</AssemblyTitle>
     <Description>Index tools and other miscellaneous functionality for the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageTags>$(PackageTags);miscellaneous</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Queries/Lucene.Net.Queries.csproj b/src/Lucene.Net.Queries/Lucene.Net.Queries.csproj
index fa15e0c..78fd9fb 100644
--- a/src/Lucene.Net.Queries/Lucene.Net.Queries.csproj
+++ b/src/Lucene.Net.Queries/Lucene.Net.Queries.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
@@ -29,12 +30,7 @@
 
     <AssemblyTitle>Lucene.Net.Queries</AssemblyTitle>
     <Description>Extended Filters and Queries for the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageTags>$(PackageTags);query;queries</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj b/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
index be1e8de..ce388fd 100644
--- a/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
+++ b/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard2.0;netstandard1.6;net45</TargetFrameworks>
@@ -29,12 +30,7 @@
 
     <AssemblyTitle>Lucene.Net.QueryParser</AssemblyTitle>
     <Description>Query parsers and parsing framework for the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query;queryparser</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageTags>$(PackageTags);query;queryparser</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj b/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj
index 4ce6302..bd17773 100644
--- a/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj
+++ b/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
@@ -29,12 +30,7 @@
 
     <AssemblyTitle>Lucene.Net.Replicator</AssemblyTitle>
     <Description>Replicator that allows replication of files between a server and client(s) for the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query;files;replication;replicate</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageTags>$(PackageTags);files;replication;replicate</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj b/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj
index cb5a64f..efed9eb 100644
--- a/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj
+++ b/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
@@ -29,12 +30,7 @@
 
     <AssemblyTitle>Lucene.Net.Sandbox</AssemblyTitle>
     <Description>Various third party contributions and new ideas extensions for the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageTags>$(PackageTags);sandbox</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj b/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
index 0c02c45..6e6ce65 100644
--- a/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
+++ b/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard2.0;netstandard1.6;net45</TargetFrameworks>
@@ -29,12 +30,7 @@
 
     <AssemblyTitle>Lucene.Net.Spatial</AssemblyTitle>
     <Description>Geospatial search for the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query;spatial;geo;geospatial;2d</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageTags>$(PackageTags);spatial;geo;geospatial;2d</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj b/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj
index 5690a65..b6e4cd9 100644
--- a/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj
+++ b/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
@@ -29,12 +30,7 @@
 
     <AssemblyTitle>Lucene.Net.Suggest</AssemblyTitle>
     <Description>Auto-suggest and Spellchecking support for the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query;suggest;suggestion</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageTags>$(PackageTags);suggest;suggestion</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj b/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj
index 4d36c1b..0443b6e 100644
--- a/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj
+++ b/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj
@@ -22,6 +22,8 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <!-- This package is currently not being deployed to NuGet because it only works with NUnit and has many quality issues -->
+  <!--<Import Project="$(SolutionDir)build/NuGet.props" />-->
   
   <PropertyGroup>
     <TargetFrameworks>netstandard2.0;netstandard1.6;net45</TargetFrameworks>
@@ -29,12 +31,7 @@
 
     <AssemblyTitle>Lucene.Net.TestFramework</AssemblyTitle>
     <Description>Framework for testing Lucene.Net-based applications from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageTags>$(PackageTags);testframework;test;framework</PackageTags>
     <!-- LUCENENET TODO: If we ever complete the work to release this module, we should add the documentation and
       remove all of the warnings this line produces. -->
     <!--<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>-->
diff --git a/src/Lucene.Net/Lucene.Net.csproj b/src/Lucene.Net/Lucene.Net.csproj
index 38bfff4..a660f0d 100644
--- a/src/Lucene.Net/Lucene.Net.csproj
+++ b/src/Lucene.Net/Lucene.Net.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard2.0;netstandard1.6;net45</TargetFrameworks>
@@ -29,12 +30,6 @@
 
     <AssemblyTitle>Lucene.Net</AssemblyTitle>
     <Description>Lucene.Net is a full-text search engine library capable of advanced text analysis, indexing, and searching. It can be used to easily add search capabilities to applications. Lucene.Net is a C# port of the popular Java Lucene search engine framework from The Apache Software Foundation, targeted at .NET Framework and .NET Core users.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
     
diff --git a/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj b/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
index 8c7a841..69b9802 100644
--- a/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
+++ b/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
@@ -29,13 +30,8 @@
 
     <AssemblyTitle>Lucene.Net.ICU</AssemblyTitle>
     <Description>International Components for Unicode-based features including Thai analyzer support, an international postings highlighter, and BreakIterator support for the vector highlighter for the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query;icu;international;unicode</PackageTags>
+    <PackageTags>$(PackageTags);icu;international;unicode</PackageTags>
     <PackageReleaseNotes>This package depends on a temporary version of icu.net hosted on MyGet until official .NET Core support is added. To install, copy the NuGet.config file from https://github.com/apache/lucenenet/blob/master/NuGet.config into your project and then install this package via Package Manager Console as usual.</PackageReleaseNotes>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
     <DefineConstants>$(DefineConstants);FEATURE_BREAKITERATOR</DefineConstants>
diff --git a/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj b/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
index 99e9c37..002ddf9 100644
--- a/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
+++ b/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
@@ -22,6 +22,8 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <!-- For now, we are not deploying this to NuGet.org -->
+  <!--<Import Project="$(SolutionDir)build/NuGet.props" />-->
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net451</TargetFrameworks>
@@ -29,12 +31,7 @@
 
     <AssemblyTitle>Lucene.Net.Replicator.AspNetCore</AssemblyTitle>
     <Description>AspNetCore integration of Lucene.Net.Replicator for the Lucene.Net full-text search engine library from The Apache Software Foundation.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query;files;replication;replicate;aspnetcore</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
+    <PackageTags>$(PackageTags);files;replication;replicate;aspnetcore</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 
diff --git a/src/dotnet/tools/lucene-cli/lucene-cli.csproj b/src/dotnet/tools/lucene-cli/lucene-cli.csproj
index a132873..1be4be2 100644
--- a/src/dotnet/tools/lucene-cli/lucene-cli.csproj
+++ b/src/dotnet/tools/lucene-cli/lucene-cli.csproj
@@ -22,6 +22,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
+  <Import Project="$(SolutionDir)build/NuGet.props" />
 
   <PropertyGroup>
     <TargetFramework>netcoreapp2.1</TargetFramework>
@@ -32,14 +33,6 @@
     <AssemblyName>lucene-cli</AssemblyName>
     <OutputType>Exe</OutputType>
     <PackageId>lucene-cli</PackageId>
-    <Description>The Lucene.Net command line interface (CLI) is a new cross-platform toolchain with utilities for maintaining Lucene.Net and demos for learning basic Lucene.Net functionality. Run 'dotnet lucene-cli.dll' to see usage information.</Description>
-    <PackageTags>lucene.net;core;text;search;information;retrieval;lucene;apache;analysis;index;query;maintenance;utility</PackageTags>
-    <Authors>The Apache Software Foundation</Authors>
-    <RepositoryUrl>https://github.com/apache/lucenenet</RepositoryUrl>
-    <PackageLicenseUrl>https://github.com/apache/lucenenet/blob/master/LICENSE.txt</PackageLicenseUrl>
-    <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
-    <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
-    <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
     <Description>The Lucene.Net command line interface (CLI) is a new cross-platform toolchain with utilities for maintaining Lucene.Net and demos for learning basic Lucene.Net functionality. Run 'lucene' to see usage information.</Description>
     <PackageTags>$(PackageTags);maintenance;utility</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>


[lucenenet] 12/29: build.ps1: Fixed tests and setup build to use a specific SDK version (2.1.505)

Posted by ni...@apache.org.
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 672286184c7d87d10b33e50d3a81256ecaf4d718
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Tue Jul 9 15:56:22 2019 +0700

    build.ps1: Fixed tests and setup build to use a specific SDK version (2.1.505)
---
 build/build.ps1 | 102 +++++++++++++++++++++++++++++++++++++++++---------------
 1 file changed, 76 insertions(+), 26 deletions(-)

diff --git a/build/build.ps1 b/build/build.ps1
index da171b7..0987726 100644
--- a/build/build.ps1
+++ b/build/build.ps1
@@ -28,6 +28,8 @@ properties {
 	[string]$solutionFile = "$base_directory\Lucene.Net.sln"
 	[string]$versionFile = "$base_directory\Version.proj"
 	[string]$sdkPath = "$env:programfiles/dotnet/sdk"
+	[string]$sdkVersion = "2.1.505"
+	[string]$globalJsonFile = "$base_directory/global.json"
 
 	[string]$buildCounter     = $(if ($buildCounter) { $buildCounter } else { $env:BuildCounter }) #NOTE: Pass in as a parameter (not a property) or environment variable to override
 	[string]$preReleaseCounterPattern = $(if ($preReleaseCounterPattern) { $preReleaseCounterPattern } else { if ($env:PreReleaseCounterPattern) { $env:PreReleaseCounterPattern } else { "00000" } })  #NOTE: Pass in as a parameter (not a property) or environment variable to override
@@ -61,28 +63,26 @@ task Clean -description "This task cleans up the build directory" {
 	Get-ChildItem $base_directory -Include *.bak -Recurse | foreach ($_) {Remove-Item $_.FullName}
 }
 
-task InstallSDK -description "This task makes sure the correct SDK version is installed to build" {
-	Write-Host "##teamcity[progressMessage 'Installing SDK']"
-	& where.exe dotnet.exe
-	$sdkVersion = "0.0.0.0"
-
-	if ($LASTEXITCODE -eq 0) {
-		$sdkVersion = [string]((& dotnet.exe --version) | Out-String).Trim()
-	}
-
-	Write-Host "Current SDK version: $sdkVersion" -ForegroundColor Yellow
+task UpdateLocalSDKVersion -description "Backs up the project.json file and updates the version" {
+	Backup-File $globalJsonFile
+	Generate-Global-Json `
+		-sdkVersion $sdkVersion `
+		-file $globalJsonFile
+}
 
-	# Make sure framework for .NET Core 2.0.0 is available
-	if (($sdkVersion.Contains("-")) -or ([version]$sdkVersion -lt ([version]"2.0.0")) -or ([version]$sdkVersion -ge ([version]"3.0.0"))) {
-		Write-Host "Requires SDK version 2.0.0 or greater, installing..." -ForegroundColor Red
-		Invoke-Expression "$base_directory\build\dotnet-install.ps1 -Version 2.0.0"
+task InstallSDK -depends UpdateLocalSDKVersion -description "This task makes sure the correct SDK version is installed to build" {
+	Write-Host "##teamcity[progressMessage 'Installing SDK $sdkVersion']"
+	$installed = Is-Sdk-Version-Installed $sdkVersion
+	if (!$installed) {
+		Write-Host "Requires SDK version $sdkVersion, installing..." -ForegroundColor Red
+		Invoke-Expression "$base_directory\build\dotnet-install.ps1 -Version $sdkVersion"
 	}
 
 	# Safety check - this should never happen
 	& where.exe dotnet.exe
 
 	if ($LASTEXITCODE -ne 0) {
-		throw "Could not find dotnet CLI in PATH. Please install the .NET Core 2.0 SDK."
+		throw "Could not find dotnet CLI in PATH. Please install the .NET Core 2.0 SDK, version $sdkVersion."
 	}
 }
 
@@ -94,20 +94,22 @@ task InstallSDK2IfRequired -description "This task installs the .NET Core 2.x SD
 	#}
 }
 
-task InstallSDK1IfRequired -description "This task installs the .NET Core 1.x SDK (required for testing under .NET Core 1.0)" {
-	Write-Host "##teamcity[progressMessage 'Installing SDK']"
+task InstallSDK1IfRequired -depends UpdateLocalSDKVersion -description "This task installs the .NET Core 1.x SDK (required for testing under .NET Core 1.0)" {
+	Write-Host "##teamcity[progressMessage 'Installing SDK 1.x']"
 	if ($frameworks_to_test.Contains("netcoreapp1.")) {
-		# Make sure framework for .NET Core 1.0.4 is available
-		if (((Test-Path "$sdkPath/1.0.4") -eq $false) -and ((Test-Path "$sdkPath/1.1.0") -eq $false)) {
-			Write-Host "Requires SDK version 1.0.4, installing..." -ForegroundColor Red
-			Invoke-Expression "$base_directory\build\dotnet-install.ps1 -Version 1.0.4"
+
+		# Make sure framework for .NET Core 1.1.14 is available
+		$installed = Is-Sdk-Version-Installed '1.1.14'
+		if (!$installed) {
+			Write-Host "Requires SDK version 1.1.14, installing..." -ForegroundColor Red
+			Invoke-Expression "$base_directory\build\dotnet-install.ps1 -Version 1.1.14"
 		}
 
 		# Safety check - this should never happen
 		& where.exe dotnet.exe
 
 		if ($LASTEXITCODE -ne 0) {
-			throw "Could not find dotnet CLI in PATH. Please install the .NET Core 1.0.4 SDK."
+			throw "Could not find dotnet CLI in PATH. Please install the .NET Core 1.1.14 SDK."
 		}
 	}
 }
@@ -226,7 +228,7 @@ task Test -depends InstallSDK1IfRequired, InstallSDK2IfRequired, Restore -descri
 			$testName = $testProject.Directory.Name
 
 			# Special case - our CLI tool only supports .NET Core 2.0
-			if ($testName.Contains("Tests.Cli") -and ($framework -ne "netcoreapp2.0")) {
+			if ($testName.Contains("Tests.Cli") -and (!$framework.StartsWith("netcoreapp2."))) {
 				continue
 			}
 
@@ -234,10 +236,10 @@ task Test -depends InstallSDK1IfRequired, InstallSDK2IfRequired, Restore -descri
 			Ensure-Directory-Exists $testResultDirectory
 
 			if ($framework.StartsWith("netcore")) {
-				$testExpression = "dotnet.exe test $testProject --configuration $configuration --framework $framework --no-build"
+				$testExpression = "dotnet.exe test $testProject --configuration $configuration --framework $framework --no-build --logger:trx"
 				#if ($framework -ne "netcoreapp1.0") {
-					$testExpression = "$testExpression --no-restore"
-					$testExpression = "$testExpression --results-directory $testResultDirectory\TestResult.xml"
+					$testExpression = "$testExpression --no-restore --blame"
+					$testExpression = "$testExpression --results-directory $testResultDirectory"
 				#}
 				
 				if ($where -ne $null -and (-Not [System.String]::IsNullOrEmpty($where))) {
@@ -324,6 +326,35 @@ function Get-Version() {
 	return $version
 }
 
+function Is-Sdk-Version-Installed([string]$sdkVersion) {
+	& where.exe dotnet.exe | Out-Null
+	if ($LASTEXITCODE -eq 0) {
+		pushd $PSScriptRoot
+		$version = ((& dotnet --version 2>&1) | Out-String).Trim()
+		popd
+
+        # May happen if global.json contains a version that
+        # isn't installed, but we have at least one
+		if ($version.Contains('not found')) {
+			return $false
+		} elseif ([version]$version -eq [version]$sdkVersion) {
+            return $true
+        } elseif ([version]$version -gt [version]"2.1.0") {
+            $availableSdks = ((& dotnet --list-sdks) | Out-String)
+            if ($LASTEXITCODE -eq 0) {
+			    if ($availableSdks.Contains($sdkVersion)) {
+                    return $true
+                } else {
+                    return $false
+                }
+            } else {
+			    return (Test-Path "$sdkPath/$sdkVersion")
+		    }
+        }
+	}
+    return $false
+}
+
 function Prepare-For-Build() {
 	Backup-File $common_assembly_info 
 
@@ -348,6 +379,25 @@ function Update-Constants-Version([string]$version) {
 	} | Set-Content $constantsFile -Force
 }
 
+function Generate-Global-Json {
+param(
+	[string]$sdkVersion,
+	[string]$file = $(throw "file is a required parameter.")
+)
+
+$fileText = "{
+  ""sources"": [ ""src"" ],
+  ""sdk"": {
+    ""version"": ""$sdkVersion""
+  }
+}"
+	$dir = [System.IO.Path]::GetDirectoryName($file)
+	Ensure-Directory-Exists $dir
+
+	Write-Host "Generating global.json file: $file"
+	Out-File -filePath $file -encoding UTF8 -inputObject $fileText
+}
+
 function Generate-Assembly-Info {
 param(
 	[string]$version,


[lucenenet] 11/29: BUG: Fixes BaseTestRangeFilter cleanup - safely call Dispose by ensuring the reference variable is not null

Posted by ni...@apache.org.
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 eda62018eaad15a3e2adc20cbb9e9429e82bf4d2
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Tue Jul 9 10:05:36 2019 +0700

    BUG: Fixes BaseTestRangeFilter cleanup - safely call Dispose by ensuring the reference variable is not null
---
 src/Lucene.Net.Tests/Search/BaseTestRangeFilter.cs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/Lucene.Net.Tests/Search/BaseTestRangeFilter.cs b/src/Lucene.Net.Tests/Search/BaseTestRangeFilter.cs
index 412ce9f..efea341 100644
--- a/src/Lucene.Net.Tests/Search/BaseTestRangeFilter.cs
+++ b/src/Lucene.Net.Tests/Search/BaseTestRangeFilter.cs
@@ -118,8 +118,8 @@ namespace Lucene.Net.Search
         {
             SignedIndexReader?.Dispose();
             UnsignedIndexReader?.Dispose();
-            SignedIndexDir.Index?.Dispose();
-            UnsignedIndexDir.Index?.Dispose();
+            SignedIndexDir?.Index?.Dispose();
+            UnsignedIndexDir?.Index?.Dispose();
             SignedIndexReader = null;
             UnsignedIndexReader = null;
             SignedIndexDir = null;


[lucenenet] 01/29: Patched SolutionDir MSBuild property so it works for dotnet.exe commands and updated project imports to utilize it

Posted by ni...@apache.org.
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 b6d0cff72ddc893b8ceb7f85e898a11d2f68ab37
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Sat Jul 6 21:45:00 2019 +0700

    Patched SolutionDir MSBuild property so it works for dotnet.exe commands and updated project imports to utilize it
---
 Lucene.Net.sln                                     |  6 +++++
 src/Directory.Build.props                          | 29 ++++++++++++++++++++++
 .../Lucene.Net.Analysis.Common.csproj              |  4 +--
 .../Lucene.Net.Analysis.Kuromoji.csproj            |  4 +--
 .../Lucene.Net.Analysis.Phonetic.csproj            |  4 +--
 .../Lucene.Net.Analysis.SmartCn.csproj             |  4 +--
 .../Lucene.Net.Analysis.Stempel.csproj             |  4 +--
 .../Lucene.Net.Benchmark.csproj                    |  4 +--
 .../Lucene.Net.Classification.csproj               |  4 +--
 src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj     |  4 +--
 src/Lucene.Net.Demo/Lucene.Net.Demo.csproj         |  4 +--
 .../Lucene.Net.Expressions.csproj                  |  4 +--
 src/Lucene.Net.Facet/Lucene.Net.Facet.csproj       |  4 +--
 src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj |  4 +--
 .../Lucene.Net.Highlighter.csproj                  |  4 +--
 src/Lucene.Net.Join/Lucene.Net.Join.csproj         |  4 +--
 src/Lucene.Net.Memory/Lucene.Net.Memory.csproj     |  4 +--
 src/Lucene.Net.Misc/Lucene.Net.Misc.csproj         |  4 +--
 src/Lucene.Net.Queries/Lucene.Net.Queries.csproj   |  4 +--
 .../Lucene.Net.QueryParser.csproj                  |  4 +--
 .../Lucene.Net.Replicator.csproj                   |  4 +--
 src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj   |  4 +--
 src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj   |  4 +--
 src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj   |  4 +--
 .../Lucene.Net.TestFramework.csproj                |  4 +--
 .../Lucene.Net.Tests.Analysis.Common.csproj        |  6 ++---
 .../Lucene.Net.Tests.Analysis.Kuromoji.csproj      |  6 ++---
 .../Lucene.Net.Tests.Analysis.Phonetic.csproj      |  6 ++---
 .../Lucene.Net.Tests.Analysis.SmartCn.csproj       |  6 ++---
 .../Lucene.Net.Tests.Analysis.Stempel.csproj       |  6 ++---
 .../Lucene.Net.Tests.Benchmark.csproj              |  6 ++---
 .../Lucene.Net.Tests.Classification.csproj         |  6 ++---
 .../Lucene.Net.Tests.Codecs.csproj                 |  6 ++---
 .../Lucene.Net.Tests.Demo.csproj                   |  6 ++---
 .../Lucene.Net.Tests.Expressions.csproj            |  6 ++---
 .../Lucene.Net.Tests.Facet.csproj                  |  6 ++---
 .../Lucene.Net.Tests.Grouping.csproj               |  6 ++---
 .../Lucene.Net.Tests.Highlighter.csproj            |  6 ++---
 .../Lucene.Net.Tests.Join.csproj                   |  6 ++---
 .../Lucene.Net.Tests.Memory.csproj                 |  6 ++---
 .../Lucene.Net.Tests.Misc.csproj                   |  6 ++---
 .../Lucene.Net.Tests.Queries.csproj                |  6 ++---
 .../Lucene.Net.Tests.QueryParser.csproj            |  6 ++---
 .../Lucene.Net.Tests.Replicator.csproj             |  6 ++---
 .../Lucene.Net.Tests.Sandbox.csproj                |  6 ++---
 .../Lucene.Net.Tests.Spatial.csproj                |  6 ++---
 .../Lucene.Net.Tests.Suggest.csproj                |  6 ++---
 src/Lucene.Net.Tests/Lucene.Net.Tests.csproj       |  6 ++---
 src/Lucene.Net/Lucene.Net.csproj                   |  4 +--
 src/dotnet/Directory.Build.props                   | 29 ++++++++++++++++++++++
 src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj    |  4 +--
 .../Lucene.Net.Replicator.AspNetCore.csproj        |  4 +--
 .../Lucene.Net.Tests.ICU.csproj                    |  6 ++---
 src/dotnet/tools/Directory.Build.props             | 29 ++++++++++++++++++++++
 .../Lucene.Net.Tests.Cli.csproj                    |  4 +--
 src/dotnet/tools/lucene-cli/lucene-cli.csproj      |  4 +--
 56 files changed, 221 insertions(+), 128 deletions(-)

diff --git a/Lucene.Net.sln b/Lucene.Net.sln
index 1991479..ab29568 100644
--- a/Lucene.Net.sln
+++ b/Lucene.Net.sln
@@ -22,6 +22,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00
 VisualStudioVersion = 15.0.26730.8
 MinimumVisualStudioVersion = 15.0.26730.8
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dotnet", "dotnet", "{8CA61D33-3590-4024-A304-7B1F75B50653}"
+	ProjectSection(SolutionItems) = preProject
+		src\dotnet\Directory.Build.props = src\dotnet\Directory.Build.props
+	EndProjectSection
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{4016BDAB-6C33-4D1E-9439-57B416EA45D5}"
 	ProjectSection(SolutionItems) = preProject
@@ -33,6 +36,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{4016BDAB
 	EndProjectSection
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{4DF7EACE-2B25-43F6-B558-8520BF20BD76}"
+	ProjectSection(SolutionItems) = preProject
+		src\dotnet\tools\Directory.Build.props = src\dotnet\tools\Directory.Build.props
+	EndProjectSection
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lucene.Net", "src\Lucene.Net\Lucene.Net.csproj", "{3A0AA37E-2B7B-4416-B528-DA4E0E6A6706}"
 EndProject
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
new file mode 100644
index 0000000..7cb8e9e
--- /dev/null
+++ b/src/Directory.Build.props
@@ -0,0 +1,29 @@
+<!--
+
+ 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.
+
+-->
+<Project>
+  <Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
+
+  <PropertyGroup>
+    <!-- According to the docs (https://docs.microsoft.com/en-us/cpp/build/reference/common-macros-for-build-commands-and-properties?view=vs-2019), the 
+      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>
+</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 f562916..67848f3 100644
--- a/src/Lucene.Net.Analysis.Common/Lucene.Net.Analysis.Common.csproj
+++ b/src/Lucene.Net.Analysis.Common/Lucene.Net.Analysis.Common.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard2.0;netstandard1.6;net45</TargetFrameworks>
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 500aaec..7a1e53e 100644
--- a/src/Lucene.Net.Analysis.Kuromoji/Lucene.Net.Analysis.Kuromoji.csproj
+++ b/src/Lucene.Net.Analysis.Kuromoji/Lucene.Net.Analysis.Kuromoji.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
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 910f161..7224972 100644
--- a/src/Lucene.Net.Analysis.Phonetic/Lucene.Net.Analysis.Phonetic.csproj
+++ b/src/Lucene.Net.Analysis.Phonetic/Lucene.Net.Analysis.Phonetic.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
diff --git a/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj b/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj
index 5231ba2..3b72999 100644
--- a/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj
+++ b/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
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 9d9eb48..d9191d7 100644
--- a/src/Lucene.Net.Analysis.Stempel/Lucene.Net.Analysis.Stempel.csproj
+++ b/src/Lucene.Net.Analysis.Stempel/Lucene.Net.Analysis.Stempel.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
diff --git a/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj b/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
index 67c6321..8cc8a2b 100644
--- a/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
+++ b/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
   
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <TargetFrameworks>netstandard2.0;netstandard1.6;net45</TargetFrameworks>
diff --git a/src/Lucene.Net.Classification/Lucene.Net.Classification.csproj b/src/Lucene.Net.Classification/Lucene.Net.Classification.csproj
index e950a94..d251b45 100644
--- a/src/Lucene.Net.Classification/Lucene.Net.Classification.csproj
+++ b/src/Lucene.Net.Classification/Lucene.Net.Classification.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
diff --git a/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj b/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj
index be2532c..73e1d52 100644
--- a/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj
+++ b/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
diff --git a/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj b/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj
index 281dfc5..e255de8 100644
--- a/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj
+++ b/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard2.0;netstandard1.6;net45</TargetFrameworks>
diff --git a/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj b/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj
index 6b3767f..da3e43a 100644
--- a/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj
+++ b/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
diff --git a/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj b/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
index 0b2d7e6..e88d061 100644
--- a/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
+++ b/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
diff --git a/src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj b/src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj
index e901749..07c9e74 100644
--- a/src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj
+++ b/src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
diff --git a/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj b/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
index b019de9..e01905f 100644
--- a/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
+++ b/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
diff --git a/src/Lucene.Net.Join/Lucene.Net.Join.csproj b/src/Lucene.Net.Join/Lucene.Net.Join.csproj
index 185cdcb..990ea0b 100644
--- a/src/Lucene.Net.Join/Lucene.Net.Join.csproj
+++ b/src/Lucene.Net.Join/Lucene.Net.Join.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
diff --git a/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj b/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj
index 30231ae..0eca13a 100644
--- a/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj
+++ b/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard2.0;netstandard1.6;net45</TargetFrameworks>
diff --git a/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj b/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj
index c38bde9..a3e83f6 100644
--- a/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj
+++ b/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
diff --git a/src/Lucene.Net.Queries/Lucene.Net.Queries.csproj b/src/Lucene.Net.Queries/Lucene.Net.Queries.csproj
index 314568a..785154c 100644
--- a/src/Lucene.Net.Queries/Lucene.Net.Queries.csproj
+++ b/src/Lucene.Net.Queries/Lucene.Net.Queries.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
diff --git a/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj b/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
index 468131c..7d0a366 100644
--- a/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
+++ b/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard2.0;netstandard1.6;net45</TargetFrameworks>
diff --git a/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj b/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj
index d663475..25c3902 100644
--- a/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj
+++ b/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
diff --git a/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj b/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj
index e097612..b347dba 100644
--- a/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj
+++ b/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
diff --git a/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj b/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
index a8f81c7..de3df43 100644
--- a/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
+++ b/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard2.0;netstandard1.6;net45</TargetFrameworks>
diff --git a/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj b/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj
index eea2630..cfd8950 100644
--- a/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj
+++ b/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
diff --git a/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj b/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj
index d414b3f..dcf12e7 100644
--- a/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj
+++ b/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard2.0;netstandard1.6;net45</TargetFrameworks>
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Lucene.Net.Tests.Analysis.Common.csproj b/src/Lucene.Net.Tests.Analysis.Common/Lucene.Net.Tests.Analysis.Common.csproj
index ef17941..ff5f81d 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Lucene.Net.Tests.Analysis.Common.csproj
+++ b/src/Lucene.Net.Tests.Analysis.Common/Lucene.Net.Tests.Analysis.Common.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/Lucene.Net.Tests.Analysis.Kuromoji/Lucene.Net.Tests.Analysis.Kuromoji.csproj b/src/Lucene.Net.Tests.Analysis.Kuromoji/Lucene.Net.Tests.Analysis.Kuromoji.csproj
index 2f251a3..a8f0409 100644
--- a/src/Lucene.Net.Tests.Analysis.Kuromoji/Lucene.Net.Tests.Analysis.Kuromoji.csproj
+++ b/src/Lucene.Net.Tests.Analysis.Kuromoji/Lucene.Net.Tests.Analysis.Kuromoji.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/Lucene.Net.Tests.Analysis.Phonetic/Lucene.Net.Tests.Analysis.Phonetic.csproj b/src/Lucene.Net.Tests.Analysis.Phonetic/Lucene.Net.Tests.Analysis.Phonetic.csproj
index 3f5a803..a8687fb 100644
--- a/src/Lucene.Net.Tests.Analysis.Phonetic/Lucene.Net.Tests.Analysis.Phonetic.csproj
+++ b/src/Lucene.Net.Tests.Analysis.Phonetic/Lucene.Net.Tests.Analysis.Phonetic.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/Lucene.Net.Tests.Analysis.SmartCn/Lucene.Net.Tests.Analysis.SmartCn.csproj b/src/Lucene.Net.Tests.Analysis.SmartCn/Lucene.Net.Tests.Analysis.SmartCn.csproj
index 202d907..cbc3d35 100644
--- a/src/Lucene.Net.Tests.Analysis.SmartCn/Lucene.Net.Tests.Analysis.SmartCn.csproj
+++ b/src/Lucene.Net.Tests.Analysis.SmartCn/Lucene.Net.Tests.Analysis.SmartCn.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/Lucene.Net.Tests.Analysis.Stempel/Lucene.Net.Tests.Analysis.Stempel.csproj b/src/Lucene.Net.Tests.Analysis.Stempel/Lucene.Net.Tests.Analysis.Stempel.csproj
index 988e9e9..1855b82 100644
--- a/src/Lucene.Net.Tests.Analysis.Stempel/Lucene.Net.Tests.Analysis.Stempel.csproj
+++ b/src/Lucene.Net.Tests.Analysis.Stempel/Lucene.Net.Tests.Analysis.Stempel.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/Lucene.Net.Tests.Benchmark/Lucene.Net.Tests.Benchmark.csproj b/src/Lucene.Net.Tests.Benchmark/Lucene.Net.Tests.Benchmark.csproj
index b673582..ae8a4bd 100644
--- a/src/Lucene.Net.Tests.Benchmark/Lucene.Net.Tests.Benchmark.csproj
+++ b/src/Lucene.Net.Tests.Benchmark/Lucene.Net.Tests.Benchmark.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/Lucene.Net.Tests.Classification/Lucene.Net.Tests.Classification.csproj b/src/Lucene.Net.Tests.Classification/Lucene.Net.Tests.Classification.csproj
index 432f4fb..21a2171 100644
--- a/src/Lucene.Net.Tests.Classification/Lucene.Net.Tests.Classification.csproj
+++ b/src/Lucene.Net.Tests.Classification/Lucene.Net.Tests.Classification.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/Lucene.Net.Tests.Codecs/Lucene.Net.Tests.Codecs.csproj b/src/Lucene.Net.Tests.Codecs/Lucene.Net.Tests.Codecs.csproj
index 4a02eb1..00aa964 100644
--- a/src/Lucene.Net.Tests.Codecs/Lucene.Net.Tests.Codecs.csproj
+++ b/src/Lucene.Net.Tests.Codecs/Lucene.Net.Tests.Codecs.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/Lucene.Net.Tests.Demo/Lucene.Net.Tests.Demo.csproj b/src/Lucene.Net.Tests.Demo/Lucene.Net.Tests.Demo.csproj
index ebb4ca7..375e7d2 100644
--- a/src/Lucene.Net.Tests.Demo/Lucene.Net.Tests.Demo.csproj
+++ b/src/Lucene.Net.Tests.Demo/Lucene.Net.Tests.Demo.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/Lucene.Net.Tests.Expressions/Lucene.Net.Tests.Expressions.csproj b/src/Lucene.Net.Tests.Expressions/Lucene.Net.Tests.Expressions.csproj
index 0fb9c1c..71daf18 100644
--- a/src/Lucene.Net.Tests.Expressions/Lucene.Net.Tests.Expressions.csproj
+++ b/src/Lucene.Net.Tests.Expressions/Lucene.Net.Tests.Expressions.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/Lucene.Net.Tests.Facet/Lucene.Net.Tests.Facet.csproj b/src/Lucene.Net.Tests.Facet/Lucene.Net.Tests.Facet.csproj
index 60bf222..6e06b72 100644
--- a/src/Lucene.Net.Tests.Facet/Lucene.Net.Tests.Facet.csproj
+++ b/src/Lucene.Net.Tests.Facet/Lucene.Net.Tests.Facet.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/Lucene.Net.Tests.Grouping/Lucene.Net.Tests.Grouping.csproj b/src/Lucene.Net.Tests.Grouping/Lucene.Net.Tests.Grouping.csproj
index 62ec7d6..44924ec 100644
--- a/src/Lucene.Net.Tests.Grouping/Lucene.Net.Tests.Grouping.csproj
+++ b/src/Lucene.Net.Tests.Grouping/Lucene.Net.Tests.Grouping.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/Lucene.Net.Tests.Highlighter/Lucene.Net.Tests.Highlighter.csproj b/src/Lucene.Net.Tests.Highlighter/Lucene.Net.Tests.Highlighter.csproj
index c6852b3..b7ae873 100644
--- a/src/Lucene.Net.Tests.Highlighter/Lucene.Net.Tests.Highlighter.csproj
+++ b/src/Lucene.Net.Tests.Highlighter/Lucene.Net.Tests.Highlighter.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/Lucene.Net.Tests.Join/Lucene.Net.Tests.Join.csproj b/src/Lucene.Net.Tests.Join/Lucene.Net.Tests.Join.csproj
index 1d34313..a1a0f26 100644
--- a/src/Lucene.Net.Tests.Join/Lucene.Net.Tests.Join.csproj
+++ b/src/Lucene.Net.Tests.Join/Lucene.Net.Tests.Join.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/Lucene.Net.Tests.Memory/Lucene.Net.Tests.Memory.csproj b/src/Lucene.Net.Tests.Memory/Lucene.Net.Tests.Memory.csproj
index fa1466c..e562a58 100644
--- a/src/Lucene.Net.Tests.Memory/Lucene.Net.Tests.Memory.csproj
+++ b/src/Lucene.Net.Tests.Memory/Lucene.Net.Tests.Memory.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/Lucene.Net.Tests.Misc/Lucene.Net.Tests.Misc.csproj b/src/Lucene.Net.Tests.Misc/Lucene.Net.Tests.Misc.csproj
index 9006786..ac42151 100644
--- a/src/Lucene.Net.Tests.Misc/Lucene.Net.Tests.Misc.csproj
+++ b/src/Lucene.Net.Tests.Misc/Lucene.Net.Tests.Misc.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/Lucene.Net.Tests.Queries/Lucene.Net.Tests.Queries.csproj b/src/Lucene.Net.Tests.Queries/Lucene.Net.Tests.Queries.csproj
index afcd30f..79302f8 100644
--- a/src/Lucene.Net.Tests.Queries/Lucene.Net.Tests.Queries.csproj
+++ b/src/Lucene.Net.Tests.Queries/Lucene.Net.Tests.Queries.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/Lucene.Net.Tests.QueryParser/Lucene.Net.Tests.QueryParser.csproj b/src/Lucene.Net.Tests.QueryParser/Lucene.Net.Tests.QueryParser.csproj
index 6f23eb2..8c0fe07 100644
--- a/src/Lucene.Net.Tests.QueryParser/Lucene.Net.Tests.QueryParser.csproj
+++ b/src/Lucene.Net.Tests.QueryParser/Lucene.Net.Tests.QueryParser.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/Lucene.Net.Tests.Replicator/Lucene.Net.Tests.Replicator.csproj b/src/Lucene.Net.Tests.Replicator/Lucene.Net.Tests.Replicator.csproj
index 6470320..22cd711 100644
--- a/src/Lucene.Net.Tests.Replicator/Lucene.Net.Tests.Replicator.csproj
+++ b/src/Lucene.Net.Tests.Replicator/Lucene.Net.Tests.Replicator.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/Lucene.Net.Tests.Sandbox/Lucene.Net.Tests.Sandbox.csproj b/src/Lucene.Net.Tests.Sandbox/Lucene.Net.Tests.Sandbox.csproj
index a87a815..2e756f3 100644
--- a/src/Lucene.Net.Tests.Sandbox/Lucene.Net.Tests.Sandbox.csproj
+++ b/src/Lucene.Net.Tests.Sandbox/Lucene.Net.Tests.Sandbox.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/Lucene.Net.Tests.Spatial/Lucene.Net.Tests.Spatial.csproj b/src/Lucene.Net.Tests.Spatial/Lucene.Net.Tests.Spatial.csproj
index 54b33cc..d28f8f0 100644
--- a/src/Lucene.Net.Tests.Spatial/Lucene.Net.Tests.Spatial.csproj
+++ b/src/Lucene.Net.Tests.Spatial/Lucene.Net.Tests.Spatial.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/Lucene.Net.Tests.Suggest/Lucene.Net.Tests.Suggest.csproj b/src/Lucene.Net.Tests.Suggest/Lucene.Net.Tests.Suggest.csproj
index c5a2690..6938c79 100644
--- a/src/Lucene.Net.Tests.Suggest/Lucene.Net.Tests.Suggest.csproj
+++ b/src/Lucene.Net.Tests.Suggest/Lucene.Net.Tests.Suggest.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj b/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj
index 13a16d7..82ff392 100644
--- a/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj
+++ b/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp2.0;netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/Lucene.Net/Lucene.Net.csproj b/src/Lucene.Net/Lucene.Net.csproj
index 8825f84..08edbfe 100644
--- a/src/Lucene.Net/Lucene.Net.csproj
+++ b/src/Lucene.Net/Lucene.Net.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard2.0;netstandard1.6;net45</TargetFrameworks>
diff --git a/src/dotnet/Directory.Build.props b/src/dotnet/Directory.Build.props
new file mode 100644
index 0000000..b299cb2
--- /dev/null
+++ b/src/dotnet/Directory.Build.props
@@ -0,0 +1,29 @@
+<!--
+
+ 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.
+
+-->
+<Project>
+  <Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
+
+  <PropertyGroup>
+    <!-- According to the docs (https://docs.microsoft.com/en-us/cpp/build/reference/common-macros-for-build-commands-and-properties?view=vs-2019), the 
+      SolutionDir is only available when running in the IDE, so we patch to ensure it also works when using dotnet.exe -->
+    <SolutionDir>$(MSBuildThisFileDirectory)../../</SolutionDir>
+  </PropertyGroup>
+</Project>
\ 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 bbdbd99..af619d7 100644
--- a/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
+++ b/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
diff --git a/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj b/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
index 2aed228..f2893ad 100644
--- a/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
+++ b/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net451</TargetFrameworks>
diff --git a/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj b/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj
index a18ac09..8bae0a0 100644
--- a/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj
+++ b/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,8 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\..\Version.proj" />
+  <Import Project="$(SolutionDir)TestTargetFramework.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <!--<TargetFrameworks>netcoreapp1.0;net451</TargetFrameworks>-->
diff --git a/src/dotnet/tools/Directory.Build.props b/src/dotnet/tools/Directory.Build.props
new file mode 100644
index 0000000..60fd836
--- /dev/null
+++ b/src/dotnet/tools/Directory.Build.props
@@ -0,0 +1,29 @@
+<!--
+
+ 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.
+
+-->
+<Project>
+  <Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
+
+  <PropertyGroup>
+    <!-- According to the docs (https://docs.microsoft.com/en-us/cpp/build/reference/common-macros-for-build-commands-and-properties?view=vs-2019), the 
+      SolutionDir is only available when running in the IDE, so we patch to ensure it also works when using dotnet.exe -->
+    <SolutionDir>$(MSBuildThisFileDirectory)../../../</SolutionDir>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj b/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj
index faa72f0..f1d4d83 100644
--- a/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj
+++ b/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->  
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <TargetFramework>netcoreapp2.0</TargetFramework>
diff --git a/src/dotnet/tools/lucene-cli/lucene-cli.csproj b/src/dotnet/tools/lucene-cli/lucene-cli.csproj
index eb4bb66..5f1d72f 100644
--- a/src/dotnet/tools/lucene-cli/lucene-cli.csproj
+++ b/src/dotnet/tools/lucene-cli/lucene-cli.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
 
  Licensed to the Apache Software Foundation (ASF) under one
@@ -21,7 +21,7 @@
 -->
 <Project Sdk="Microsoft.NET.Sdk">
 
-  <Import Project="..\..\..\..\Version.proj" />
+  <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
     <TargetFramework>netcoreapp2.0</TargetFramework>


[lucenenet] 18/29: Lucene.Net.Store.NativeFSLockFactory: Renamed local variables to conform with naming rules (closes #222)

Posted by ni...@apache.org.
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 c3e7ae30de1f23ec4198c817073096e302fc7a1b
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Tue Jul 9 16:29:08 2019 +0700

    Lucene.Net.Store.NativeFSLockFactory: Renamed local variables to conform with naming rules (closes #222)
---
 src/Lucene.Net/Store/NativeFSLockFactory.cs | 32 ++++++++++++++---------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/src/Lucene.Net/Store/NativeFSLockFactory.cs b/src/Lucene.Net/Store/NativeFSLockFactory.cs
index 6b253b8..a99e178 100644
--- a/src/Lucene.Net/Store/NativeFSLockFactory.cs
+++ b/src/Lucene.Net/Store/NativeFSLockFactory.cs
@@ -90,8 +90,8 @@ namespace Lucene.Net.Store
 
 		// LUCENENET: NativeFSLocks in Java are infact singletons; this is how we mimick that to track instances and make sure
 		// IW.Unlock and IW.IsLocked works correctly
-        private static readonly Dictionary<string, Lock> _locks = new Dictionary<string, Lock>();
-		private static readonly object _locks_lockObj = new object();
+        private static readonly Dictionary<string, Lock> locks = new Dictionary<string, Lock>();
+        private static readonly object locksSyncLock = new object();
 
 		/// <summary>
 		/// Given a lock name, return the full prefixed path of the actual lock file.
@@ -111,10 +111,10 @@ namespace Lucene.Net.Store
         {
             var path = GetCanonicalPathOfLockFile(lockName);
             Lock l;
-			lock (_locks_lockObj)
+			lock (locksSyncLock)
 			{
-				if (!_locks.TryGetValue(path, out l))
-					_locks.Add(path, l = NewLock(path));
+				if (!locks.TryGetValue(path, out l))
+					locks.Add(path, l = NewLock(path));
 			}
             return l;
         }
@@ -135,11 +135,11 @@ namespace Lucene.Net.Store
             Lock l;
 			// this is the reason why we can't use ConcurrentDictionary: we need the removal and disposal of the lock to be atomic
 			// otherwise it may clash with MakeLock making a lock and ClearLock disposing of it in another thread.
-			lock (_locks_lockObj)
+			lock (locksSyncLock)
 			{
-				if (_locks.TryGetValue(path, out l))
+				if (locks.TryGetValue(path, out l))
 				{
-					_locks.Remove(path);
+					locks.Remove(path);
 					l.Dispose();
 				}
 			}
@@ -169,7 +169,7 @@ namespace Lucene.Net.Store
         private FileStream channel;
         private readonly string path;
         private readonly DirectoryInfo lockDir;
-		private readonly object lockObject = new object(); // avoid lock(this)
+		private readonly object syncLock = new object(); // avoid lock(this)
 
         public NativeFSLock(NativeFSLockFactory outerInstance, DirectoryInfo lockDir, string path)
         {
@@ -180,7 +180,7 @@ namespace Lucene.Net.Store
 
         public override bool Obtain()
         {
-            lock (lockObject)
+            lock (syncLock)
             {
                 FailureReason = null;
 
@@ -248,7 +248,7 @@ namespace Lucene.Net.Store
         {
             if (disposing)
             {
-                lock (lockObject)
+                lock (syncLock)
                 {
                     // whether or not we have created a file, we need to remove
                     // the lock instance from the dictionary that tracks them.
@@ -291,7 +291,7 @@ namespace Lucene.Net.Store
 
         public override bool IsLocked()
         {
-            lock (lockObject)
+            lock (syncLock)
             {
                 // The test for is isLocked is not directly possible with native file locks:
 
@@ -342,7 +342,7 @@ namespace Lucene.Net.Store
         private FileStream channel;
         private readonly string path;
         private readonly DirectoryInfo lockDir;
-		private readonly object lockObject = new object(); // avoid lock(this)
+		private readonly object syncLock = new object(); // avoid lock(this)
 
 		public SharingAwareNativeFSLock(NativeFSLockFactory outerInstance, DirectoryInfo lockDir, string path)
         {
@@ -383,7 +383,7 @@ namespace Lucene.Net.Store
 
         public override bool Obtain()
         {
-            lock (lockObject)
+            lock (syncLock)
             {
                 FailureReason = null;
 
@@ -468,7 +468,7 @@ namespace Lucene.Net.Store
         {
             if (disposing)
             {
-                lock (lockObject)
+                lock (syncLock)
                 {
                     // whether or not we have created a file, we need to remove
                     // the lock instance from the dictionary that tracks them.
@@ -506,7 +506,7 @@ namespace Lucene.Net.Store
 
         public override bool IsLocked()
         {
-            lock (lockObject)
+            lock (syncLock)
             {
                 // First a shortcut, if a lock reference in this instance is available
                 if (channel != null)


[lucenenet] 17/29: fix locking/disposal bug

Posted by ni...@apache.org.
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 7f6c78570d4b7e5e4bbb8708acfe3a397822baca
Author: sourcerist <sp...@gmail.com>
AuthorDate: Fri Feb 8 14:44:47 2019 -0800

    fix locking/disposal bug
---
 src/Lucene.Net/Store/NativeFSLockFactory.cs | 72 ++++++++++++++++-------------
 1 file changed, 39 insertions(+), 33 deletions(-)

diff --git a/src/Lucene.Net/Store/NativeFSLockFactory.cs b/src/Lucene.Net/Store/NativeFSLockFactory.cs
index b5b65fc..6b253b8 100644
--- a/src/Lucene.Net/Store/NativeFSLockFactory.cs
+++ b/src/Lucene.Net/Store/NativeFSLockFactory.cs
@@ -88,16 +88,17 @@ namespace Lucene.Net.Store
             SetLockDir(lockDir);
         }
 
-        // LUCENENET: NativeFSLocks in Java are infact singletons; this is how we mimick that to track instances and make sure
-        // IW.Unlock and IW.IsLocked works correctly
-        internal static readonly Dictionary<string, Lock> _locks = new Dictionary<string, Lock>();
-
-        /// <summary>
-        /// Given a lock name, return the full prefixed path of the actual lock file.
-        /// </summary>
-        /// <param name="lockName"></param>
-        /// <returns></returns>
-        private string GetCanonicalPathOfLockFile(string lockName)
+		// LUCENENET: NativeFSLocks in Java are infact singletons; this is how we mimick that to track instances and make sure
+		// IW.Unlock and IW.IsLocked works correctly
+        private static readonly Dictionary<string, Lock> _locks = new Dictionary<string, Lock>();
+		private static readonly object _locks_lockObj = new object();
+
+		/// <summary>
+		/// Given a lock name, return the full prefixed path of the actual lock file.
+		/// </summary>
+		/// <param name="lockName"></param>
+		/// <returns></returns>
+		private string GetCanonicalPathOfLockFile(string lockName)
         {
             if (m_lockPrefix != null)
             {
@@ -110,9 +111,11 @@ namespace Lucene.Net.Store
         {
             var path = GetCanonicalPathOfLockFile(lockName);
             Lock l;
-            lock (_locks)
-                if (!_locks.TryGetValue(path, out l))
-                    _locks.Add(path, l = NewLock(path));
+			lock (_locks_lockObj)
+			{
+				if (!_locks.TryGetValue(path, out l))
+					_locks.Add(path, l = NewLock(path));
+			}
             return l;
         }
 
@@ -130,14 +133,16 @@ namespace Lucene.Net.Store
         {
             var path = GetCanonicalPathOfLockFile(lockName);
             Lock l;
-            // this is the reason why we can't use ConcurrentDictionary: we need the removal and disposal of the lock to be atomic
-            // otherwise it may clash with MakeLock making a lock and ClearLock disposing of it in another thread.
-            lock (_locks)
-                if (_locks.TryGetValue(path, out l))
-                {
-                    _locks.Remove(path);
-                    l.Dispose();
-                }
+			// this is the reason why we can't use ConcurrentDictionary: we need the removal and disposal of the lock to be atomic
+			// otherwise it may clash with MakeLock making a lock and ClearLock disposing of it in another thread.
+			lock (_locks_lockObj)
+			{
+				if (_locks.TryGetValue(path, out l))
+				{
+					_locks.Remove(path);
+					l.Dispose();
+				}
+			}
         }
     }
 
@@ -164,6 +169,7 @@ namespace Lucene.Net.Store
         private FileStream channel;
         private readonly string path;
         private readonly DirectoryInfo lockDir;
+		private readonly object lockObject = new object(); // avoid lock(this)
 
         public NativeFSLock(NativeFSLockFactory outerInstance, DirectoryInfo lockDir, string path)
         {
@@ -174,7 +180,7 @@ namespace Lucene.Net.Store
 
         public override bool Obtain()
         {
-            lock (this)
+            lock (lockObject)
             {
                 FailureReason = null;
 
@@ -242,15 +248,15 @@ namespace Lucene.Net.Store
         {
             if (disposing)
             {
-                lock (this)
+                lock (lockObject)
                 {
                     // whether or not we have created a file, we need to remove
                     // the lock instance from the dictionary that tracks them.
                     try
                     {
-                        lock (NativeFSLockFactory._locks)
-                            NativeFSLockFactory._locks.Remove(path);
-                    }
+						outerInstance?.ClearLock(path);
+
+					}
                     finally
                     {
                         if (channel != null)
@@ -285,7 +291,7 @@ namespace Lucene.Net.Store
 
         public override bool IsLocked()
         {
-            lock (this)
+            lock (lockObject)
             {
                 // The test for is isLocked is not directly possible with native file locks:
 
@@ -336,8 +342,9 @@ namespace Lucene.Net.Store
         private FileStream channel;
         private readonly string path;
         private readonly DirectoryInfo lockDir;
+		private readonly object lockObject = new object(); // avoid lock(this)
 
-        public SharingAwareNativeFSLock(NativeFSLockFactory outerInstance, DirectoryInfo lockDir, string path)
+		public SharingAwareNativeFSLock(NativeFSLockFactory outerInstance, DirectoryInfo lockDir, string path)
         {
             this.outerInstance = outerInstance;
             this.lockDir = lockDir;
@@ -376,7 +383,7 @@ namespace Lucene.Net.Store
 
         public override bool Obtain()
         {
-            lock (this)
+            lock (lockObject)
             {
                 FailureReason = null;
 
@@ -461,14 +468,13 @@ namespace Lucene.Net.Store
         {
             if (disposing)
             {
-                lock (this)
+                lock (lockObject)
                 {
                     // whether or not we have created a file, we need to remove
                     // the lock instance from the dictionary that tracks them.
                     try
                     {
-                        lock (NativeFSLockFactory._locks)
-                            NativeFSLockFactory._locks.Remove(path);
+						outerInstance?.ClearLock(path);
                     }
                     finally
                     {
@@ -500,7 +506,7 @@ namespace Lucene.Net.Store
 
         public override bool IsLocked()
         {
-            lock (this)
+            lock (lockObject)
             {
                 // First a shortcut, if a lock reference in this instance is available
                 if (channel != null)


[lucenenet] 02/29: Made lucene-cli into a dotnet tool and updated the documentation on how to install and use it

Posted by ni...@apache.org.
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 33df628af23719ee87e1fb3d9a6b9fcd86c9b007
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Sat Jul 6 22:19:55 2019 +0700

    Made lucene-cli into a dotnet tool and updated the documentation on how to install and use it
---
 .../Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj     |  2 +-
 .../docs/analysis/kuromoji-build-dictionary.md           |  4 ++--
 .../lucene-cli/docs/analysis/stempel-compile-stems.md    |  4 ++--
 .../lucene-cli/docs/analysis/stempel-patch-stems.md      |  4 ++--
 .../tools/lucene-cli/docs/benchmark/extract-reuters.md   |  4 ++--
 .../tools/lucene-cli/docs/benchmark/extract-wikipedia.md |  4 ++--
 .../lucene-cli/docs/benchmark/find-quality-queries.md    |  4 ++--
 .../tools/lucene-cli/docs/benchmark/run-trec-eval.md     |  4 ++--
 src/dotnet/tools/lucene-cli/docs/benchmark/run.md        |  4 ++--
 src/dotnet/tools/lucene-cli/docs/benchmark/sample.md     |  4 ++--
 .../tools/lucene-cli/docs/demo/associations-facets.md    |  4 ++--
 src/dotnet/tools/lucene-cli/docs/demo/distance-facets.md |  4 ++--
 .../docs/demo/expression-aggregation-facets.md           |  4 ++--
 src/dotnet/tools/lucene-cli/docs/demo/index-files.md     |  6 +++---
 .../lucene-cli/docs/demo/multi-category-lists-facets.md  |  4 ++--
 src/dotnet/tools/lucene-cli/docs/demo/range-facets.md    |  4 ++--
 src/dotnet/tools/lucene-cli/docs/demo/search-files.md    |  8 ++++----
 src/dotnet/tools/lucene-cli/docs/demo/simple-facets.md   |  4 ++--
 .../lucene-cli/docs/demo/simple-sorted-set-facets.md     |  4 ++--
 src/dotnet/tools/lucene-cli/docs/index.md                | 16 +++++++++++-----
 src/dotnet/tools/lucene-cli/docs/index/check.md          |  6 +++---
 src/dotnet/tools/lucene-cli/docs/index/copy-segments.md  |  4 ++--
 .../tools/lucene-cli/docs/index/delete-segments.md       |  4 ++--
 src/dotnet/tools/lucene-cli/docs/index/extract-cfs.md    |  6 +++---
 src/dotnet/tools/lucene-cli/docs/index/fix.md            |  6 +++---
 src/dotnet/tools/lucene-cli/docs/index/list-cfs.md       |  4 ++--
 .../tools/lucene-cli/docs/index/list-high-freq-terms.md  |  6 +++---
 src/dotnet/tools/lucene-cli/docs/index/list-segments.md  |  4 ++--
 .../tools/lucene-cli/docs/index/list-taxonomy-stats.md   |  4 ++--
 src/dotnet/tools/lucene-cli/docs/index/list-term-info.md |  4 ++--
 src/dotnet/tools/lucene-cli/docs/index/merge.md          |  4 ++--
 src/dotnet/tools/lucene-cli/docs/index/split.md          |  6 +++---
 src/dotnet/tools/lucene-cli/docs/index/upgrade.md        |  6 +++---
 src/dotnet/tools/lucene-cli/docs/lock/stress-test.md     |  4 ++--
 src/dotnet/tools/lucene-cli/docs/lock/verify-server.md   |  4 ++--
 src/dotnet/tools/lucene-cli/lucene-cli.csproj            |  7 ++++++-
 36 files changed, 93 insertions(+), 82 deletions(-)

diff --git a/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj b/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj
index f1d4d83..48e3774 100644
--- a/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj
+++ b/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj
@@ -24,7 +24,7 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <TargetFramework>netcoreapp2.0</TargetFramework>
+    <TargetFramework>netcoreapp2.1</TargetFramework>
     
     <AssemblyTitle>Lucene.Net.Tests.Cli</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
diff --git a/src/dotnet/tools/lucene-cli/docs/analysis/kuromoji-build-dictionary.md b/src/dotnet/tools/lucene-cli/docs/analysis/kuromoji-build-dictionary.md
index d74b53c..eab6996 100644
--- a/src/dotnet/tools/lucene-cli/docs/analysis/kuromoji-build-dictionary.md
+++ b/src/dotnet/tools/lucene-cli/docs/analysis/kuromoji-build-dictionary.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll analysis kuromoji-build-dictionary <FORMAT> <INPUT_DIRECTORY> <OUTPUT_DIRECTORY> [-e|--encoding] [-n|--normalize] [?|-h|--help]</code>
+<code>lucene analysis kuromoji-build-dictionary <FORMAT> <INPUT_DIRECTORY> <OUTPUT_DIRECTORY> [-e|--encoding] [-n|--normalize] [?|-h|--help]</code>
 
 ### Description
 
@@ -56,5 +56,5 @@ Normalize the entries using normalization form KC.
 
 ### Example
 
-<code>dotnet lucene-cli.dll analysis kuromoji-build-dictionary X:\kuromoji-data X:\kuromoji-dictionary --normalize</code>
+<code>lucene analysis kuromoji-build-dictionary X:\kuromoji-data X:\kuromoji-dictionary --normalize</code>
 
diff --git a/src/dotnet/tools/lucene-cli/docs/analysis/stempel-compile-stems.md b/src/dotnet/tools/lucene-cli/docs/analysis/stempel-compile-stems.md
index 6aae62c..088daa3 100644
--- a/src/dotnet/tools/lucene-cli/docs/analysis/stempel-compile-stems.md
+++ b/src/dotnet/tools/lucene-cli/docs/analysis/stempel-compile-stems.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll analysis stempel-compile-stems <STEMMING_ALGORITHM> <STEMMER_TABLE_FILE> [-e|--encoding] [?|-h|--help]</code>
+<code>lucene analysis stempel-compile-stems <STEMMING_ALGORITHM> <STEMMER_TABLE_FILE> [-e|--encoding] [?|-h|--help]</code>
 
 ### Description
 
@@ -34,4 +34,4 @@ The file encoding used by the stemmer files. If not supplied, the default value
 
 ### Example
 
-<code>dotnet lucene-cli.dll analysis stempel-compile-stems test X:\stemmer-data\table1.txt X:\stemmer-data\table2.txt</code>
+<code>lucene analysis stempel-compile-stems test X:\stemmer-data\table1.txt X:\stemmer-data\table2.txt</code>
diff --git a/src/dotnet/tools/lucene-cli/docs/analysis/stempel-patch-stems.md b/src/dotnet/tools/lucene-cli/docs/analysis/stempel-patch-stems.md
index 9b4ce4a..42a9634 100644
--- a/src/dotnet/tools/lucene-cli/docs/analysis/stempel-patch-stems.md
+++ b/src/dotnet/tools/lucene-cli/docs/analysis/stempel-patch-stems.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll analysis stempel-patch-stems <STEMMER_TABLE_FILE> [-e|--encoding] [?|-h|--help]</code>
+<code>lucene analysis stempel-patch-stems <STEMMER_TABLE_FILE> [-e|--encoding] [?|-h|--help]</code>
 
 ### Description
 
@@ -30,5 +30,5 @@ The file encoding used by the stemmer files. If not supplied, the default value
 
 ### Example
 
-<code>dotnet lucene-cli.dll analysis stempel-patch-stems X:\stemmer-data\table1.txt X:\stemmer-data\table2.txt --encoding UTF-16</code>
+<code>lucene analysis stempel-patch-stems X:\stemmer-data\table1.txt X:\stemmer-data\table2.txt --encoding UTF-16</code>
 
diff --git a/src/dotnet/tools/lucene-cli/docs/benchmark/extract-reuters.md b/src/dotnet/tools/lucene-cli/docs/benchmark/extract-reuters.md
index d63b2d3..26b16dd 100644
--- a/src/dotnet/tools/lucene-cli/docs/benchmark/extract-reuters.md
+++ b/src/dotnet/tools/lucene-cli/docs/benchmark/extract-reuters.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll benchmark extract-reuters [?|-h|--help]</code>
+<code>lucene benchmark extract-reuters [?|-h|--help]</code>
 
 ### Arguments
 
@@ -28,4 +28,4 @@ Prints out a short help for the command.
 
 Extracts the reuters SGML files in the `z:\input` directory and places the content in the `z:\output` directory.
 
-<code>dotnet lucene-cli.dll benchmark extract-reuters z:\input z:\output</code>
+<code>lucene benchmark extract-reuters z:\input z:\output</code>
diff --git a/src/dotnet/tools/lucene-cli/docs/benchmark/extract-wikipedia.md b/src/dotnet/tools/lucene-cli/docs/benchmark/extract-wikipedia.md
index 1d48911..60d0574 100644
--- a/src/dotnet/tools/lucene-cli/docs/benchmark/extract-wikipedia.md
+++ b/src/dotnet/tools/lucene-cli/docs/benchmark/extract-wikipedia.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll benchmark extract-wikipedia [?|-h|--help]</code>
+<code>lucene benchmark extract-wikipedia [?|-h|--help]</code>
 
 ### Arguments
 
@@ -32,4 +32,4 @@ Tells the extractor to skip WIKI docs that contain only images.
 
 Extracts the `c:\wiki.xml` file into the `c:\out` directory, skipping any docs that only contain images.
 
-<code>dotnet lucene-cli.dll benchmark extract-wikipedia c:\wiki.xml c:\out -d</code>
+<code>lucene benchmark extract-wikipedia c:\wiki.xml c:\out -d</code>
diff --git a/src/dotnet/tools/lucene-cli/docs/benchmark/find-quality-queries.md b/src/dotnet/tools/lucene-cli/docs/benchmark/find-quality-queries.md
index c4e615b..237f1b8 100644
--- a/src/dotnet/tools/lucene-cli/docs/benchmark/find-quality-queries.md
+++ b/src/dotnet/tools/lucene-cli/docs/benchmark/find-quality-queries.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll benchmark find-quality-queries [?|-h|--help]</code>
+<code>lucene benchmark find-quality-queries [?|-h|--help]</code>
 
 ### Arguments
 
@@ -24,4 +24,4 @@ Prints out a short help for the command.
 
 Finds quality queries on the `c:\lucene-index` index directory.
 
-<code>dotnet lucene-cli.dll benchmark find-quality-queries c:\lucene-index</code>
+<code>lucene benchmark find-quality-queries c:\lucene-index</code>
diff --git a/src/dotnet/tools/lucene-cli/docs/benchmark/run-trec-eval.md b/src/dotnet/tools/lucene-cli/docs/benchmark/run-trec-eval.md
index 5d5960b..9681356 100644
--- a/src/dotnet/tools/lucene-cli/docs/benchmark/run-trec-eval.md
+++ b/src/dotnet/tools/lucene-cli/docs/benchmark/run-trec-eval.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll benchmark run-trec-eval [?|-h|--help]</code>
+<code>lucene benchmark run-trec-eval [?|-h|--help]</code>
 
 ### Arguments
 
@@ -48,4 +48,4 @@ Use narrative field in query.
 
 Runs a TREC evaluation on the `c:\topics` queries file and the `c:\queries` relevance judgements on the `c:\lucene-index` index using the description and narrative fields and places the output in `c:\output.txt`.
 
-<code>dotnet lucene-cli.dll benchmark run-trec-eval c:\topics.txt c:\queries.txt c:\submissions.txt c:\output.txt c:\lucene-index -d -n</code>
+<code>lucene benchmark run-trec-eval c:\topics.txt c:\queries.txt c:\submissions.txt c:\output.txt c:\lucene-index -d -n</code>
diff --git a/src/dotnet/tools/lucene-cli/docs/benchmark/run.md b/src/dotnet/tools/lucene-cli/docs/benchmark/run.md
index 8042307..b937053 100644
--- a/src/dotnet/tools/lucene-cli/docs/benchmark/run.md
+++ b/src/dotnet/tools/lucene-cli/docs/benchmark/run.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll benchmark run [?|-h|--help]</code>
+<code>lucene benchmark run [?|-h|--help]</code>
 
 ### Arguments
 
@@ -28,4 +28,4 @@ Prints out a short help for the command.
 
 Runs a benchmark on the `c:\check.alg` algorithm file.
 
-<code>dotnet lucene-cli.dll benchmark run c:\check.alg</code>
+<code>lucene benchmark run c:\check.alg</code>
diff --git a/src/dotnet/tools/lucene-cli/docs/benchmark/sample.md b/src/dotnet/tools/lucene-cli/docs/benchmark/sample.md
index 7245af5..e715ee4 100644
--- a/src/dotnet/tools/lucene-cli/docs/benchmark/sample.md
+++ b/src/dotnet/tools/lucene-cli/docs/benchmark/sample.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll benchmark sample [-src|--view-source-code] [-out|--output-source-code]  [?|-h|--help]</code>
+<code>lucene benchmark sample [-src|--view-source-code] [-out|--output-source-code]  [?|-h|--help]</code>
 
 ### Options
 
@@ -26,4 +26,4 @@ Outputs the source code to the specified directory.
 
 Runs the sample.
 
-<code>dotnet lucene-cli.dll benchmark sample</code>
+<code>lucene benchmark sample</code>
diff --git a/src/dotnet/tools/lucene-cli/docs/demo/associations-facets.md b/src/dotnet/tools/lucene-cli/docs/demo/associations-facets.md
index 77b10fe..1d5f9ce 100644
--- a/src/dotnet/tools/lucene-cli/docs/demo/associations-facets.md
+++ b/src/dotnet/tools/lucene-cli/docs/demo/associations-facets.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll demo associations-facets [-src|--view-source-code] [-out|--output-source-code] [?|-h|--help]</code>
+<code>lucene demo associations-facets [-src|--view-source-code] [-out|--output-source-code] [?|-h|--help]</code>
 
 ### Options
 
@@ -24,4 +24,4 @@ Outputs the source code to the specified directory.
 
 ### Example
 
-<code>dotnet lucene-cli.dll demo associations-facets</code>
+<code>lucene demo associations-facets</code>
diff --git a/src/dotnet/tools/lucene-cli/docs/demo/distance-facets.md b/src/dotnet/tools/lucene-cli/docs/demo/distance-facets.md
index abfdf3a..4631ea5 100644
--- a/src/dotnet/tools/lucene-cli/docs/demo/distance-facets.md
+++ b/src/dotnet/tools/lucene-cli/docs/demo/distance-facets.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll demo distance-facets [-src|--view-source-code] [-out|--output-source-code] [?|-h|--help]</code>
+<code>lucene demo distance-facets [-src|--view-source-code] [-out|--output-source-code] [?|-h|--help]</code>
 
 ### Options
 
@@ -24,4 +24,4 @@ Outputs the source code to the specified directory.
 
 ### Example
 
-<code>dotnet lucene-cli.dll demo distance-facets</code>
+<code>lucene demo distance-facets</code>
diff --git a/src/dotnet/tools/lucene-cli/docs/demo/expression-aggregation-facets.md b/src/dotnet/tools/lucene-cli/docs/demo/expression-aggregation-facets.md
index 8633982..8dd0574 100644
--- a/src/dotnet/tools/lucene-cli/docs/demo/expression-aggregation-facets.md
+++ b/src/dotnet/tools/lucene-cli/docs/demo/expression-aggregation-facets.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll demo expression-aggregation-facets [-src|--view-source-code] [-out|--output-source-code] [?|-h|--help]</code>
+<code>lucene demo expression-aggregation-facets [-src|--view-source-code] [-out|--output-source-code] [?|-h|--help]</code>
 
 ### Options
 
@@ -24,4 +24,4 @@ Outputs the source code to the specified directory.
 
 ### Example
 
-<code>dotnet lucene-cli.dll demo expression-aggregation-facets</code>
+<code>lucene demo expression-aggregation-facets</code>
diff --git a/src/dotnet/tools/lucene-cli/docs/demo/index-files.md b/src/dotnet/tools/lucene-cli/docs/demo/index-files.md
index 10d1806..67bd9d0 100644
--- a/src/dotnet/tools/lucene-cli/docs/demo/index-files.md
+++ b/src/dotnet/tools/lucene-cli/docs/demo/index-files.md
@@ -7,8 +7,8 @@
 ### Synopsis
 
 ```
-dotnet lucene-cli.dll demo index-files <INDEX_DIRECTORY> <SOURCE_DIRECTORY> [-u|--update] [?|-h|--help]
-dotnet lucene-cli.dll demo index-files [-src|--view-source-code] [-out|--output-source-code]
+lucene demo index-files <INDEX_DIRECTORY> <SOURCE_DIRECTORY> [-u|--update] [?|-h|--help]
+lucene demo index-files [-src|--view-source-code] [-out|--output-source-code]
 ```
 
 ### Description
@@ -47,5 +47,5 @@ Outputs the source code to the specified directory.
 
 Indexes the contents of `C:\Users\BGates\Documents\` and places the Lucene.Net index in `X:\test-index\`.
 
-<code>dotnet lucene-cli.dll demo index-files X:\test-index C:\Users\BGates\Documents</code>
+<code>lucene demo index-files X:\test-index C:\Users\BGates\Documents</code>
 
diff --git a/src/dotnet/tools/lucene-cli/docs/demo/multi-category-lists-facets.md b/src/dotnet/tools/lucene-cli/docs/demo/multi-category-lists-facets.md
index f486c2a..299df60 100644
--- a/src/dotnet/tools/lucene-cli/docs/demo/multi-category-lists-facets.md
+++ b/src/dotnet/tools/lucene-cli/docs/demo/multi-category-lists-facets.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll demo multi-category-lists-facets [-src|--view-source-code] [-out|--output-source-code] [?|-h|--help]</code>
+<code>lucene demo multi-category-lists-facets [-src|--view-source-code] [-out|--output-source-code] [?|-h|--help]</code>
 
 ### Options
 
@@ -25,4 +25,4 @@ Outputs the source code to the specified directory.
 
 ### Example
 
-<code>dotnet lucene-cli.dll demo multi-category-lists-facets</code>
+<code>lucene demo multi-category-lists-facets</code>
diff --git a/src/dotnet/tools/lucene-cli/docs/demo/range-facets.md b/src/dotnet/tools/lucene-cli/docs/demo/range-facets.md
index 09e392e..f9b6121 100644
--- a/src/dotnet/tools/lucene-cli/docs/demo/range-facets.md
+++ b/src/dotnet/tools/lucene-cli/docs/demo/range-facets.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll demo range-facets [-src|--view-source-code] [-out|--output-source-code] [?|-h|--help]</code>
+<code>lucene demo range-facets [-src|--view-source-code] [-out|--output-source-code] [?|-h|--help]</code>
 
 ### Options
 
@@ -24,4 +24,4 @@ Outputs the source code to the specified directory.
 
 ### Example
 
-<code>dotnet lucene-cli.dll demo range-facets</code>
\ No newline at end of file
+<code>lucene demo range-facets</code>
diff --git a/src/dotnet/tools/lucene-cli/docs/demo/search-files.md b/src/dotnet/tools/lucene-cli/docs/demo/search-files.md
index 3bbfe38..d1f6622 100644
--- a/src/dotnet/tools/lucene-cli/docs/demo/search-files.md
+++ b/src/dotnet/tools/lucene-cli/docs/demo/search-files.md
@@ -7,8 +7,8 @@
 ### Synopsis
 
 ```
-dotnet lucene-cli.dll demo search-files <INDEX_DIRECTORY> [-f|--field] [-r|--repeat] [-qf|--queries-file] [-q|--query] [--raw] [-p|--page-size] [?|-h|--help]
-dotnet lucene-cli.dll demo search-files [-src|--view-source-code] [-out|--output-source-code]
+lucene demo search-files <INDEX_DIRECTORY> [-f|--field] [-r|--repeat] [-qf|--queries-file] [-q|--query] [--raw] [-p|--page-size] [?|-h|--help]
+lucene demo search-files [-src|--view-source-code] [-out|--output-source-code]
 ```
 
 ### Description
@@ -65,8 +65,8 @@ Outputs the source code to the specified directory.
 
 Search the index located in the `X:\test-index` directory interactively, showing 15 results per page in raw format:
 
-<code>dotnet lucene-cli.dll demo search-files X:\test-index -p 15 --raw</code>
+<code>lucene demo search-files X:\test-index -p 15 --raw</code>
 
 Run the query "foobar" against the "path" field in the index located in the `X:\test-index` directory:
 
-<code>dotnet lucene-cli.dll demo search-files X:\test-index --field path --query foobar</code>
\ No newline at end of file
+<code>lucene demo search-files X:\test-index --field path --query foobar</code>
diff --git a/src/dotnet/tools/lucene-cli/docs/demo/simple-facets.md b/src/dotnet/tools/lucene-cli/docs/demo/simple-facets.md
index cdb8f30..e93cc78 100644
--- a/src/dotnet/tools/lucene-cli/docs/demo/simple-facets.md
+++ b/src/dotnet/tools/lucene-cli/docs/demo/simple-facets.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-</code>dotnet lucene-cli.dll demo simple-facets [-src|--view-source-code] [-out|--output-source-code] [?|-h|--help]</code>
+</code>lucene demo simple-facets [-src|--view-source-code] [-out|--output-source-code] [?|-h|--help]</code>
 
 ### Options
 
@@ -24,4 +24,4 @@ Outputs the source code to the specified directory.
 
 ### Example
 
-<code>dotnet lucene-cli.dll demo simple-facets</code>
\ No newline at end of file
+<code>lucene demo simple-facets</code>
diff --git a/src/dotnet/tools/lucene-cli/docs/demo/simple-sorted-set-facets.md b/src/dotnet/tools/lucene-cli/docs/demo/simple-sorted-set-facets.md
index 09052d9..a92c9b9 100644
--- a/src/dotnet/tools/lucene-cli/docs/demo/simple-sorted-set-facets.md
+++ b/src/dotnet/tools/lucene-cli/docs/demo/simple-sorted-set-facets.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll demo simple-sorted-set-facets [-src|--view-source-code] [-out|--output-source-code] [?|-h|--help]</code>
+<code>lucene demo simple-sorted-set-facets [-src|--view-source-code] [-out|--output-source-code] [?|-h|--help]</code>
 
 ### Options
 
@@ -24,6 +24,6 @@ Outputs the source code to the specified directory.
 
 ### Example
 
-<code>dotnet lucene-cli.dll demo simple-sorted-set-facets</code>
+<code>lucene demo simple-sorted-set-facets</code>
 
 
diff --git a/src/dotnet/tools/lucene-cli/docs/index.md b/src/dotnet/tools/lucene-cli/docs/index.md
index 05e08fa..8dc35f6 100644
--- a/src/dotnet/tools/lucene-cli/docs/index.md
+++ b/src/dotnet/tools/lucene-cli/docs/index.md
@@ -4,11 +4,17 @@ The Lucene.Net command line interface (CLI) is a new cross-platform toolchain wi
 
 ## Prerequisites
 
-- [.NET Core 2.0 Runtime](https://www.microsoft.com/net/download/core#/runtime)
+- [.NET Core 2.1 Runtime](https://www.microsoft.com/net/download/core#/runtime)
 
 ## Installation
 
-Download the binaries from the [Apache Lucene.Net Distribution](http://www.apache.org/dyn/closer.cgi). Unzip the `lucene-cli.zip` file to a local directory and add that directory to the PATH environment variable of the local system.
+Perform a one-time install of the lucene-cli tool using the following dotnet CLI command:
+
+```
+dotnet tool install -g lucene-cli
+```
+
+You may then use the lucene-cli tool to analyze and update Lucene.Net indexes and use its demos.
 
 ## CLI Commands
 
@@ -21,9 +27,9 @@ The following commands are installed:
 
 ## Command structure
 
-CLI command structure consists of the driver ("dotnet lucene-cli.dll"), the command, and possibly command arguments and options. You see this pattern in most CLI operations, such as checking a Lucene.Net index for problematic segments and fixing (removing) them:
+CLI command structure consists of the driver ("lucene"), the command, and possibly command arguments and options. You see this pattern in most CLI operations, such as checking a Lucene.Net index for problematic segments and fixing (removing) them:
 
 ```
-dotnet lucene-cli.dll index check C:\my-index --verbose
-dotnet lucene-cli.dll index fix C:\my-index
+lucene index check C:\my-index --verbose
+lucene index fix C:\my-index
 ```
\ No newline at end of file
diff --git a/src/dotnet/tools/lucene-cli/docs/index/check.md b/src/dotnet/tools/lucene-cli/docs/index/check.md
index caa18b2..45e3f38 100644
--- a/src/dotnet/tools/lucene-cli/docs/index/check.md
+++ b/src/dotnet/tools/lucene-cli/docs/index/check.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll index check [<INDEX_DIRECTORY>] [-v|--verbose] [-c|--cross-check-term-vectors] [-dir|--directory-type] [-s|--segment] [?|-h|--help]</code>
+<code>lucene index check [<INDEX_DIRECTORY>] [-v|--verbose] [-c|--cross-check-term-vectors] [-dir|--directory-type] [-s|--segment] [?|-h|--help]</code>
 
 ### Description
 
@@ -46,10 +46,10 @@ Only check the specified segment(s). This can be specified multiple times, to ch
 
 Check the index located at `X:\lucenenet-index\` verbosely, scanning only the segments named `_1j_Lucene41_0` and `_2u_Lucene41_0` for problems:
 
-<code>dotnet lucene-cli.dll index check X:\lucenenet-index -v -s _1j_Lucene41_0 -s _2u_Lucene41_0</code>
+<code>lucene index check X:\lucenenet-index -v -s _1j_Lucene41_0 -s _2u_Lucene41_0</code>
 
 
 Check the index located at `C:\taxonomy\` using the `MMapDirectory` memory-mapped directory implementation:
 
-<code>dotnet lucene-cli.dll index check C:\taxonomy --directory-type MMapDirectory</code>
+<code>lucene index check C:\taxonomy --directory-type MMapDirectory</code>
 
diff --git a/src/dotnet/tools/lucene-cli/docs/index/copy-segments.md b/src/dotnet/tools/lucene-cli/docs/index/copy-segments.md
index c9868ef..da89623 100644
--- a/src/dotnet/tools/lucene-cli/docs/index/copy-segments.md
+++ b/src/dotnet/tools/lucene-cli/docs/index/copy-segments.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll index copy-segments <INPUT_DIRECTORY> <OUTPUT_DIRECTORY> <SEGMENT>[ <SEGMENT_2>...] [?|-h|--help]</code>
+<code>lucene index copy-segments <INPUT_DIRECTORY> <OUTPUT_DIRECTORY> <SEGMENT>[ <SEGMENT_2>...] [?|-h|--help]</code>
 
 ### Description
 
@@ -36,5 +36,5 @@ Prints out a short help for the command.
 
 Copy the `_71_Lucene41_0` segment from the index located at `X:\lucene-index` to the index located at `X:\output`:
 
-<code>dotnet lucene-cli.dll index copy-segments X:\lucene-index X:\output _71_Lucene41_0</code>
+<code>lucene index copy-segments X:\lucene-index X:\output _71_Lucene41_0</code>
 
diff --git a/src/dotnet/tools/lucene-cli/docs/index/delete-segments.md b/src/dotnet/tools/lucene-cli/docs/index/delete-segments.md
index 398d182..07f44fc 100644
--- a/src/dotnet/tools/lucene-cli/docs/index/delete-segments.md
+++ b/src/dotnet/tools/lucene-cli/docs/index/delete-segments.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll index delete-segments <INDEX_DIRECTORY> <SEGMENT>[ <SEGMENT_2>...] [?|-h|--help]</code>
+<code>lucene index delete-segments <INDEX_DIRECTORY> <SEGMENT>[ <SEGMENT_2>...] [?|-h|--help]</code>
 
 ### Description
 
@@ -32,4 +32,4 @@ Prints out a short help for the command.
 
 Delete the segments named `_8c` and `_83` from the index located at `X:\category-data\`:
 
-<code>dotnet lucene-cli.dll index delete-segments X:\category-data _8c _83</code>
+<code>lucene index delete-segments X:\category-data _8c _83</code>
diff --git a/src/dotnet/tools/lucene-cli/docs/index/extract-cfs.md b/src/dotnet/tools/lucene-cli/docs/index/extract-cfs.md
index f6fc40e..1c65a68 100644
--- a/src/dotnet/tools/lucene-cli/docs/index/extract-cfs.md
+++ b/src/dotnet/tools/lucene-cli/docs/index/extract-cfs.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll index extract-cfs <CFS_FILE_NAME> [-dir|--directory-type] [?|-h|--help]</code>
+<code>lucene index extract-cfs <CFS_FILE_NAME> [-dir|--directory-type] [?|-h|--help]</code>
 
 ### Description
 
@@ -34,9 +34,9 @@ The FSDirectory implementation to use. If ommitted, it defaults to the optimal F
 
 Extract the files from the compound file at `X:\lucene-index\_81.cfs` to the current working directory:
 
-<code>dotnet lucene-cli.dll index extract-cfs X:\lucene-index\_81.cfs</code>
+<code>lucene index extract-cfs X:\lucene-index\_81.cfs</code>
 
 
 Extract the files from the compound file at `X:\lucene-index\_64.cfs` to the current working directory using the `SimpleFSDirectory` implementation:
 
-<code>dotnet lucene-cli.dll index extract-cfs X:\lucene-index\_64.cfs --directory-type SimpleFSDirectory</code>
\ No newline at end of file
+<code>lucene index extract-cfs X:\lucene-index\_64.cfs --directory-type SimpleFSDirectory</code>
diff --git a/src/dotnet/tools/lucene-cli/docs/index/fix.md b/src/dotnet/tools/lucene-cli/docs/index/fix.md
index 3158aab..2c81be8 100644
--- a/src/dotnet/tools/lucene-cli/docs/index/fix.md
+++ b/src/dotnet/tools/lucene-cli/docs/index/fix.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll index fix [<INDEX_DIRECTORY>] [-v|--verbose] [-c|--cross-check-term-vectors] [-dir|--directory-type] [--dry-run] [?|-h|--help]</code>
+<code>lucene index fix [<INDEX_DIRECTORY>] [-v|--verbose] [-c|--cross-check-term-vectors] [-dir|--directory-type] [--dry-run] [?|-h|--help]</code>
 
 ### Description
 
@@ -46,9 +46,9 @@ Doesn't change the index, but reports any actions that would be taken if this op
 
 Check what a fix operation would do if run on the index located at `X:\product-index\`, using verbose output:
 
-<code>dotnet lucene-cli.dll index fix X:\product-index --verbose --dry-run</code>
+<code>lucene index fix X:\product-index --verbose --dry-run</code>
 
 
 Fix the index located at `X:\product-index` and cross check term vectors:
 
-<code>dotnet lucene-cli.dll index fix X:\product-index -c</code>
\ No newline at end of file
+<code>lucene index fix X:\product-index -c</code>
diff --git a/src/dotnet/tools/lucene-cli/docs/index/list-cfs.md b/src/dotnet/tools/lucene-cli/docs/index/list-cfs.md
index 6629dfa..497dcf3 100644
--- a/src/dotnet/tools/lucene-cli/docs/index/list-cfs.md
+++ b/src/dotnet/tools/lucene-cli/docs/index/list-cfs.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll index list-cfs <CFS_FILE_NAME> [-dir|--directory-type] [?|-h|--help]</code>
+<code>lucene index list-cfs <CFS_FILE_NAME> [-dir|--directory-type] [?|-h|--help]</code>
 
 ### Description
 
@@ -32,5 +32,5 @@ The `FSDirectory` implementation to use. If omitted, defaults to the optimal `FS
 
 Lists the files within the `X:\categories\_53.cfs` compound file using the `NIOFSDirectory` directory implementation:
 
-<code>dotnet lucene-cli.dll index list-cfs X:\categories\_53.cfs -dir NIOFSDirectory</code>
+<code>lucene index list-cfs X:\categories\_53.cfs -dir NIOFSDirectory</code>
 
diff --git a/src/dotnet/tools/lucene-cli/docs/index/list-high-freq-terms.md b/src/dotnet/tools/lucene-cli/docs/index/list-high-freq-terms.md
index bbeb364..fa0315e 100644
--- a/src/dotnet/tools/lucene-cli/docs/index/list-high-freq-terms.md
+++ b/src/dotnet/tools/lucene-cli/docs/index/list-high-freq-terms.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll index list-high-freq-terms [<INDEX_DIRECTORY>] [-t|--total-term-frequency] [-n|--number-of-terms] [-f|--field] [?|-h|--help]</code>
+<code>lucene index list-high-freq-terms [<INDEX_DIRECTORY>] [-t|--total-term-frequency] [-n|--number-of-terms] [-f|--field] [?|-h|--help]</code>
 
 ### Description
 
@@ -41,9 +41,9 @@ The field to consider. If omitted, considers all fields.
 
 List the high frequency terms in the index located at `F:\product-index\` on the `description` field, reporting both document frequency and term frequency:
 
-<code>dotnet lucene-cli.dll index list-high-freq-terms F:\product-index --total-term-frequency --field description</code>
+<code>lucene index list-high-freq-terms F:\product-index --total-term-frequency --field description</code>
 
 
 List the high frequency terms in the index located at `C:\lucene-index\` on the `name` field, tracking 30 terms:
 
-<code>dotnet lucene-cli.dll index list-high-freq-terms C:\lucene-index --f name -n 30</code>
+<code>lucene index list-high-freq-terms C:\lucene-index --f name -n 30</code>
diff --git a/src/dotnet/tools/lucene-cli/docs/index/list-segments.md b/src/dotnet/tools/lucene-cli/docs/index/list-segments.md
index 25f07b9..79d1fed 100644
--- a/src/dotnet/tools/lucene-cli/docs/index/list-segments.md
+++ b/src/dotnet/tools/lucene-cli/docs/index/list-segments.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll index list-segments [<INDEX_DIRECTORY>] [?|-h|--help]</code>
+<code>lucene index list-segments [<INDEX_DIRECTORY>] [?|-h|--help]</code>
 
 ### Description
 
@@ -28,5 +28,5 @@ Prints out a short help for the command.
 
 List the segments in the index located at `X:\lucene-index\`:
 
-<code>dotnet lucene-cli.dll index list-segments X:\lucene-index</code>
+<code>lucene index list-segments X:\lucene-index</code>
 
diff --git a/src/dotnet/tools/lucene-cli/docs/index/list-taxonomy-stats.md b/src/dotnet/tools/lucene-cli/docs/index/list-taxonomy-stats.md
index 7c43343..0a0dfd2 100644
--- a/src/dotnet/tools/lucene-cli/docs/index/list-taxonomy-stats.md
+++ b/src/dotnet/tools/lucene-cli/docs/index/list-taxonomy-stats.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll index list-taxonomy-stats [<INDEX_DIRECTORY>] [-tree|--show-tree] [?|-h|--help]</code>
+<code>lucene index list-taxonomy-stats [<INDEX_DIRECTORY>] [-tree|--show-tree] [?|-h|--help]</code>
 
 ### Description
 
@@ -34,5 +34,5 @@ Recursively lists all descendant nodes.
 
 List the taxonomy statistics from the index located at `X:\category-taxonomy-index\`, viewing all descendant nodes:
 
-<code>dotnet lucene-cli.dll index list-taxonomy-stats X:\category-taxonomy-index -tree</code>
+<code>lucene index list-taxonomy-stats X:\category-taxonomy-index -tree</code>
 
diff --git a/src/dotnet/tools/lucene-cli/docs/index/list-term-info.md b/src/dotnet/tools/lucene-cli/docs/index/list-term-info.md
index 61b97e2..f043afa 100644
--- a/src/dotnet/tools/lucene-cli/docs/index/list-term-info.md
+++ b/src/dotnet/tools/lucene-cli/docs/index/list-term-info.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll index list-term-info <INDEX_DIRECTORY> <FIELD> <TERM> [?|-h|--help]</code>
+<code>lucene index list-term-info <INDEX_DIRECTORY> <FIELD> <TERM> [?|-h|--help]</code>
 
 ### Description
 
@@ -36,5 +36,5 @@ Prints out a short help for the command.
 
 List the term information from the index located at `C:\project-index\`:
 
-<code>dotnet lucene-cli.dll index list-term-info C:\project-index</code>
+<code>lucene index list-term-info C:\project-index</code>
 
diff --git a/src/dotnet/tools/lucene-cli/docs/index/merge.md b/src/dotnet/tools/lucene-cli/docs/index/merge.md
index 98d296f..5793ac6 100644
--- a/src/dotnet/tools/lucene-cli/docs/index/merge.md
+++ b/src/dotnet/tools/lucene-cli/docs/index/merge.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll index merge <OUTPUT_DIRECTORY> <INPUT_DIRECTORY> <INPUT_DIRECTORY_2>[ <INPUT_DIRECTORY_N>...] [?|-h|--help]</code>
+<code>lucene index merge <OUTPUT_DIRECTORY> <INPUT_DIRECTORY> <INPUT_DIRECTORY_2>[ <INPUT_DIRECTORY_N>...] [?|-h|--help]</code>
 
 ### Description
 
@@ -32,5 +32,5 @@ Prints out a short help for the command.
 
 Merge the indexes `C:\product-index1` and `C:\product-index2` into an index located at `X:\merged-index`:
 
-<code>dotnet lucene-cli.dll index merge X:\merged-index C:\product-index1 C:\product-index2</code>
+<code>lucene index merge X:\merged-index C:\product-index1 C:\product-index2</code>
 
diff --git a/src/dotnet/tools/lucene-cli/docs/index/split.md b/src/dotnet/tools/lucene-cli/docs/index/split.md
index f2343d5..4340de2 100644
--- a/src/dotnet/tools/lucene-cli/docs/index/split.md
+++ b/src/dotnet/tools/lucene-cli/docs/index/split.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll index split <OUTPUT_DIRECTORY> <INPUT_DIRECTORY>[ <INPUT_DIRECTORY_2>...] [-n|--number-of-parts] [-s|--sequential] [?|-h|--help]</code>
+<code>lucene index split <OUTPUT_DIRECTORY> <INPUT_DIRECTORY>[ <INPUT_DIRECTORY_2>...] [-n|--number-of-parts] [-s|--sequential] [?|-h|--help]</code>
 
 ### Description
 
@@ -46,9 +46,9 @@ Sequential doc-id range split (default is round-robin).
 
 Split the index located at `X:\old-index\` sequentially, placing the resulting 2 indices into the `X:\new-index\` directory:
 
-<code>dotnet lucene-cli.dll index split X:\new-index X:\old-index --sequential</code>
+<code>lucene index split X:\new-index X:\old-index --sequential</code>
 
 
 Split the index located at `T:\in\` into 4 parts and place them into the `T:\out\` directory:
 
-<code>dotnet lucene-cli.dll index split T:\out T:\in -n 4</code>
\ No newline at end of file
+<code>lucene index split T:\out T:\in -n 4</code>
diff --git a/src/dotnet/tools/lucene-cli/docs/index/upgrade.md b/src/dotnet/tools/lucene-cli/docs/index/upgrade.md
index 20f5861..5c7b550 100644
--- a/src/dotnet/tools/lucene-cli/docs/index/upgrade.md
+++ b/src/dotnet/tools/lucene-cli/docs/index/upgrade.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll index upgrade [<INDEX_DIRECTORY>] [-d|--delete-prior-commits] [-v|--verbose] [-dir|--directory-type] [?|-h|--help]</code>
+<code>lucene index upgrade [<INDEX_DIRECTORY>] [-d|--delete-prior-commits] [-v|--verbose] [-dir|--directory-type] [?|-h|--help]</code>
 
 ### Description
 
@@ -44,9 +44,9 @@ The `FSDirectory` implementation to use. Defaults to the optional `FSDirectory`
 
 Upgrade the index format of the index located at `X:\lucene-index\` to the same version as this tool, using the `SimpleFSDirectory` implementation:
 
-<code>dotnet lucene-cli.dll index upgrade X:\lucene-index -dir SimpleFSDirectory</code>
+<code>lucene index upgrade X:\lucene-index -dir SimpleFSDirectory</code>
 
 
 Upgrade the index located at `C:\indexes\category-index\` verbosely, deleting all but the last commit:
 
-<code>dotnet lucene-cli.dll index upgrade C:\indexes\category-index --verbose --delete-prior-commits</code>
+<code>lucene index upgrade C:\indexes\category-index --verbose --delete-prior-commits</code>
diff --git a/src/dotnet/tools/lucene-cli/docs/lock/stress-test.md b/src/dotnet/tools/lucene-cli/docs/lock/stress-test.md
index b1d49a5..57daca2 100644
--- a/src/dotnet/tools/lucene-cli/docs/lock/stress-test.md
+++ b/src/dotnet/tools/lucene-cli/docs/lock/stress-test.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll lock stress-test <ID> <VERIFIER_HOST> <VERIFIER_PORT> <LOCK_FACTORY_TYPE> <LOCK_DIRECTORY> <SLEEP_TIME_MS> <TRIES> [?|-h|--help]</code>
+<code>lucene lock stress-test <ID> <VERIFIER_HOST> <VERIFIER_PORT> <LOCK_FACTORY_TYPE> <LOCK_DIRECTORY> <SLEEP_TIME_MS> <TRIES> [?|-h|--help]</code>
 
 ### Description
 
@@ -52,4 +52,4 @@ Prints out a short help for the command.
 
 Run the client (stress test), connecting to the server on IP address `127.0.0.4` and port `54464` using the ID 3, the `NativeFSLockFactory`, specifying the lock directory as `F:\temp`, sleep for 50 milliseconds, and try to obtain a lock up to 10 times:
 
-<code>dotnet lucene-cli.dll lock stress-test 3 127.0.0.4 54464 NativeFSLockFactory F:\temp 50 10</code>
+<code>lucene lock stress-test 3 127.0.0.4 54464 NativeFSLockFactory F:\temp 50 10</code>
diff --git a/src/dotnet/tools/lucene-cli/docs/lock/verify-server.md b/src/dotnet/tools/lucene-cli/docs/lock/verify-server.md
index 9350580..1e9028d 100644
--- a/src/dotnet/tools/lucene-cli/docs/lock/verify-server.md
+++ b/src/dotnet/tools/lucene-cli/docs/lock/verify-server.md
@@ -6,7 +6,7 @@
 
 ### Synopsis
 
-<code>dotnet lucene-cli.dll lock verify-server <IP_HOSTNAME> <MAX_CLIENTS> [?|-h|--help]</code>
+<code>lucene lock verify-server <IP_HOSTNAME> <MAX_CLIENTS> [?|-h|--help]</code>
 
 ### Description
 
@@ -32,4 +32,4 @@ Prints out a short help for the command.
 
 Run the server on IP `127.0.0.4` with a 10 connected clients:
 
-<code>dotnet lucene-cli.dll lock verify-server 127.0.0.4 10</code>
+<code>lucene lock verify-server 127.0.0.4 10</code>
diff --git a/src/dotnet/tools/lucene-cli/lucene-cli.csproj b/src/dotnet/tools/lucene-cli/lucene-cli.csproj
index 5f1d72f..a132873 100644
--- a/src/dotnet/tools/lucene-cli/lucene-cli.csproj
+++ b/src/dotnet/tools/lucene-cli/lucene-cli.csproj
@@ -24,7 +24,10 @@
   <Import Project="$(SolutionDir)Version.proj" />
 
   <PropertyGroup>
-    <TargetFramework>netcoreapp2.0</TargetFramework>
+    <TargetFramework>netcoreapp2.1</TargetFramework>
+
+    <PackAsTool>true</PackAsTool>
+    <ToolCommandName>lucene</ToolCommandName>
     
     <AssemblyName>lucene-cli</AssemblyName>
     <OutputType>Exe</OutputType>
@@ -37,6 +40,8 @@
     <PackageProjectUrl>http://lucenenet.apache.org/</PackageProjectUrl>
     <PackageIconUrl>https://github.com/apache/lucenenet/blob/master/branding/logo/lucene-net-icon-128x128.png?raw=true</PackageIconUrl>
     <Copyright>Copyright © 2006 - 2017 The Apache Software Foundation</Copyright>
+    <Description>The Lucene.Net command line interface (CLI) is a new cross-platform toolchain with utilities for maintaining Lucene.Net and demos for learning basic Lucene.Net functionality. Run 'lucene' to see usage information.</Description>
+    <PackageTags>$(PackageTags);maintenance;utility</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
 


[lucenenet] 22/29: Added comment on Version.proj default

Posted by ni...@apache.org.
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 fd1e0474eb9bcdf006b162f335c885d0ca785e1d
Author: Aaron Meyers <13...@users.noreply.github.com>
AuthorDate: Fri Jul 5 18:05:57 2019 -0700

    Added comment on Version.proj default
---
 Version.proj | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Version.proj b/Version.proj
index 95aa8e4..2a421b2 100644
--- a/Version.proj
+++ b/Version.proj
@@ -32,6 +32,8 @@
       so AssemblyVersion should only be changed for each major version release. -->
     <AssemblyVersion>4.0.0</AssemblyVersion>
 
+    <!-- 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>..\..\Lucene.Net.snk</AssemblyOriginatorKeyFile>
     <SignAssembly>true</SignAssembly>
   </PropertyGroup>


[lucenenet] 13/29: Lucene.Net.Support.IO.FileSupport::fileCanonPathCache needs to be threadsafe

Posted by ni...@apache.org.
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 2cfaf3a6cada976ca114f84d4f58a2cdc9c1eff9
Author: Thomas Mathew <th...@microsoft.com>
AuthorDate: Thu Jun 6 17:11:42 2019 -0700

    Lucene.Net.Support.IO.FileSupport::fileCanonPathCache needs to be threadsafe
---
 src/Lucene.Net/Support/IO/FileSupport.cs | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/Lucene.Net/Support/IO/FileSupport.cs b/src/Lucene.Net/Support/IO/FileSupport.cs
index db64b87..55e722a 100644
--- a/src/Lucene.Net/Support/IO/FileSupport.cs
+++ b/src/Lucene.Net/Support/IO/FileSupport.cs
@@ -1,5 +1,6 @@
 using Lucene.Net.Util;
 using System;
+using System.Collections.Concurrent;
 using System.Collections.Generic;
 using System.IO;
 using System.Linq;
@@ -179,7 +180,7 @@ namespace Lucene.Net.Support.IO
             return Path.Combine(directory.FullName, string.Concat(prefix, randomFileName));
         }
 
-        private static readonly IDictionary<string, string> fileCanonPathCache = new Dictionary<string, string>();
+        private static readonly IDictionary<string, string> fileCanonPathCache = new ConcurrentDictionary<string, string>();
 
         /// <summary>
         /// Returns the absolute path of this <see cref="FileSystemInfo"/> with all references resolved and


[lucenenet] 25/29: build.ps1: Removed unnecessary CommonAssemblyInfo.cs generation and passed the FileVersion property explicitly

Posted by ni...@apache.org.
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 4d8fccb44bda1b0783bd3291c0712a0438ebcab2
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Tue Jul 9 19:38:00 2019 +0700

    build.ps1: Removed unnecessary CommonAssemblyInfo.cs generation and passed the FileVersion property explicitly
---
 Lucene.Net.sln                                     |  1 -
 build/build.ps1                                    | 82 ++++++----------------
 src/CommonAssemblyInfo.cs                          | 28 --------
 .../Lucene.Net.Analysis.Common.csproj              |  3 -
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Analysis.Kuromoji.csproj            |  3 -
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Analysis.Phonetic.csproj            |  3 -
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Analysis.SmartCn.csproj             |  3 -
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Analysis.Stempel.csproj             |  3 -
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Benchmark.csproj                    |  3 -
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Classification.csproj               |  6 --
 .../Properties/AssemblyInfo.cs                     |  2 +-
 src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj     |  6 --
 src/Lucene.Net.Codecs/Properties/AssemblyInfo.cs   |  2 +-
 src/Lucene.Net.Demo/Lucene.Net.Demo.csproj         |  3 -
 src/Lucene.Net.Demo/Properties/AssemblyInfo.cs     |  2 +-
 .../Lucene.Net.Expressions.csproj                  |  7 +-
 .../Properties/AssemblyInfo.cs                     |  2 +-
 src/Lucene.Net.Facet/Lucene.Net.Facet.csproj       |  3 -
 src/Lucene.Net.Facet/Properties/AssemblyInfo.cs    |  2 +-
 src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj |  6 --
 src/Lucene.Net.Grouping/Properties/AssemblyInfo.cs |  2 +-
 .../Lucene.Net.Highlighter.csproj                  |  3 -
 .../Properties/AssemblyInfo.cs                     |  2 +-
 src/Lucene.Net.Join/Lucene.Net.Join.csproj         |  3 -
 src/Lucene.Net.Join/Properties/AssemblyInfo.cs     |  2 +-
 src/Lucene.Net.Memory/Lucene.Net.Memory.csproj     |  3 -
 src/Lucene.Net.Memory/Properties/AssemblyInfo.cs   |  2 +-
 src/Lucene.Net.Misc/Lucene.Net.Misc.csproj         |  3 -
 src/Lucene.Net.Misc/Properties/AssemblyInfo.cs     |  2 +-
 src/Lucene.Net.Queries/Lucene.Net.Queries.csproj   |  6 --
 src/Lucene.Net.Queries/Properties/AssemblyInfo.cs  |  2 +-
 .../Lucene.Net.QueryParser.csproj                  |  2 -
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Replicator.csproj                   |  6 --
 src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj   |  6 --
 src/Lucene.Net.Sandbox/Properties/AssemblyInfo.cs  |  2 +-
 src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj   |  3 -
 src/Lucene.Net.Spatial/Properties/AssemblyInfo.cs  |  2 +-
 src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj   |  3 -
 src/Lucene.Net.Suggest/Properties/AssemblyInfo.cs  |  2 +-
 .../Lucene.Net.TestFramework.csproj                |  3 -
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Tests.Analysis.Common.csproj        |  3 -
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Tests.Analysis.Kuromoji.csproj      |  3 -
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Tests.Analysis.Phonetic.csproj      |  6 --
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Tests.Analysis.SmartCn.csproj       |  6 --
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Tests.Analysis.Stempel.csproj       |  3 -
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Tests.Benchmark.csproj              |  3 -
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Tests.Classification.csproj         |  6 --
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Tests.Codecs.csproj                 |  6 --
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Tests.Demo.csproj                   |  3 -
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Tests.Expressions.csproj            |  6 --
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Tests.Facet.csproj                  |  6 --
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Tests.Grouping.csproj               |  6 --
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Tests.Highlighter.csproj            |  3 -
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Tests.Join.csproj                   |  6 --
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Tests.Memory.csproj                 |  3 -
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Tests.Misc.csproj                   |  6 --
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Tests.Queries.csproj                |  6 --
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Tests.QueryParser.csproj            |  3 -
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Tests.Replicator.csproj             |  6 --
 .../Lucene.Net.Tests.Sandbox.csproj                |  3 -
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Tests.Spatial.csproj                |  3 -
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Tests.Suggest.csproj                |  3 -
 .../Properties/AssemblyInfo.cs                     |  2 +-
 src/Lucene.Net.Tests/Lucene.Net.Tests.csproj       |  3 -
 src/Lucene.Net.Tests/Properties/AssemblyInfo.cs    |  2 +-
 src/Lucene.Net/Lucene.Net.csproj                   |  3 -
 src/Lucene.Net/Properties/AssemblyInfo.cs          |  2 +-
 src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj    |  3 -
 .../Lucene.Net.ICU/Properties/AssemblyInfo.cs      |  2 +-
 .../Lucene.Net.Replicator.AspNetCore.csproj        |  6 --
 .../Lucene.Net.Tests.ICU.csproj                    |  3 -
 .../Properties/AssemblyInfo.cs                     |  2 +-
 .../Lucene.Net.Tests.Cli.csproj                    |  3 -
 src/dotnet/tools/lucene-cli/lucene-cli.csproj      |  3 -
 102 files changed, 69 insertions(+), 349 deletions(-)

diff --git a/Lucene.Net.sln b/Lucene.Net.sln
index 5fcb135..bdfcaaf 100644
--- a/Lucene.Net.sln
+++ b/Lucene.Net.sln
@@ -32,7 +32,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{4016BDAB
 		build\build.ps1 = build\build.ps1
 		build\Dependencies.props = build\Dependencies.props
 		build\NuGet.props = build\NuGet.props
-		src\CommonAssemblyInfo.cs = src\CommonAssemblyInfo.cs
 		build\TestReferences.Common.targets = build\TestReferences.Common.targets
 		TestTargetFramework.proj = TestTargetFramework.proj
 		Version.proj = Version.proj
diff --git a/build/build.ps1 b/build/build.ps1
index 0987726..9400eac 100644
--- a/build/build.ps1
+++ b/build/build.ps1
@@ -18,15 +18,15 @@
 # -----------------------------------------------------------------------------------
 
 properties {
-	[string]$base_directory   = Resolve-Path "..\."
-	[string]$release_directory  = "$base_directory\release"
+	[string]$base_directory   = Resolve-Path "../."
+	[string]$release_directory  = "$base_directory/release"
 	[string]$source_directory = "$base_directory"
-	[string]$tools_directory  = "$base_directory\lib"
-	[string]$nuget_package_directory = "$release_directory\NuGetPackages"
-	[string]$test_results_directory = "$release_directory\TestResults"
-	[string]$publish_directory = "$release_directory\Publish"
-	[string]$solutionFile = "$base_directory\Lucene.Net.sln"
-	[string]$versionFile = "$base_directory\Version.proj"
+	[string]$tools_directory  = "$base_directory/lib"
+	[string]$nuget_package_directory = "$release_directory/NuGetPackages"
+	[string]$test_results_directory = "$release_directory/TestResults"
+	[string]$publish_directory = "$release_directory/Publish"
+	[string]$solutionFile = "$base_directory/Lucene.Net.sln"
+	[string]$versionFile = "$base_directory/Version.proj"
 	[string]$sdkPath = "$env:programfiles/dotnet/sdk"
 	[string]$sdkVersion = "2.1.505"
 	[string]$globalJsonFile = "$base_directory/global.json"
@@ -41,8 +41,7 @@ properties {
 	[bool]$prepareForBuild    = $true
 	[bool]$generateBuildBat   = $false
 
-	[string]$common_assembly_info = "$base_directory\src\CommonAssemblyInfo.cs"
-	[string]$build_bat = "$base_directory\build.bat"
+	[string]$build_bat = "$base_directory/build.bat"
 	[string]$copyright_year = [DateTime]::Today.Year.ToString() #Get the current year from the system
 	[string]$copyright = "Copyright " + $([char]0x00A9) + " 2006 - $copyright_year The Apache Software Foundation"
 	[string]$company_name = "The Apache Software Foundation"
@@ -63,7 +62,7 @@ task Clean -description "This task cleans up the build directory" {
 	Get-ChildItem $base_directory -Include *.bak -Recurse | foreach ($_) {Remove-Item $_.FullName}
 }
 
-task UpdateLocalSDKVersion -description "Backs up the project.json file and updates the version" {
+task UpdateLocalSDKVersion -description "Backs up the project.json file and pins the version to $sdkVersion" {
 	Backup-File $globalJsonFile
 	Generate-Global-Json `
 		-sdkVersion $sdkVersion `
@@ -176,6 +175,7 @@ task Compile -depends Clean, Init, Restore -description "This task compiles the
 			& dotnet.exe msbuild $solutionFile /t:Build `
 				/p:Configuration=$configuration `
 				/p:AssemblyVersion=$assemblyVersion `
+				/p:FileVersion=$version `
 				/p:InformationalVersion=$pv `
 				/p:Product=$product_name `
 				/p:Company=$company_name `
@@ -214,7 +214,7 @@ task Test -depends InstallSDK1IfRequired, InstallSDK2IfRequired, Restore -descri
 	Write-Host "Running tests..." -ForegroundColor DarkCyan
 
 	pushd $base_directory
-	$testProjects = Get-ChildItem -Path "$source_directory\**\*.csproj" -Recurse | ? { $_.Directory.Name.Contains(".Tests") }
+	$testProjects = Get-ChildItem -Path "$source_directory/**/*.csproj" -Recurse | ? { $_.Directory.Name.Contains(".Tests") }
 	popd
 
 	Write-Host "frameworks_to_test: $frameworks_to_test" -ForegroundColor Yellow
@@ -232,7 +232,7 @@ task Test -depends InstallSDK1IfRequired, InstallSDK2IfRequired, Restore -descri
 				continue
 			}
 
-			$testResultDirectory = "$test_results_directory\$framework\$testName"
+			$testResultDirectory = "$test_results_directory/$framework/$testName"
 			Ensure-Directory-Exists $testResultDirectory
 
 			if ($framework.StartsWith("netcore")) {
@@ -253,18 +253,18 @@ task Test -depends InstallSDK1IfRequired, InstallSDK2IfRequired, Restore -descri
 				$projectDirectory = $testProject.DirectoryName
 				Write-Host "Directory: $projectDirectory" -ForegroundColor Green
 
-				$binaryRoot = "$projectDirectory\bin\$configuration\$framework"
+				$binaryRoot = "$projectDirectory/bin/$configuration/$framework"
 
-				$testBinary = "$binaryRoot\win7-x64\$testName.dll"
+				$testBinary = "$binaryRoot/win7-x64/$testName.dll"
 				if (-not (Test-Path $testBinary)) {
-					$testBinary = "$binaryRoot\win7-x32\$testName.dll"
+					$testBinary = "$binaryRoot/win7-x32/$testName.dll"
 				}
 				if (-not (Test-Path $testBinary)) {
-					$testBinary = "$binaryRoot\$testName.dll"
+					$testBinary = "$binaryRoot/$testName.dll"
 				} 
 
-				$testExpression = "$tools_directory\NUnit\NUnit.ConsoleRunner.3.5.0\tools\nunit3-console.exe $testBinary --teamcity"
-				$testExpression = "$testExpression --result:$testResultDirectory\TestResult.xml"
+				$testExpression = "$tools_directory\NUnit\NUnit.ConsoleRunner.3.5.0/tools/nunit3-console.exe $testBinary --teamcity"
+				$testExpression = "$testExpression --result:$testResultDirectory/TestResult.xml"
 
 				if ($where -ne $null -and (-Not [System.String]::IsNullOrEmpty($where))) {
 					$testExpression = "$testExpression --where=$where"
@@ -292,7 +292,7 @@ function Get-Package-Version() {
 		return $env:PackageVersion
 	} else {
 		#Get the version info
-		$versionFile = "$base_directory\Version.proj"
+		$versionFile = "$base_directory/Version.proj"
 		$xml = [xml](Get-Content $versionFile)
 
 		$versionPrefix = $xml.Project.PropertyGroup.VersionPrefix
@@ -356,12 +356,6 @@ function Is-Sdk-Version-Installed([string]$sdkVersion) {
 }
 
 function Prepare-For-Build() {
-	Backup-File $common_assembly_info 
-
-	Generate-Assembly-Info `
-		-version $version `
-		-file $common_assembly_info
-
 	Update-Constants-Version $packageVersion
 
 	if ($generateBuildBat -eq $true) {
@@ -371,7 +365,7 @@ function Prepare-For-Build() {
 }
 
 function Update-Constants-Version([string]$version) {
-	$constantsFile = "$base_directory\src\Lucene.Net\Util\Constants.cs"
+	$constantsFile = "$base_directory/src/Lucene.Net/Util/Constants.cs"
 
 	Backup-File $constantsFile
 	(Get-Content $constantsFile) | % {
@@ -398,40 +392,6 @@ $fileText = "{
 	Out-File -filePath $file -encoding UTF8 -inputObject $fileText
 }
 
-function Generate-Assembly-Info {
-param(
-	[string]$version,
-	[string]$file = $(throw "file is a required parameter.")
-)
-
-  $asmInfo = "/*
- * 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.
- */
-using System;
-using System.Reflection;
-
-[assembly: AssemblyFileVersion(""$version"")]
-"
-	$dir = [System.IO.Path]::GetDirectoryName($file)
-	Ensure-Directory-Exists $dir
-
-	Write-Host "Generating assembly info file: $file"
-	Out-File -filePath $file -encoding UTF8 -inputObject $asmInfo
-}
-
 function Generate-Build-Bat {
 param(
 	[string]$file = $(throw "file is a required parameter.")
diff --git a/src/CommonAssemblyInfo.cs b/src/CommonAssemblyInfo.cs
deleted file mode 100644
index faed94c..0000000
--- a/src/CommonAssemblyInfo.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- *
- * 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.
- *
-*/
-
-using System.Reflection;
-
-// IMPORTANT: This file is overwritten by the build.ps1 script during release.
-// If you need to change this information, be sure to change the script as well.
-
-[assembly: AssemblyFileVersion("4.8.0")]
-
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 c6d065d..cf27525 100644
--- a/src/Lucene.Net.Analysis.Common/Lucene.Net.Analysis.Common.csproj
+++ b/src/Lucene.Net.Analysis.Common/Lucene.Net.Analysis.Common.csproj
@@ -33,12 +33,9 @@
     <PackageTags>$(PackageTags);analysis</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
     <EmbeddedResource Include="Analysis\Gl\galician.rslp;Analysis\Pt\portuguese.rslp;Analysis\Compound\Hyphenation\hyphenation.dtd" />
     <EmbeddedResource Include="Analysis\**\stopwords.txt;Analysis\Snowball\*_stop.txt" Exclude="bin\**;obj\**;**\*.xproj;packages\**;@(EmbeddedResource)" />
diff --git a/src/Lucene.Net.Analysis.Common/Properties/AssemblyInfo.cs b/src/Lucene.Net.Analysis.Common/Properties/AssemblyInfo.cs
index e1cfd92..76da382 100644
--- a/src/Lucene.Net.Analysis.Common/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Analysis.Common/Properties/AssemblyInfo.cs
@@ -44,5 +44,5 @@ using System.Runtime.InteropServices;
 // for testing
 [assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Common, PublicKey=" + AssemblyKeys.PublicKey)]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
 
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 d11040f..c08a6d0 100644
--- a/src/Lucene.Net.Analysis.Kuromoji/Lucene.Net.Analysis.Kuromoji.csproj
+++ b/src/Lucene.Net.Analysis.Kuromoji/Lucene.Net.Analysis.Kuromoji.csproj
@@ -33,12 +33,9 @@
     <PackageTags>$(PackageTags);analysis;japanese</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
     <EmbeddedResource Include="stoptags.txt;stopwords.txt;Dict\CharacterDefinition.dat;Dict\ConnectionCosts.dat;Dict\TokenInfoDictionary$buffer.dat;Dict\TokenInfoDictionary$fst.dat;Dict\TokenInfoDictionary$posDict.dat;Dict\TokenInfoDictionary$targetMap.dat;Dict\UnknownDictionary$buffer.dat;Dict\UnknownDictionary$posDict.dat;Dict\UnknownDictionary$targetMap.dat" />
   </ItemGroup>
diff --git a/src/Lucene.Net.Analysis.Kuromoji/Properties/AssemblyInfo.cs b/src/Lucene.Net.Analysis.Kuromoji/Properties/AssemblyInfo.cs
index 7b1665d..05f0403 100644
--- a/src/Lucene.Net.Analysis.Kuromoji/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Analysis.Kuromoji/Properties/AssemblyInfo.cs
@@ -40,4 +40,4 @@ using System.Runtime.InteropServices;
 // for testing
 [assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Kuromoji, PublicKey=" + AssemblyKeys.PublicKey)]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
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 e3b5b48..bccae4c 100644
--- a/src/Lucene.Net.Analysis.Phonetic/Lucene.Net.Analysis.Phonetic.csproj
+++ b/src/Lucene.Net.Analysis.Phonetic/Lucene.Net.Analysis.Phonetic.csproj
@@ -33,12 +33,9 @@
     <PackageTags>$(PackageTags);analysis;soundex;double;metaphone;sounds;like;beider;morse;cologne;caverphone;nysiis;match;rating</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
     <EmbeddedResource Include="Language\Bm\lang.txt;Language\dmrules.txt" />
     <EmbeddedResource Include="Language\Bm\ash_*.txt;Language\Bm\gen_*.txt;Language\Bm\sep_*.txt" Exclude="bin\**;obj\**;**\*.xproj;packages\**;@(EmbeddedResource)" />
diff --git a/src/Lucene.Net.Analysis.Phonetic/Properties/AssemblyInfo.cs b/src/Lucene.Net.Analysis.Phonetic/Properties/AssemblyInfo.cs
index c2353b7..868b73c 100644
--- a/src/Lucene.Net.Analysis.Phonetic/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Analysis.Phonetic/Properties/AssemblyInfo.cs
@@ -44,4 +44,4 @@ using System.Runtime.InteropServices;
 // for testing
 [assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Phonetic, PublicKey=" + AssemblyKeys.PublicKey)]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj b/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj
index 8b190e9..faf9cf5 100644
--- a/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj
+++ b/src/Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj
@@ -33,12 +33,9 @@
     <PackageTags>$(PackageTags);analysis;chinese;smart</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <EmbeddedResource Include="stopwords.txt" />
     <EmbeddedResource Include="Hhmm\bigramdict.mem" />
     <EmbeddedResource Include="Hhmm\coredict.mem" />
diff --git a/src/Lucene.Net.Analysis.SmartCn/Properties/AssemblyInfo.cs b/src/Lucene.Net.Analysis.SmartCn/Properties/AssemblyInfo.cs
index c9766aa..a96240f 100644
--- a/src/Lucene.Net.Analysis.SmartCn/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Analysis.SmartCn/Properties/AssemblyInfo.cs
@@ -35,4 +35,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("dba35edf-a0ff-4df7-ae4f-a103b01cd488")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
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 b416a2a..a639805 100644
--- a/src/Lucene.Net.Analysis.Stempel/Lucene.Net.Analysis.Stempel.csproj
+++ b/src/Lucene.Net.Analysis.Stempel/Lucene.Net.Analysis.Stempel.csproj
@@ -33,12 +33,9 @@
     <PackageTags>$(PackageTags);analysis;polish</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
     <EmbeddedResource Include="Pl\stemmer_20000.tbl;Pl\stopwords.txt" />
   </ItemGroup>
diff --git a/src/Lucene.Net.Analysis.Stempel/Properties/AssemblyInfo.cs b/src/Lucene.Net.Analysis.Stempel/Properties/AssemblyInfo.cs
index 94491ce..9bc94f9 100644
--- a/src/Lucene.Net.Analysis.Stempel/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Analysis.Stempel/Properties/AssemblyInfo.cs
@@ -44,4 +44,4 @@ using System.Runtime.InteropServices;
 // for testing
 [assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Stempel, PublicKey=" + AssemblyKeys.PublicKey)]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj b/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
index 8da8f85..93a6ca9 100644
--- a/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
+++ b/src/Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj
@@ -34,12 +34,9 @@
     <PackageReleaseNotes>This package depends on a temporary version of icu.net hosted on MyGet until official .NET Core support is added. To install, copy the NuGet.config file from https://github.com/apache/lucenenet/blob/master/NuGet.config into your project and then install this package via Package Manager Console as usual.</PackageReleaseNotes>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Benchmark/Properties/AssemblyInfo.cs b/src/Lucene.Net.Benchmark/Properties/AssemblyInfo.cs
index ffb1acc..d6ded34 100644
--- a/src/Lucene.Net.Benchmark/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Benchmark/Properties/AssemblyInfo.cs
@@ -40,4 +40,4 @@ using System.Runtime.InteropServices;
 // for testing
 [assembly: InternalsVisibleTo("Lucene.Net.Tests.Benchmark, PublicKey=" + AssemblyKeys.PublicKey)]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Classification/Lucene.Net.Classification.csproj b/src/Lucene.Net.Classification/Lucene.Net.Classification.csproj
index e4b629b..ddb7e6b 100644
--- a/src/Lucene.Net.Classification/Lucene.Net.Classification.csproj
+++ b/src/Lucene.Net.Classification/Lucene.Net.Classification.csproj
@@ -33,15 +33,9 @@
     <PackageTags>$(PackageTags);classification</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
     <ProjectReference Include="..\Lucene.Net\Lucene.Net.csproj" />
     <ProjectReference Include="..\Lucene.Net.Queries\Lucene.Net.Queries.csproj" />
   </ItemGroup>
diff --git a/src/Lucene.Net.Classification/Properties/AssemblyInfo.cs b/src/Lucene.Net.Classification/Properties/AssemblyInfo.cs
index ff5cb71..8eb8878 100644
--- a/src/Lucene.Net.Classification/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Classification/Properties/AssemblyInfo.cs
@@ -40,4 +40,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("ff6180c7-579d-4557-bf6a-ddd139fad2e4")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj b/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj
index 830ac4c..83114fc 100644
--- a/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj
+++ b/src/Lucene.Net.Codecs/Lucene.Net.Codecs.csproj
@@ -33,15 +33,9 @@
     <PackageTags>$(PackageTags);codec</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
     <ProjectReference Include="..\Lucene.Net\Lucene.Net.csproj" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Codecs/Properties/AssemblyInfo.cs b/src/Lucene.Net.Codecs/Properties/AssemblyInfo.cs
index f1aa5a1..42c577b 100644
--- a/src/Lucene.Net.Codecs/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Codecs/Properties/AssemblyInfo.cs
@@ -40,4 +40,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("03ad88e5-c647-4821-9c75-ca5507ab18f0")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj b/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj
index 9655551..1a31fba 100644
--- a/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj
+++ b/src/Lucene.Net.Demo/Lucene.Net.Demo.csproj
@@ -33,12 +33,9 @@
     <PackageTags>$(PackageTags);demo</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Demo/Properties/AssemblyInfo.cs b/src/Lucene.Net.Demo/Properties/AssemblyInfo.cs
index 547a89e..42a8be6 100644
--- a/src/Lucene.Net.Demo/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Demo/Properties/AssemblyInfo.cs
@@ -44,4 +44,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("4bcd7980-0cf4-4da0-b069-f555a41cb44d")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj b/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj
index 0118f7e..d371b3c 100644
--- a/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj
+++ b/src/Lucene.Net.Expressions/Lucene.Net.Expressions.csproj
@@ -33,12 +33,9 @@
     <PackageTags>$(PackageTags);expression</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <None Include="App.config" />
   </ItemGroup>
 
@@ -73,9 +70,7 @@
   </PropertyGroup>
 
   <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' OR '$(TargetFramework)' == 'netstandard2.0' ">
-    <!-- LUCENENET TODO: Do we really need to remove and re-add CommonAssemblyInfo just to use Exclude? -->
-    <Compile Remove="Properties\Settings.Designer.cs;..\CommonAssemblyInfo.cs" />
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" Exclude="Properties\Settings.Designer.cs" />
+    <Compile Remove="Properties\Settings.Designer.cs" />
     <EmbeddedResource Include="JS\JavascriptCompiler.properties" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Expressions/Properties/AssemblyInfo.cs b/src/Lucene.Net.Expressions/Properties/AssemblyInfo.cs
index cebba73..56b9fc4 100644
--- a/src/Lucene.Net.Expressions/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Expressions/Properties/AssemblyInfo.cs
@@ -40,4 +40,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("6f5d9768-c42b-4dca-881b-001f61618cac")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj b/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
index f5057f8..38298f6 100644
--- a/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
+++ b/src/Lucene.Net.Facet/Lucene.Net.Facet.csproj
@@ -33,12 +33,9 @@
     <PackageTags>$(PackageTags);facet;faceted</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Facet/Properties/AssemblyInfo.cs b/src/Lucene.Net.Facet/Properties/AssemblyInfo.cs
index 1030b04..202f267 100644
--- a/src/Lucene.Net.Facet/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Facet/Properties/AssemblyInfo.cs
@@ -44,4 +44,4 @@ using System.Runtime.InteropServices;
 // for testing
 [assembly: InternalsVisibleTo("Lucene.Net.Tests.Facet, PublicKey=" + AssemblyKeys.PublicKey)]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj b/src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj
index 9c61d76..fa62206 100644
--- a/src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj
+++ b/src/Lucene.Net.Grouping/Lucene.Net.Grouping.csproj
@@ -33,15 +33,9 @@
     <PackageTags>$(PackageTags);grouping;group</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
     <ProjectReference Include="..\Lucene.Net\Lucene.Net.csproj" />
     <ProjectReference Include="..\Lucene.Net.Queries\Lucene.Net.Queries.csproj" />
   </ItemGroup>
diff --git a/src/Lucene.Net.Grouping/Properties/AssemblyInfo.cs b/src/Lucene.Net.Grouping/Properties/AssemblyInfo.cs
index f8c5208..8b70f34 100644
--- a/src/Lucene.Net.Grouping/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Grouping/Properties/AssemblyInfo.cs
@@ -40,4 +40,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("02bab603-067d-48b1-aedd-316849652568")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj b/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
index 90b1f91..5c46bef 100644
--- a/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
+++ b/src/Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj
@@ -33,12 +33,9 @@
     <PackageTags>$(PackageTags);highlight;highlighter</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Highlighter/Properties/AssemblyInfo.cs b/src/Lucene.Net.Highlighter/Properties/AssemblyInfo.cs
index 6fe1b6b..8c22146 100644
--- a/src/Lucene.Net.Highlighter/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Highlighter/Properties/AssemblyInfo.cs
@@ -46,4 +46,4 @@ using System.Runtime.InteropServices;
 [assembly: InternalsVisibleTo("Lucene.Net.Tests.Highlighter, PublicKey=" + AssemblyKeys.PublicKey)]
 [assembly: InternalsVisibleTo("Lucene.Net.Tests.ICU, PublicKey=" + AssemblyKeys.PublicKey)]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Join/Lucene.Net.Join.csproj b/src/Lucene.Net.Join/Lucene.Net.Join.csproj
index e0bf1b9..4f81ddf 100644
--- a/src/Lucene.Net.Join/Lucene.Net.Join.csproj
+++ b/src/Lucene.Net.Join/Lucene.Net.Join.csproj
@@ -33,12 +33,9 @@
     <PackageTags>$(PackageTags);join</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Join/Properties/AssemblyInfo.cs b/src/Lucene.Net.Join/Properties/AssemblyInfo.cs
index cfa00bb..c4c7b98 100644
--- a/src/Lucene.Net.Join/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Join/Properties/AssemblyInfo.cs
@@ -44,4 +44,4 @@ using System.Runtime.InteropServices;
 // for testing
 [assembly: InternalsVisibleTo("Lucene.Net.Tests.Join, PublicKey=" + AssemblyKeys.PublicKey)]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj b/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj
index 8d9e526..4fe2bbe 100644
--- a/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj
+++ b/src/Lucene.Net.Memory/Lucene.Net.Memory.csproj
@@ -33,12 +33,9 @@
     <PackageTags>$(PackageTags);memory</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Memory/Properties/AssemblyInfo.cs b/src/Lucene.Net.Memory/Properties/AssemblyInfo.cs
index 702ac64..1d26a9c 100644
--- a/src/Lucene.Net.Memory/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Memory/Properties/AssemblyInfo.cs
@@ -44,4 +44,4 @@ using System.Runtime.InteropServices;
 // for testing
 [assembly: InternalsVisibleTo("Lucene.Net.Tests.Memory, PublicKey=" + AssemblyKeys.PublicKey)]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj b/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj
index 4e798de..ba88fcd 100644
--- a/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj
+++ b/src/Lucene.Net.Misc/Lucene.Net.Misc.csproj
@@ -33,13 +33,10 @@
     <PackageTags>$(PackageTags);miscellaneous</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
     <Compile Remove="Store\*" />
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.Misc/Properties/AssemblyInfo.cs b/src/Lucene.Net.Misc/Properties/AssemblyInfo.cs
index f0156f4..cb32b20 100644
--- a/src/Lucene.Net.Misc/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Misc/Properties/AssemblyInfo.cs
@@ -44,4 +44,4 @@ using System.Runtime.InteropServices;
 // for testing
 [assembly: InternalsVisibleTo("Lucene.Net.Tests.Misc, PublicKey=" + AssemblyKeys.PublicKey)]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Queries/Lucene.Net.Queries.csproj b/src/Lucene.Net.Queries/Lucene.Net.Queries.csproj
index 9fc8971..6536ce1 100644
--- a/src/Lucene.Net.Queries/Lucene.Net.Queries.csproj
+++ b/src/Lucene.Net.Queries/Lucene.Net.Queries.csproj
@@ -33,15 +33,9 @@
     <PackageTags>$(PackageTags);query;queries</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
     <ProjectReference Include="..\Lucene.Net\Lucene.Net.csproj" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Queries/Properties/AssemblyInfo.cs b/src/Lucene.Net.Queries/Properties/AssemblyInfo.cs
index 4a82291..07a57cc 100644
--- a/src/Lucene.Net.Queries/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Queries/Properties/AssemblyInfo.cs
@@ -39,4 +39,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("76a14bc5-8f0f-4de4-b501-423d4c1a20a5")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj b/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
index 6b1c28d..bfc47dc 100644
--- a/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
+++ b/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
@@ -33,8 +33,6 @@
     <PackageTags>$(PackageTags);query;queryparser</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.QueryParser/Properties/AssemblyInfo.cs b/src/Lucene.Net.QueryParser/Properties/AssemblyInfo.cs
index e2f6951..93083e4 100644
--- a/src/Lucene.Net.QueryParser/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.QueryParser/Properties/AssemblyInfo.cs
@@ -44,4 +44,4 @@ using System.Runtime.InteropServices;
 // for testing
 [assembly: InternalsVisibleTo("Lucene.Net.Tests.QueryParser, PublicKey=" + AssemblyKeys.PublicKey)]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj b/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj
index d5b7eb2..9a1cfb3 100644
--- a/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj
+++ b/src/Lucene.Net.Replicator/Lucene.Net.Replicator.csproj
@@ -33,15 +33,9 @@
     <PackageTags>$(PackageTags);files;replication;replicate</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
     <ProjectReference Include="..\Lucene.Net\Lucene.Net.csproj" />
     <ProjectReference Include="..\Lucene.Net.Facet\Lucene.Net.Facet.csproj" />
   </ItemGroup>
diff --git a/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj b/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj
index e8e66f3..790f332 100644
--- a/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj
+++ b/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj
@@ -33,15 +33,9 @@
     <PackageTags>$(PackageTags);sandbox</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
     <ProjectReference Include="..\Lucene.Net\Lucene.Net.csproj" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Sandbox/Properties/AssemblyInfo.cs b/src/Lucene.Net.Sandbox/Properties/AssemblyInfo.cs
index 699861a..18599d3 100644
--- a/src/Lucene.Net.Sandbox/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Sandbox/Properties/AssemblyInfo.cs
@@ -40,4 +40,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("13274ba9-9052-4354-8ffe-e3f32593368f")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj b/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
index 026a71f..31d9e66 100644
--- a/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
+++ b/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
@@ -33,12 +33,9 @@
     <PackageTags>$(PackageTags);spatial;geo;geospatial;2d</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Spatial/Properties/AssemblyInfo.cs b/src/Lucene.Net.Spatial/Properties/AssemblyInfo.cs
index 79ca457..d5d0fc8 100644
--- a/src/Lucene.Net.Spatial/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Spatial/Properties/AssemblyInfo.cs
@@ -41,4 +41,4 @@ using System.Security;
 // for testing
 [assembly: InternalsVisibleTo("Lucene.Net.Tests.Spatial, PublicKey=" + AssemblyKeys.PublicKey)]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj b/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj
index 155771b..1e4c697 100644
--- a/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj
+++ b/src/Lucene.Net.Suggest/Lucene.Net.Suggest.csproj
@@ -33,12 +33,9 @@
     <PackageTags>$(PackageTags);suggest;suggestion</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Suggest/Properties/AssemblyInfo.cs b/src/Lucene.Net.Suggest/Properties/AssemblyInfo.cs
index e8f3b31..2da2904 100644
--- a/src/Lucene.Net.Suggest/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Suggest/Properties/AssemblyInfo.cs
@@ -44,4 +44,4 @@ using System.Runtime.InteropServices;
 // for testing
 [assembly: InternalsVisibleTo("Lucene.Net.Tests.Suggest, PublicKey=" + AssemblyKeys.PublicKey)]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj b/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj
index e4430c0..5727d5a 100644
--- a/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj
+++ b/src/Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj
@@ -36,13 +36,10 @@
       remove all of the warnings this line produces. -->
     <!--<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>-->
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
     <Compile Remove="Util\AbstractBeforeAfterRule.cs;Util\CloseableDirectory.cs;Util\FailureMarker.cs;Util\QuickPatchThreadsFilter.cs;Util\RemoveUponClose.cs;Util\RunListenerPrintReproduceInfo.cs;Util\TestRuleAssertionsRequired.cs;Util\TestRuleDelegate.cs;Util\TestRuleFieldCacheSanity.cs;Util\TestRuleIgnoreAfterMaxFailures.cs;Util\TestRuleIgnoreTestSuites.cs;Util\TestRuleMarkFailure.cs;Util\TestRuleSetupAndRestoreInstanceEnv.cs;Util\TestRuleSetupTeardownChained.cs;Util\TestRuleStoreClass [...]
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" Exclude="Util\AbstractBeforeAfterRule.cs;Util\CloseableDirectory.cs;Util\FailureMarker.cs;Util\QuickPatchThreadsFilter.cs;Util\RemoveUponClose.cs;Util\RunListenerPrintReproduceInfo.cs;Util\TestRuleAssertionsRequired.cs;Util\TestRuleDelegate.cs;Util\TestRuleFieldCacheSanity.cs;Util\TestRuleIgnoreAfterMaxFailures.cs;Util\TestRuleIgnoreTestSuites.cs;Util\TestRuleMarkFailure.cs;Util\TestRuleSetupAndRestor [...]
   </ItemGroup>
 
   <ItemGroup>
diff --git a/src/Lucene.Net.TestFramework/Properties/AssemblyInfo.cs b/src/Lucene.Net.TestFramework/Properties/AssemblyInfo.cs
index 3c3a495..030a905 100644
--- a/src/Lucene.Net.TestFramework/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.TestFramework/Properties/AssemblyInfo.cs
@@ -44,4 +44,4 @@ using System.Runtime.InteropServices;
 [assembly: InternalsVisibleTo("Lucene.Net.Tests, PublicKey=" + AssemblyKeys.PublicKey)]
 [assembly: InternalsVisibleTo("Lucene.Net.Tests.Misc, PublicKey=" + AssemblyKeys.PublicKey)]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Lucene.Net.Tests.Analysis.Common.csproj b/src/Lucene.Net.Tests.Analysis.Common/Lucene.Net.Tests.Analysis.Common.csproj
index cec8e0d..896c8a4 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Lucene.Net.Tests.Analysis.Common.csproj
+++ b/src/Lucene.Net.Tests.Analysis.Common/Lucene.Net.Tests.Analysis.Common.csproj
@@ -30,12 +30,9 @@
     <AssemblyTitle>Lucene.Net.Tests.Analysis.Common</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <EmbeddedResource Include="Analysis\En\porterTestData.zip;Analysis\En\kstemTestData.zip;Analysis\Snowball\TestSnowballVocabData.zip;Analysis\Fr\frlighttestdata.zip;Analysis\Fr\frminimaltestdata.zip;Analysis\De\delighttestdata.zip;Analysis\De\deminimaltestdata.zip;Analysis\Es\eslighttestdata.zip;Analysis\Ru\rulighttestdata.zip;Analysis\Ckb\ckbtestdata.zip;Analysis\Fi\filighttestdata.zip;Analysis\Gl\gltestdata.zip;Analysis\Pt\ptlighttestdata.zip;Analysis\Pt\ptminimaltestdata.zip;Analys [...]
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Analysis.Common/Properties/AssemblyInfo.cs
index ad83ae5..8793528 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Properties/AssemblyInfo.cs
@@ -35,4 +35,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("fd602350-abed-4d1e-ad7b-709d18b0b464")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Tests.Analysis.Kuromoji/Lucene.Net.Tests.Analysis.Kuromoji.csproj b/src/Lucene.Net.Tests.Analysis.Kuromoji/Lucene.Net.Tests.Analysis.Kuromoji.csproj
index ed0a441..4c81168 100644
--- a/src/Lucene.Net.Tests.Analysis.Kuromoji/Lucene.Net.Tests.Analysis.Kuromoji.csproj
+++ b/src/Lucene.Net.Tests.Analysis.Kuromoji/Lucene.Net.Tests.Analysis.Kuromoji.csproj
@@ -30,12 +30,9 @@
     <AssemblyTitle>Lucene.Net.Tests.Analysis.Kuromoji</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <EmbeddedResource Include="bocchan.utf-8;search-segmentation-tests.txt;userdict.txt;Tools\custom-dictionary-input.zip" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Tests.Analysis.Kuromoji/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Analysis.Kuromoji/Properties/AssemblyInfo.cs
index d97fe84..9ca39a5 100644
--- a/src/Lucene.Net.Tests.Analysis.Kuromoji/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Analysis.Kuromoji/Properties/AssemblyInfo.cs
@@ -32,4 +32,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("34a2bce8-1351-43bd-a365-f50e7c0b2c49")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Tests.Analysis.Phonetic/Lucene.Net.Tests.Analysis.Phonetic.csproj b/src/Lucene.Net.Tests.Analysis.Phonetic/Lucene.Net.Tests.Analysis.Phonetic.csproj
index 06ba9ad..3800dad 100644
--- a/src/Lucene.Net.Tests.Analysis.Phonetic/Lucene.Net.Tests.Analysis.Phonetic.csproj
+++ b/src/Lucene.Net.Tests.Analysis.Phonetic/Lucene.Net.Tests.Analysis.Phonetic.csproj
@@ -30,15 +30,9 @@
     <AssemblyTitle>Lucene.Net.Tests.Analysis.Phonetic</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
     <ProjectReference Include="..\Lucene.Net.Analysis.Phonetic\Lucene.Net.Analysis.Phonetic.csproj" />
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
diff --git a/src/Lucene.Net.Tests.Analysis.Phonetic/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Analysis.Phonetic/Properties/AssemblyInfo.cs
index 42be62d..358537b 100644
--- a/src/Lucene.Net.Tests.Analysis.Phonetic/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Analysis.Phonetic/Properties/AssemblyInfo.cs
@@ -36,4 +36,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("a2867797-0a5d-4878-8f59-58c399c9a4e4")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Tests.Analysis.SmartCn/Lucene.Net.Tests.Analysis.SmartCn.csproj b/src/Lucene.Net.Tests.Analysis.SmartCn/Lucene.Net.Tests.Analysis.SmartCn.csproj
index 61d06df..ce055c7 100644
--- a/src/Lucene.Net.Tests.Analysis.SmartCn/Lucene.Net.Tests.Analysis.SmartCn.csproj
+++ b/src/Lucene.Net.Tests.Analysis.SmartCn/Lucene.Net.Tests.Analysis.SmartCn.csproj
@@ -30,15 +30,9 @@
     <AssemblyTitle>Lucene.Net.Tests.Analysis.SmartCn</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
     <ProjectReference Include="..\Lucene.Net.Analysis.SmartCn\Lucene.Net.Analysis.SmartCn.csproj" />
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
diff --git a/src/Lucene.Net.Tests.Analysis.SmartCn/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Analysis.SmartCn/Properties/AssemblyInfo.cs
index 866b08d..3be95e2 100644
--- a/src/Lucene.Net.Tests.Analysis.SmartCn/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Analysis.SmartCn/Properties/AssemblyInfo.cs
@@ -31,4 +31,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("8c8d78d3-bffd-4301-953b-fe5350b2aeeb")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Tests.Analysis.Stempel/Lucene.Net.Tests.Analysis.Stempel.csproj b/src/Lucene.Net.Tests.Analysis.Stempel/Lucene.Net.Tests.Analysis.Stempel.csproj
index a525b6b..b322b15 100644
--- a/src/Lucene.Net.Tests.Analysis.Stempel/Lucene.Net.Tests.Analysis.Stempel.csproj
+++ b/src/Lucene.Net.Tests.Analysis.Stempel/Lucene.Net.Tests.Analysis.Stempel.csproj
@@ -30,12 +30,9 @@
     <AssemblyTitle>Lucene.Net.Tests.Analysis.Stempel</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <EmbeddedResource Include="Egothor.Stemmer\testRules.txt" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Tests.Analysis.Stempel/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Analysis.Stempel/Properties/AssemblyInfo.cs
index 11c92ef..d4fcea6 100644
--- a/src/Lucene.Net.Tests.Analysis.Stempel/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Analysis.Stempel/Properties/AssemblyInfo.cs
@@ -36,4 +36,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("940a6ab1-f00a-40e2-bc1a-2898efa8c48f")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Tests.Benchmark/Lucene.Net.Tests.Benchmark.csproj b/src/Lucene.Net.Tests.Benchmark/Lucene.Net.Tests.Benchmark.csproj
index 56b80ec..9c7e331 100644
--- a/src/Lucene.Net.Tests.Benchmark/Lucene.Net.Tests.Benchmark.csproj
+++ b/src/Lucene.Net.Tests.Benchmark/Lucene.Net.Tests.Benchmark.csproj
@@ -30,12 +30,9 @@
     <AssemblyTitle>Lucene.Net.Tests.Benchmark</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <EmbeddedResource Include="ByTask\Feeds\trecdocs.zip;ByTask\conf.zip;ByTask\reuters.first20.lines.txt;ByTask\test-mapping-ISOLatin1Accent-partial.txt;Quality\reuters.578.lines.txt.bz2;Quality\trecQRels.txt;Quality\trecTopics.txt" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Tests.Benchmark/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Benchmark/Properties/AssemblyInfo.cs
index b83663f..98409b7 100644
--- a/src/Lucene.Net.Tests.Benchmark/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Benchmark/Properties/AssemblyInfo.cs
@@ -33,4 +33,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("9257f543-44e2-4db6-8b27-a8a354c13e5b")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Tests.Classification/Lucene.Net.Tests.Classification.csproj b/src/Lucene.Net.Tests.Classification/Lucene.Net.Tests.Classification.csproj
index 9aa66b8..d1b3d28 100644
--- a/src/Lucene.Net.Tests.Classification/Lucene.Net.Tests.Classification.csproj
+++ b/src/Lucene.Net.Tests.Classification/Lucene.Net.Tests.Classification.csproj
@@ -30,15 +30,9 @@
     <AssemblyTitle>Lucene.Net.Tests.Classification</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
     <ProjectReference Include="..\Lucene.Net.Analysis.Common\Lucene.Net.Analysis.Common.csproj" />
     <ProjectReference Include="..\Lucene.Net.Classification\Lucene.Net.Classification.csproj" />
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
diff --git a/src/Lucene.Net.Tests.Classification/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Classification/Properties/AssemblyInfo.cs
index f740f2e..1f37b6a 100644
--- a/src/Lucene.Net.Tests.Classification/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Classification/Properties/AssemblyInfo.cs
@@ -36,4 +36,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("253246a8-7b09-4251-ab4c-7971d3b2be4a")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Tests.Codecs/Lucene.Net.Tests.Codecs.csproj b/src/Lucene.Net.Tests.Codecs/Lucene.Net.Tests.Codecs.csproj
index 9733862..df0ec4a 100644
--- a/src/Lucene.Net.Tests.Codecs/Lucene.Net.Tests.Codecs.csproj
+++ b/src/Lucene.Net.Tests.Codecs/Lucene.Net.Tests.Codecs.csproj
@@ -30,15 +30,9 @@
     <AssemblyTitle>Lucene.Net.Tests.Codecs</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
     <ProjectReference Include="..\Lucene.Net.Analysis.Common\Lucene.Net.Analysis.Common.csproj" />
     <ProjectReference Include="..\Lucene.Net.Codecs\Lucene.Net.Codecs.csproj" />
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
diff --git a/src/Lucene.Net.Tests.Codecs/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Codecs/Properties/AssemblyInfo.cs
index fa889c4..04a83ce 100644
--- a/src/Lucene.Net.Tests.Codecs/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Codecs/Properties/AssemblyInfo.cs
@@ -37,7 +37,7 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("39e5e0c8-c1d3-4583-b9f7-8fbd695e5601")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
 
 
 // LUCENENET specific - only allow tests in this assembly to run one at a time
diff --git a/src/Lucene.Net.Tests.Demo/Lucene.Net.Tests.Demo.csproj b/src/Lucene.Net.Tests.Demo/Lucene.Net.Tests.Demo.csproj
index 776c243..57ca48f 100644
--- a/src/Lucene.Net.Tests.Demo/Lucene.Net.Tests.Demo.csproj
+++ b/src/Lucene.Net.Tests.Demo/Lucene.Net.Tests.Demo.csproj
@@ -30,12 +30,9 @@
     <AssemblyTitle>Lucene.Net.Tests.Demo</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <EmbeddedResource Include="Test-Files\Docs\*" Exclude="bin\**;obj\**;**\*.xproj;packages\**;@(EmbeddedResource)" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Tests.Demo/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Demo/Properties/AssemblyInfo.cs
index 2b44525..fb51967 100644
--- a/src/Lucene.Net.Tests.Demo/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Demo/Properties/AssemblyInfo.cs
@@ -36,4 +36,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("93df8baa-9caa-4142-8e96-55481188c012")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Tests.Expressions/Lucene.Net.Tests.Expressions.csproj b/src/Lucene.Net.Tests.Expressions/Lucene.Net.Tests.Expressions.csproj
index 4c2d83b..3e451ac 100644
--- a/src/Lucene.Net.Tests.Expressions/Lucene.Net.Tests.Expressions.csproj
+++ b/src/Lucene.Net.Tests.Expressions/Lucene.Net.Tests.Expressions.csproj
@@ -30,15 +30,9 @@
     <AssemblyTitle>Lucene.Net.Tests.Expressions</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
     <ProjectReference Include="..\Lucene.Net.Expressions\Lucene.Net.Expressions.csproj" />
     <ProjectReference Include="..\Lucene.Net.Queries\Lucene.Net.Queries.csproj" />
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
diff --git a/src/Lucene.Net.Tests.Expressions/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Expressions/Properties/AssemblyInfo.cs
index 0415811..7bdabb5 100644
--- a/src/Lucene.Net.Tests.Expressions/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Expressions/Properties/AssemblyInfo.cs
@@ -36,4 +36,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("0c789606-781d-47dc-b391-5ac367fce258")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Tests.Facet/Lucene.Net.Tests.Facet.csproj b/src/Lucene.Net.Tests.Facet/Lucene.Net.Tests.Facet.csproj
index 9700345..789251a 100644
--- a/src/Lucene.Net.Tests.Facet/Lucene.Net.Tests.Facet.csproj
+++ b/src/Lucene.Net.Tests.Facet/Lucene.Net.Tests.Facet.csproj
@@ -30,15 +30,9 @@
     <AssemblyTitle>Lucene.Net.Tests.Facet</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
     <ProjectReference Include="..\Lucene.Net.Facet\Lucene.Net.Facet.csproj" />
     <ProjectReference Include="..\Lucene.Net.Queries\Lucene.Net.Queries.csproj" />
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
diff --git a/src/Lucene.Net.Tests.Facet/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Facet/Properties/AssemblyInfo.cs
index f740f2e..1f37b6a 100644
--- a/src/Lucene.Net.Tests.Facet/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Facet/Properties/AssemblyInfo.cs
@@ -36,4 +36,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("253246a8-7b09-4251-ab4c-7971d3b2be4a")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Tests.Grouping/Lucene.Net.Tests.Grouping.csproj b/src/Lucene.Net.Tests.Grouping/Lucene.Net.Tests.Grouping.csproj
index 10b312e..7f0cdc3 100644
--- a/src/Lucene.Net.Tests.Grouping/Lucene.Net.Tests.Grouping.csproj
+++ b/src/Lucene.Net.Tests.Grouping/Lucene.Net.Tests.Grouping.csproj
@@ -30,15 +30,9 @@
     <AssemblyTitle>Lucene.Net.Tests.Grouping</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
     <ProjectReference Include="..\Lucene.Net.Grouping\Lucene.Net.Grouping.csproj" />
     <ProjectReference Include="..\Lucene.Net.Queries\Lucene.Net.Queries.csproj" />
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
diff --git a/src/Lucene.Net.Tests.Grouping/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Grouping/Properties/AssemblyInfo.cs
index a350d80..f2055ef 100644
--- a/src/Lucene.Net.Tests.Grouping/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Grouping/Properties/AssemblyInfo.cs
@@ -36,4 +36,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("c2349f0d-fb66-4544-9c33-4d87f73c6004")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Tests.Highlighter/Lucene.Net.Tests.Highlighter.csproj b/src/Lucene.Net.Tests.Highlighter/Lucene.Net.Tests.Highlighter.csproj
index 0ef0ff9..c36ce77 100644
--- a/src/Lucene.Net.Tests.Highlighter/Lucene.Net.Tests.Highlighter.csproj
+++ b/src/Lucene.Net.Tests.Highlighter/Lucene.Net.Tests.Highlighter.csproj
@@ -30,12 +30,9 @@
     <AssemblyTitle>Lucene.Net.Tests.Highlighter</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <EmbeddedResource Include="PostingsHighlight\CambridgeMA.utf8" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Tests.Highlighter/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Highlighter/Properties/AssemblyInfo.cs
index a419c72..74e303b 100644
--- a/src/Lucene.Net.Tests.Highlighter/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Highlighter/Properties/AssemblyInfo.cs
@@ -36,4 +36,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("fbcd6afe-0a5c-4399-8044-99c58d2912d1")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Tests.Join/Lucene.Net.Tests.Join.csproj b/src/Lucene.Net.Tests.Join/Lucene.Net.Tests.Join.csproj
index 807d789..a5f3a1f 100644
--- a/src/Lucene.Net.Tests.Join/Lucene.Net.Tests.Join.csproj
+++ b/src/Lucene.Net.Tests.Join/Lucene.Net.Tests.Join.csproj
@@ -30,15 +30,9 @@
     <AssemblyTitle>Lucene.Net.Tests.Join</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
     <ProjectReference Include="..\Lucene.Net.Grouping\Lucene.Net.Grouping.csproj" />
     <ProjectReference Include="..\Lucene.Net.Join\Lucene.Net.Join.csproj" />
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
diff --git a/src/Lucene.Net.Tests.Join/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Join/Properties/AssemblyInfo.cs
index e85c929..52a121e 100644
--- a/src/Lucene.Net.Tests.Join/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Join/Properties/AssemblyInfo.cs
@@ -36,4 +36,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("4c1b794f-8158-45e6-85b3-2c46569bebc2")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Tests.Memory/Lucene.Net.Tests.Memory.csproj b/src/Lucene.Net.Tests.Memory/Lucene.Net.Tests.Memory.csproj
index 7f5c967..07f7174 100644
--- a/src/Lucene.Net.Tests.Memory/Lucene.Net.Tests.Memory.csproj
+++ b/src/Lucene.Net.Tests.Memory/Lucene.Net.Tests.Memory.csproj
@@ -30,12 +30,9 @@
     <AssemblyTitle>Lucene.Net.Tests.Memory</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <EmbeddedResource Include="Index\Memory\testqueries.txt;Index\Memory\testqueries2.txt" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Tests.Memory/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Memory/Properties/AssemblyInfo.cs
index 60b079e..1eeef2e 100644
--- a/src/Lucene.Net.Tests.Memory/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Memory/Properties/AssemblyInfo.cs
@@ -36,4 +36,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("7f9378bf-c88d-46ff-9ae8-5e7d8c0225d3")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Tests.Misc/Lucene.Net.Tests.Misc.csproj b/src/Lucene.Net.Tests.Misc/Lucene.Net.Tests.Misc.csproj
index c60380f..92d8788 100644
--- a/src/Lucene.Net.Tests.Misc/Lucene.Net.Tests.Misc.csproj
+++ b/src/Lucene.Net.Tests.Misc/Lucene.Net.Tests.Misc.csproj
@@ -30,15 +30,9 @@
     <AssemblyTitle>Lucene.Net.Tests.Misc</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
     <ProjectReference Include="..\Lucene.Net.Misc\Lucene.Net.Misc.csproj" />
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
diff --git a/src/Lucene.Net.Tests.Misc/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Misc/Properties/AssemblyInfo.cs
index 29340b9..a7dbd10 100644
--- a/src/Lucene.Net.Tests.Misc/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Misc/Properties/AssemblyInfo.cs
@@ -36,4 +36,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("7895e023-eb91-401c-b2b3-754eec42134b")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Tests.Queries/Lucene.Net.Tests.Queries.csproj b/src/Lucene.Net.Tests.Queries/Lucene.Net.Tests.Queries.csproj
index bb30e3a..5648955 100644
--- a/src/Lucene.Net.Tests.Queries/Lucene.Net.Tests.Queries.csproj
+++ b/src/Lucene.Net.Tests.Queries/Lucene.Net.Tests.Queries.csproj
@@ -30,15 +30,9 @@
     <AssemblyTitle>Lucene.Net.Tests.Queries</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
     <ProjectReference Include="..\Lucene.Net.Queries\Lucene.Net.Queries.csproj" />
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
   </ItemGroup>
diff --git a/src/Lucene.Net.Tests.Queries/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Queries/Properties/AssemblyInfo.cs
index fe1d610..a88dae7 100644
--- a/src/Lucene.Net.Tests.Queries/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Queries/Properties/AssemblyInfo.cs
@@ -36,4 +36,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("ab4a0a26-30fc-4180-ade0-7409b0214107")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Tests.QueryParser/Lucene.Net.Tests.QueryParser.csproj b/src/Lucene.Net.Tests.QueryParser/Lucene.Net.Tests.QueryParser.csproj
index 5f04d56..a32b4e0 100644
--- a/src/Lucene.Net.Tests.QueryParser/Lucene.Net.Tests.QueryParser.csproj
+++ b/src/Lucene.Net.Tests.QueryParser/Lucene.Net.Tests.QueryParser.csproj
@@ -30,12 +30,9 @@
     <AssemblyTitle>Lucene.Net.Tests.QueryParser</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <EmbeddedResource Include="Xml\albumBooleanQuery.xsl;Xml\albumFilteredQuery.xsl;Xml\albumLuceneClassicQuery.xsl;Xml\BooleanFilter.xml;Xml\BooleanQuery.xml;Xml\BoostingQuery.xml;Xml\BoostingTermQuery.xml;Xml\CachedFilter.xml;Xml\ConstantScoreQuery.xml;Xml\DisjunctionMaxQuery.xml;Xml\DuplicateFilterQuery.xml;Xml\FuzzyLikeThisQuery.xml;Xml\LikeThisQuery.xml;Xml\MatchAllDocsQuery.xml;Xml\NestedBooleanQuery.xml;Xml\NumericRangeFilterQuery.xml;Xml\NumericRangeQueryQuery.xml;Xml\RangeFilter [...]
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Tests.QueryParser/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.QueryParser/Properties/AssemblyInfo.cs
index e7179cb..e4caac5 100644
--- a/src/Lucene.Net.Tests.QueryParser/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.QueryParser/Properties/AssemblyInfo.cs
@@ -36,4 +36,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("27d0ae76-3e51-454c-9c4a-f913fde0ed0a")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Tests.Replicator/Lucene.Net.Tests.Replicator.csproj b/src/Lucene.Net.Tests.Replicator/Lucene.Net.Tests.Replicator.csproj
index 4c112b9..11c0566 100644
--- a/src/Lucene.Net.Tests.Replicator/Lucene.Net.Tests.Replicator.csproj
+++ b/src/Lucene.Net.Tests.Replicator/Lucene.Net.Tests.Replicator.csproj
@@ -30,15 +30,9 @@
     <AssemblyTitle>Lucene.Net.Tests.Replicator</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
     <ProjectReference Include="..\Lucene.Net.Replicator\Lucene.Net.Replicator.csproj" />
     <ProjectReference Include="..\dotnet\Lucene.Net.Replicator.AspNetCore\Lucene.Net.Replicator.AspNetCore.csproj" />
     <ProjectReference Include="..\Lucene.Net.TestFramework\Lucene.Net.TestFramework.csproj" />
diff --git a/src/Lucene.Net.Tests.Sandbox/Lucene.Net.Tests.Sandbox.csproj b/src/Lucene.Net.Tests.Sandbox/Lucene.Net.Tests.Sandbox.csproj
index 6de4730..df6d0cd 100644
--- a/src/Lucene.Net.Tests.Sandbox/Lucene.Net.Tests.Sandbox.csproj
+++ b/src/Lucene.Net.Tests.Sandbox/Lucene.Net.Tests.Sandbox.csproj
@@ -30,12 +30,9 @@
     <AssemblyTitle>Lucene.Net.Tests.Sandbox</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <EmbeddedResource Include="Queries\fuzzyTestData.txt" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Tests.Sandbox/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Sandbox/Properties/AssemblyInfo.cs
index 13f006c..2d21c6e 100644
--- a/src/Lucene.Net.Tests.Sandbox/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Sandbox/Properties/AssemblyInfo.cs
@@ -36,4 +36,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("7865cbc8-2c6b-462c-acf5-b2c4d60d93c9")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Tests.Spatial/Lucene.Net.Tests.Spatial.csproj b/src/Lucene.Net.Tests.Spatial/Lucene.Net.Tests.Spatial.csproj
index 70da8be..bf09c91 100644
--- a/src/Lucene.Net.Tests.Spatial/Lucene.Net.Tests.Spatial.csproj
+++ b/src/Lucene.Net.Tests.Spatial/Lucene.Net.Tests.Spatial.csproj
@@ -30,12 +30,9 @@
     <AssemblyTitle>Lucene.Net.Tests.Spatial</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <EmbeddedResource Include="Test-Files\cities-Intersects-BBox.txt;Test-Files\Data\countries-bbox.txt;Test-Files\Data\countries-poly.txt;Test-Files\Data\geonames-IE.txt;Test-Files\Data\LUCENE-4464.txt;Test-Files\Data\simple-bbox.txt;Test-Files\Data\states-bbox.txt;Test-Files\Data\states-poly.txt;Test-Files\Data\world-cities-points.txt;Test-Files\simple-Queries-BBox.txt;Test-Files\states-Intersects-BBox.txt;Test-Files\states-IsWithin-BBox.txt" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Tests.Spatial/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Spatial/Properties/AssemblyInfo.cs
index 9995921..e1f3032 100644
--- a/src/Lucene.Net.Tests.Spatial/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Spatial/Properties/AssemblyInfo.cs
@@ -36,4 +36,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("31f52f5c-a08f-4363-8003-23d6f7d6eb3a")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Tests.Suggest/Lucene.Net.Tests.Suggest.csproj b/src/Lucene.Net.Tests.Suggest/Lucene.Net.Tests.Suggest.csproj
index 529d90d..bd3ea86 100644
--- a/src/Lucene.Net.Tests.Suggest/Lucene.Net.Tests.Suggest.csproj
+++ b/src/Lucene.Net.Tests.Suggest/Lucene.Net.Tests.Suggest.csproj
@@ -30,12 +30,9 @@
     <AssemblyTitle>Lucene.Net.Tests.Suggest</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <EmbeddedResource Include="Suggest\Top50KWiki.utf8" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net.Tests.Suggest/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Suggest/Properties/AssemblyInfo.cs
index 35cded9..5352121 100644
--- a/src/Lucene.Net.Tests.Suggest/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Suggest/Properties/AssemblyInfo.cs
@@ -36,4 +36,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("a6511598-3008-4a3b-ae68-2d1da792ca8a")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj b/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj
index c9f2088..68802c7 100644
--- a/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj
+++ b/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj
@@ -30,13 +30,10 @@
     <AssemblyTitle>Lucene.Net.Tests</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
     <Compile Remove="Util\JunitCompat\**\*;Util\TestMaxFailuresRule.cs" />
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <!--<Compile Exclude="Util\TestMaxFailuresRule.cs" />-->
     <EmbeddedResource Include="Index\bogus24.upgraded.to.36.zip;Index\index.30.cfs.zip;Index\index.30.nocfs.zip;Index\index.31.cfs.zip;Index\index.31.nocfs.zip;Index\index.31.optimized.cfs.zip;Index\index.31.optimized.nocfs.zip;Index\index.32.cfs.zip;Index\index.32.nocfs.zip;Index\index.34.cfs.zip;Index\index.34.nocfs.zip;Index\index.36.surrogates.zip;Index\index.40.cfs.zip;Index\index.40.nocfs.zip;Index\index.40.optimized.cfs.zip;Index\index.40.optimized.nocfs.zip;Index\index.41.cfs.zip [...]
     <None Include="App.config" />
diff --git a/src/Lucene.Net.Tests/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests/Properties/AssemblyInfo.cs
index 9c5888e..c79c80e 100644
--- a/src/Lucene.Net.Tests/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests/Properties/AssemblyInfo.cs
@@ -29,7 +29,7 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyDefaultAlias("Lucene.Net.Tests")]
 [assembly: AssemblyCulture("")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
 
 // LUCENENET specific - only allow tests in this assembly to run one at a time
 // to prevent polluting shared state.
diff --git a/src/Lucene.Net/Lucene.Net.csproj b/src/Lucene.Net/Lucene.Net.csproj
index 3a650bb..4b4b62a 100644
--- a/src/Lucene.Net/Lucene.Net.csproj
+++ b/src/Lucene.Net/Lucene.Net.csproj
@@ -32,12 +32,9 @@
     <Description>Lucene.Net is a full-text search engine library capable of advanced text analysis, indexing, and searching. It can be used to easily add search capabilities to applications. Lucene.Net is a C# port of the popular Java Lucene search engine framework from The Apache Software Foundation, targeted at .NET Framework and .NET Core users.</Description>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-    
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <Compile Include="..\CommonAssemblyKeys.cs" Link="Properties\CommonAssemblyKeys.cs" />
   </ItemGroup>
 
diff --git a/src/Lucene.Net/Properties/AssemblyInfo.cs b/src/Lucene.Net/Properties/AssemblyInfo.cs
index 9658deb..23ff800 100644
--- a/src/Lucene.Net/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net/Properties/AssemblyInfo.cs
@@ -41,4 +41,4 @@ using System.Runtime.CompilerServices;
 [assembly: InternalsVisibleTo("Lucene.Net.Tests.QueryParser, PublicKey=" + AssemblyKeys.PublicKey)]
 [assembly: InternalsVisibleTo("Lucene.Net.Tests.Cli, PublicKey=" + AssemblyKeys.PublicKey)] // For lucene-cli
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj b/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
index 0be847a..b88dc71 100644
--- a/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
+++ b/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
@@ -35,12 +35,9 @@
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
     <DefineConstants>$(DefineConstants);FEATURE_BREAKITERATOR</DefineConstants>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <Compile Include="..\..\Lucene.Net.Analysis.Common\Analysis\Th\**\*.cs" LinkBase="Analysis\Th" />
     <EmbeddedResource Include="..\..\Lucene.Net.Analysis.Common\Analysis\Th\stopwords.txt" Link="Analysis\Th\stopwords.txt" />
     <Compile Include="..\..\Lucene.Net.Analysis.Common\Analysis\Util\CharArrayIterator.cs" Link="Analysis\Util\CharArrayIterator.cs" />
diff --git a/src/dotnet/Lucene.Net.ICU/Properties/AssemblyInfo.cs b/src/dotnet/Lucene.Net.ICU/Properties/AssemblyInfo.cs
index b1de0be..5d014ea 100644
--- a/src/dotnet/Lucene.Net.ICU/Properties/AssemblyInfo.cs
+++ b/src/dotnet/Lucene.Net.ICU/Properties/AssemblyInfo.cs
@@ -44,4 +44,4 @@ using System.Runtime.InteropServices;
 // for testing
 [assembly: InternalsVisibleTo("Lucene.Net.Tests.ICU, PublicKey=" + AssemblyKeys.PublicKey)]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj b/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
index f101455..46521e9 100644
--- a/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
+++ b/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
@@ -34,15 +34,9 @@
     <PackageTags>$(PackageTags);files;replication;replicate;aspnetcore</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
     <ProjectReference Include="..\..\Lucene.Net.Replicator\Lucene.Net.Replicator.csproj" />
   </ItemGroup>
   
diff --git a/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj b/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj
index 789f370..ac05443 100644
--- a/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj
+++ b/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj
@@ -31,12 +31,9 @@
     <DefineConstants>$(DefineConstants);FEATURE_BREAKITERATOR</DefineConstants>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <Compile Include="..\..\Lucene.Net.Tests.Analysis.Common\Analysis\Th\**\*.cs" LinkBase="Analysis\Th" />
     <Compile Include="..\..\Lucene.Net.Tests.Analysis.Common\Analysis\Util\TestCharArrayIterator.cs" Link="Analysis\Util\TestCharArrayIterator.cs" />
     <Compile Include="..\..\Lucene.Net.Tests.Analysis.Common\Analysis\Util\TestSegmentingTokenizerBase.cs" Link="Analysis\Util\TestSegmentingTokenizerBase.cs" />
diff --git a/src/dotnet/Lucene.Net.Tests.ICU/Properties/AssemblyInfo.cs b/src/dotnet/Lucene.Net.Tests.ICU/Properties/AssemblyInfo.cs
index aa1321c..c2bdba7 100644
--- a/src/dotnet/Lucene.Net.Tests.ICU/Properties/AssemblyInfo.cs
+++ b/src/dotnet/Lucene.Net.Tests.ICU/Properties/AssemblyInfo.cs
@@ -36,4 +36,4 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("d5aa1a22-1b28-4df6-bfda-02519a189839")]
 
-// NOTE: Version information is in CommonAssemblyInfo.cs
+
diff --git a/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj b/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj
index 3fec7de..0635091 100644
--- a/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj
+++ b/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj
@@ -29,13 +29,10 @@
     <AssemblyTitle>Lucene.Net.Tests.Cli</AssemblyTitle>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers>
-    
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
     <Compile Remove="SourceCode\TestInputForParser.cs" />
-    <Compile Include="..\..\..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" Exclude="SourceCode\TestInputForParser.cs" />
     <EmbeddedResource Include="SourceCode\TestInputForParser.cs" />
   </ItemGroup>
 
diff --git a/src/dotnet/tools/lucene-cli/lucene-cli.csproj b/src/dotnet/tools/lucene-cli/lucene-cli.csproj
index 1be4be2..3cac201 100644
--- a/src/dotnet/tools/lucene-cli/lucene-cli.csproj
+++ b/src/dotnet/tools/lucene-cli/lucene-cli.csproj
@@ -37,12 +37,9 @@
     <PackageTags>$(PackageTags);maintenance;utility</PackageTags>
     <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
     <NoWarn>$(NoWarn);1591;1573</NoWarn>
-
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\..\..\CommonAssemblyInfo.cs" Link="Properties\CommonAssemblyInfo.cs" />
     <!--<EmbeddedResource Include="..\..\..\Lucene.Net.Benchmark\ByTask\Programmatic\Sample.cs;..\..\..\Lucene.Net.Demo\*.cs;..\..\..\Lucene.Net.Demo\Facet\*.cs" Exclude="bin\**;obj\**;**\*.xproj;packages\**;@(EmbeddedResource)" />-->
     <EmbeddedResource Include="..\..\..\Lucene.Net.Benchmark\ByTask\Programmatic\Sample.cs" Link="Resources\Sample.cs" />
     <EmbeddedResource Include="..\..\..\Lucene.Net.Demo\*.cs" Exclude="bin\**;obj\**;packages\**;@(EmbeddedResource)" />


[lucenenet] 16/29: Lucene.Net.Support.IO.FileSupport: Removed unnecessary using statement (closes #226)

Posted by ni...@apache.org.
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 fa93368b8e5334a49a7857efeacb79f1befc01da
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Tue Jul 9 16:04:52 2019 +0700

    Lucene.Net.Support.IO.FileSupport: Removed unnecessary using statement (closes #226)
---
 src/Lucene.Net/Support/IO/FileSupport.cs | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/Lucene.Net/Support/IO/FileSupport.cs b/src/Lucene.Net/Support/IO/FileSupport.cs
index dd89e32..3478829 100644
--- a/src/Lucene.Net/Support/IO/FileSupport.cs
+++ b/src/Lucene.Net/Support/IO/FileSupport.cs
@@ -1,7 +1,6 @@
 using Lucene.Net.Util;
 using System;
 using System.Collections.Concurrent;
-using System.Collections.Generic;
 using System.IO;
 using System.Linq;
 using System.Text;


[lucenenet] 29/29: Upgraded to latest dotnet-install.ps1

Posted by ni...@apache.org.
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 53bf64cf71941976da81c740d8cdf1f00a6a1a37
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Wed Jul 10 00:37:38 2019 +0700

    Upgraded to latest dotnet-install.ps1
---
 build/dotnet-install.ps1 | 299 ++++++++++++++++++++++++++++++++++-------------
 1 file changed, 217 insertions(+), 82 deletions(-)

diff --git a/build/dotnet-install.ps1 b/build/dotnet-install.ps1
index 427995b..f17bd85 100644
--- a/build/dotnet-install.ps1
+++ b/build/dotnet-install.ps1
@@ -15,9 +15,10 @@
     - Current - most current release
     - LTS - most current supported release
     - 2-part version in a format A.B - represents a specific release
-          examples: 2.0; 1.0
+          examples: 2.0, 1.0
     - Branch name
-          examples: release/2.0.0; Master
+          examples: release/2.0.0, Master
+    Note: The version parameter overrides the channel parameter.
 .PARAMETER Version
     Default: latest
     Represents a build version on specific channel. Possible values:
@@ -25,17 +26,26 @@
     - coherent - most latest coherent build on specific channel
           coherent applies only to SDK downloads
     - 3-part version in a format A.B.C - represents specific version of build
-          examples: 2.0.0-preview2-006120; 1.1.0
+          examples: 2.0.0-preview2-006120, 1.1.0
 .PARAMETER InstallDir
     Default: %LocalAppData%\Microsoft\dotnet
     Path to where to install dotnet. Note that binaries will be placed directly in a given directory.
 .PARAMETER Architecture
     Default: <auto> - this value represents currently running OS architecture
     Architecture of dotnet binaries to be installed.
-    Possible values are: <auto>, x64 and x86
+    Possible values are: <auto>, amd64, x64, x86, arm64, arm
 .PARAMETER SharedRuntime
+    This parameter is obsolete and may be removed in a future version of this script.
+    The recommended alternative is '-Runtime dotnet'.
+
     Default: false
-    Installs just the shared runtime bits, not the entire SDK
+    Installs just the shared runtime bits, not the entire SDK.
+    This is equivalent to specifying `-Runtime dotnet`.
+.PARAMETER Runtime
+    Installs just a shared runtime, not the entire SDK.
+    Possible values:
+        - dotnet     - the Microsoft.NETCore.App shared runtime
+        - aspnetcore - the Microsoft.AspNetCore.App shared runtime
 .PARAMETER DryRun
     If set it will not perform installation but instead display what command line to use to consistently install
     currently requested version of dotnet cli. In example if you specify version 'latest' it will display a link
@@ -49,15 +59,23 @@
 .PARAMETER AzureFeed
     Default: https://dotnetcli.azureedge.net/dotnet
     This parameter typically is not changed by the user.
-    It allows to change URL for the Azure feed used by this installer.
+    It allows changing the URL for the Azure feed used by this installer.
 .PARAMETER UncachedFeed
     This parameter typically is not changed by the user.
-    It allows to change URL for the Uncached feed used by this installer.
+    It allows changing the URL for the Uncached feed used by this installer.
+.PARAMETER FeedCredential
+    Used as a query string to append to the Azure feed.
+    It allows changing the URL to use non-public blob storage accounts.
 .PARAMETER ProxyAddress
     If set, the installer will use the proxy when making web requests
 .PARAMETER ProxyUseDefaultCredentials
     Default: false
     Use default credentials, when using proxy address.
+.PARAMETER SkipNonVersionedFiles
+    Default: false
+    Skips installing non-versioned files if they already exist, such as dotnet.exe.
+.PARAMETER NoCdn
+    Disable downloading from the Azure CDN, and use the uncached feed directly.
 #>
 [cmdletbinding()]
 param(
@@ -65,27 +83,41 @@ param(
    [string]$Version="Latest",
    [string]$InstallDir="<auto>",
    [string]$Architecture="<auto>",
+   [ValidateSet("dotnet", "aspnetcore", IgnoreCase = $false)]
+   [string]$Runtime,
+   [Obsolete("This parameter may be removed in a future version of this script. The recommended alternative is '-Runtime dotnet'.")]
    [switch]$SharedRuntime,
    [switch]$DryRun,
    [switch]$NoPath,
    [string]$AzureFeed="https://dotnetcli.azureedge.net/dotnet",
    [string]$UncachedFeed="https://dotnetcli.blob.core.windows.net/dotnet",
+   [string]$FeedCredential,
    [string]$ProxyAddress,
-   [switch]$ProxyUseDefaultCredentials
+   [switch]$ProxyUseDefaultCredentials,
+   [switch]$SkipNonVersionedFiles,
+   [switch]$NoCdn
 )
 
 Set-StrictMode -Version Latest
 $ErrorActionPreference="Stop"
 $ProgressPreference="SilentlyContinue"
 
+if ($NoCdn) {
+    $AzureFeed = $UncachedFeed
+}
+
 $BinFolderRelativePath=""
 
+if ($SharedRuntime -and (-not $Runtime)) {
+    $Runtime = "dotnet"
+}
+
 # example path with regex: shared/1.0.0-beta-12345/somepath
 $VersionRegEx="/\d+\.\d+[^/]+/"
-$OverrideNonVersionedFiles=$true
+$OverrideNonVersionedFiles = !$SkipNonVersionedFiles
 
 function Say($str) {
-    Write-Output "dotnet-install: $str"
+    Write-Host "dotnet-install: $str"
 }
 
 function Say-Verbose($str) {
@@ -120,11 +152,10 @@ function Invoke-With-Retry([ScriptBlock]$ScriptBlock, [int]$MaxAttempts = 3, [in
 function Get-Machine-Architecture() {
     Say-Invocation $MyInvocation
 
-    # possible values: AMD64, IA64, x86
+    # possible values: amd64, x64, x86, arm64, arm
     return $ENV:PROCESSOR_ARCHITECTURE
 }
 
-# TODO: Architecture and CLIArchitecture should be unified
 function Get-CLIArchitecture-From-Architecture([string]$Architecture) {
     Say-Invocation $MyInvocation
 
@@ -132,18 +163,27 @@ function Get-CLIArchitecture-From-Architecture([string]$Architecture) {
         { $_ -eq "<auto>" } { return Get-CLIArchitecture-From-Architecture $(Get-Machine-Architecture) }
         { ($_ -eq "amd64") -or ($_ -eq "x64") } { return "x64" }
         { $_ -eq "x86" } { return "x86" }
-        default { throw "Architecture not supported. If you think this is a bug, please report it at https://github.com/dotnet/cli/issues" }
+        { $_ -eq "arm" } { return "arm" }
+        { $_ -eq "arm64" } { return "arm64" }
+        default { throw "Architecture not supported. If you think this is a bug, report it at https://github.com/dotnet/cli/issues" }
     }
 }
 
+# The version text returned from the feeds is a 1-line or 2-line string:
+# For the SDK and the dotnet runtime (2 lines):
+# Line 1: # commit_hash
+# Line 2: # 4-part version
+# For the aspnetcore runtime (1 line):
+# Line 1: # 4-part version
 function Get-Version-Info-From-Version-Text([string]$VersionText) {
     Say-Invocation $MyInvocation
 
-    $Data = @($VersionText.Split([char[]]@(), [StringSplitOptions]::RemoveEmptyEntries));
+    $Data = -split $VersionText
 
-    $VersionInfo = @{}
-    $VersionInfo.CommitHash = $Data[0].Trim()
-    $VersionInfo.Version = $Data[1].Trim()
+    $VersionInfo = @{
+        CommitHash = $(if ($Data.Count -gt 1) { $Data[0] })
+        Version = $Data[-1] # last line is always the version number.
+    }
     return $VersionInfo
 }
 
@@ -168,33 +208,39 @@ function GetHTTPResponse([Uri] $Uri)
             # HttpClient is used vs Invoke-WebRequest in order to support Nano Server which doesn't support the Invoke-WebRequest cmdlet.
             Load-Assembly -Assembly System.Net.Http
 
-            if(-not $ProxyAddress)
-            {
-                # Despite no proxy being explicitly specified, we may still be behind a default proxy
-                $DefaultProxy = [System.Net.WebRequest]::DefaultWebProxy;
-                if($DefaultProxy -and (-not $DefaultProxy.IsBypassed($Uri))){
-                    $ProxyAddress =  $DefaultProxy.GetProxy($Uri).OriginalString
-                    $ProxyUseDefaultCredentials = $true
+            if(-not $ProxyAddress) {
+                try {
+                    # Despite no proxy being explicitly specified, we may still be behind a default proxy
+                    $DefaultProxy = [System.Net.WebRequest]::DefaultWebProxy;
+                    if($DefaultProxy -and (-not $DefaultProxy.IsBypassed($Uri))) {
+                        $ProxyAddress = $DefaultProxy.GetProxy($Uri).OriginalString
+                        $ProxyUseDefaultCredentials = $true
+                    }
+                } catch {
+                    # Eat the exception and move forward as the above code is an attempt
+                    #    at resolving the DefaultProxy that may not have been a problem.
+                    $ProxyAddress = $null
+                    Say-Verbose("Exception ignored: $_.Exception.Message - moving forward...")
                 }
             }
 
-            if($ProxyAddress){
+            if($ProxyAddress) {
                 $HttpClientHandler = New-Object System.Net.Http.HttpClientHandler
                 $HttpClientHandler.Proxy =  New-Object System.Net.WebProxy -Property @{Address=$ProxyAddress;UseDefaultCredentials=$ProxyUseDefaultCredentials}
                 $HttpClient = New-Object System.Net.Http.HttpClient -ArgumentList $HttpClientHandler
-            } 
+            }
             else {
+
                 $HttpClient = New-Object System.Net.Http.HttpClient
             }
             # Default timeout for HttpClient is 100s.  For a 50 MB download this assumes 500 KB/s average, any less will time out
-            # 10 minutes allows it to work over much slower connections.
-            $HttpClient.Timeout = New-TimeSpan -Minutes 10
-            $Response = $HttpClient.GetAsync($Uri).Result
-            if (($Response -eq $null) -or (-not ($Response.IsSuccessStatusCode)))
-            {
+            # 20 minutes allows it to work over much slower connections.
+            $HttpClient.Timeout = New-TimeSpan -Minutes 20
+            $Response = $HttpClient.GetAsync("${Uri}${FeedCredential}").Result
+            if (($Response -eq $null) -or (-not ($Response.IsSuccessStatusCode))) {
+                 # The feed credential is potentially sensitive info. Do not log FeedCredential to console output.
                 $ErrorMsg = "Failed to download $Uri."
-                if ($Response -ne $null)
-                {
+                if ($Response -ne $null) {
                     $ErrorMsg += "  $Response"
                 }
 
@@ -208,7 +254,7 @@ function GetHTTPResponse([Uri] $Uri)
                 $HttpClient.Dispose()
             }
         }
-    })  
+    })
 }
 
 
@@ -216,10 +262,13 @@ function Get-Latest-Version-Info([string]$AzureFeed, [string]$Channel, [bool]$Co
     Say-Invocation $MyInvocation
 
     $VersionFileUrl = $null
-    if ($SharedRuntime) {
+    if ($Runtime -eq "dotnet") {
         $VersionFileUrl = "$UncachedFeed/Runtime/$Channel/latest.version"
     }
-    else {
+    elseif ($Runtime -eq "aspnetcore") {
+        $VersionFileUrl = "$UncachedFeed/aspnetcore/Runtime/$Channel/latest.version"
+    }
+    elseif (-not $Runtime) {
         if ($Coherent) {
             $VersionFileUrl = "$UncachedFeed/Sdk/$Channel/latest.coherent.version"
         }
@@ -227,8 +276,15 @@ function Get-Latest-Version-Info([string]$AzureFeed, [string]$Channel, [bool]$Co
             $VersionFileUrl = "$UncachedFeed/Sdk/$Channel/latest.version"
         }
     }
-    
-    $Response = GetHTTPResponse -Uri $VersionFileUrl
+    else {
+        throw "Invalid value for `$Runtime"
+    }
+    try {
+        $Response = GetHTTPResponse -Uri $VersionFileUrl
+    }
+    catch {
+        throw "Could not resolve version information."
+    }
     $StringContent = $Response.Content.ReadAsStringAsync().Result
 
     switch ($Response.Content.Headers.ContentType) {
@@ -260,32 +316,41 @@ function Get-Specific-Version-From-Version([string]$AzureFeed, [string]$Channel,
     }
 }
 
-function Get-Download-Link([string]$AzureFeed, [string]$Channel, [string]$SpecificVersion, [string]$CLIArchitecture) {
+function Get-Download-Link([string]$AzureFeed, [string]$SpecificVersion, [string]$CLIArchitecture) {
     Say-Invocation $MyInvocation
-    
-    if ($SharedRuntime) {
+
+    if ($Runtime -eq "dotnet") {
         $PayloadURL = "$AzureFeed/Runtime/$SpecificVersion/dotnet-runtime-$SpecificVersion-win-$CLIArchitecture.zip"
     }
-    else {
+    elseif ($Runtime -eq "aspnetcore") {
+        $PayloadURL = "$AzureFeed/aspnetcore/Runtime/$SpecificVersion/aspnetcore-runtime-$SpecificVersion-win-$CLIArchitecture.zip"
+    }
+    elseif (-not $Runtime) {
         $PayloadURL = "$AzureFeed/Sdk/$SpecificVersion/dotnet-sdk-$SpecificVersion-win-$CLIArchitecture.zip"
     }
+    else {
+        throw "Invalid value for `$Runtime"
+    }
 
-    Say-Verbose "Constructed primary payload URL: $PayloadURL"
+    Say-Verbose "Constructed primary named payload URL: $PayloadURL"
 
     return $PayloadURL
 }
 
-function Get-LegacyDownload-Link([string]$AzureFeed, [string]$Channel, [string]$SpecificVersion, [string]$CLIArchitecture) {
+function Get-LegacyDownload-Link([string]$AzureFeed, [string]$SpecificVersion, [string]$CLIArchitecture) {
     Say-Invocation $MyInvocation
-    
-    if ($SharedRuntime) {
+
+    if (-not $Runtime) {
+        $PayloadURL = "$AzureFeed/Sdk/$SpecificVersion/dotnet-dev-win-$CLIArchitecture.$SpecificVersion.zip"
+    }
+    elseif ($Runtime -eq "dotnet") {
         $PayloadURL = "$AzureFeed/Runtime/$SpecificVersion/dotnet-win-$CLIArchitecture.$SpecificVersion.zip"
     }
     else {
-        $PayloadURL = "$AzureFeed/Sdk/$SpecificVersion/dotnet-dev-win-$CLIArchitecture.$SpecificVersion.zip"
+        return $null
     }
 
-    Say-Verbose "Constructed legacy payload URL: $PayloadURL"
+    Say-Verbose "Constructed legacy named payload URL: $PayloadURL"
 
     return $PayloadURL
 }
@@ -314,7 +379,7 @@ function Get-Version-Info-From-Version-File([string]$InstallRoot, [string]$Relat
 
     $VersionFile = Join-Path -Path $InstallRoot -ChildPath $RelativePathToVersionFile
     Say-Verbose "Local version file: $VersionFile"
-    
+
     if (Test-Path $VersionFile) {
         $VersionText = cat $VersionFile
         Say-Verbose "Local version file text: $VersionText"
@@ -328,7 +393,7 @@ function Get-Version-Info-From-Version-File([string]$InstallRoot, [string]$Relat
 
 function Is-Dotnet-Package-Installed([string]$InstallRoot, [string]$RelativePathToPackage, [string]$SpecificVersion) {
     Say-Invocation $MyInvocation
-    
+
     $DotnetPackagePath = Join-Path -Path $InstallRoot -ChildPath $RelativePathToPackage | Join-Path -ChildPath $SpecificVersion
     Say-Verbose "Is-Dotnet-Package-Installed: Path to a package: $DotnetPackagePath"
     return Test-Path $DotnetPackagePath -PathType Container
@@ -346,13 +411,13 @@ function Get-Path-Prefix-With-Version($path) {
     if ($match.Success) {
         return $entry.FullName.Substring(0, $match.Index + $match.Length)
     }
-    
+
     return $null
 }
 
 function Get-List-Of-Directories-And-Versions-To-Unpack-From-Dotnet-Package([System.IO.Compression.ZipArchive]$Zip, [string]$OutPath) {
     Say-Invocation $MyInvocation
-    
+
     $ret = @()
     foreach ($entry in $Zip.Entries) {
         $dir = Get-Path-Prefix-With-Version $entry.FullName
@@ -363,12 +428,12 @@ function Get-List-Of-Directories-And-Versions-To-Unpack-From-Dotnet-Package([Sys
             }
         }
     }
-    
+
     $ret = $ret | Sort-Object | Get-Unique
-    
+
     $values = ($ret | foreach { "$_" }) -join ";"
     Say-Verbose "Directories to unpack: $values"
-    
+
     return $ret
 }
 
@@ -392,9 +457,9 @@ function Extract-Dotnet-Package([string]$ZipPath, [string]$OutPath) {
     Set-Variable -Name Zip
     try {
         $Zip = [System.IO.Compression.ZipFile]::OpenRead($ZipPath)
-        
+
         $DirectoriesToUnpack = Get-List-Of-Directories-And-Versions-To-Unpack-From-Dotnet-Package -Zip $Zip -OutPath $OutPath
-        
+
         foreach ($entry in $Zip.Entries) {
             $PathWithVersion = Get-Path-Prefix-With-Version $entry.FullName
             if (($PathWithVersion -eq $null) -Or ($DirectoriesToUnpack -contains $PathWithVersion)) {
@@ -415,11 +480,23 @@ function Extract-Dotnet-Package([string]$ZipPath, [string]$OutPath) {
     }
 }
 
-function DownloadFile([Uri]$Uri, [string]$OutPath) {
+function DownloadFile($Source, [string]$OutPath) {
+    if ($Source -notlike "http*") {
+        #  Using System.IO.Path.GetFullPath to get the current directory
+        #    does not work in this context - $pwd gives the current directory
+        if (![System.IO.Path]::IsPathRooted($Source)) {
+            $Source = $(Join-Path -Path $pwd -ChildPath $Source)
+        }
+        $Source = Get-Absolute-Path $Source
+        Say "Copying file from $Source to $OutPath"
+        Copy-Item $Source $OutPath
+        return
+    }
+
     $Stream = $null
 
     try {
-        $Response = GetHTTPResponse -Uri $Uri
+        $Response = GetHTTPResponse -Uri $Source
         $Stream = $Response.Content.ReadAsStreamAsync().Result
         $File = [System.IO.File]::Create($OutPath)
         $Stream.CopyTo($File)
@@ -435,8 +512,13 @@ function DownloadFile([Uri]$Uri, [string]$OutPath) {
 function Prepend-Sdk-InstallRoot-To-Path([string]$InstallRoot, [string]$BinFolderRelativePath) {
     $BinPath = Get-Absolute-Path $(Join-Path -Path $InstallRoot -ChildPath $BinFolderRelativePath)
     if (-Not $NoPath) {
-        Say "Adding to current process PATH: `"$BinPath`". Note: This change will not be visible if PowerShell was run as a child process."
-        $env:path = "$BinPath;" + $env:path
+        $SuffixedBinPath = "$BinPath;"
+        if (-Not $env:path.Contains($SuffixedBinPath)) {
+            Say "Adding to current process PATH: `"$BinPath`". Note: This change will not be visible if PowerShell was run as a child process."
+            $env:path = $SuffixedBinPath + $env:path
+        } else {
+            Say-Verbose "Current process PATH already contains `"$BinPath`""
+        }
     }
     else {
         Say "Binaries of dotnet can be found in $BinPath"
@@ -445,24 +527,55 @@ function Prepend-Sdk-InstallRoot-To-Path([string]$InstallRoot, [string]$BinFolde
 
 $CLIArchitecture = Get-CLIArchitecture-From-Architecture $Architecture
 $SpecificVersion = Get-Specific-Version-From-Version -AzureFeed $AzureFeed -Channel $Channel -Version $Version
-$DownloadLink = Get-Download-Link -AzureFeed $AzureFeed -Channel $Channel -SpecificVersion $SpecificVersion -CLIArchitecture $CLIArchitecture
-$LegacyDownloadLink = Get-LegacyDownload-Link -AzureFeed $AzureFeed -Channel $Channel -SpecificVersion $SpecificVersion -CLIArchitecture $CLIArchitecture
+$DownloadLink = Get-Download-Link -AzureFeed $AzureFeed -SpecificVersion $SpecificVersion -CLIArchitecture $CLIArchitecture
+$LegacyDownloadLink = Get-LegacyDownload-Link -AzureFeed $AzureFeed -SpecificVersion $SpecificVersion -CLIArchitecture $CLIArchitecture
+
+$InstallRoot = Resolve-Installation-Path $InstallDir
+Say-Verbose "InstallRoot: $InstallRoot"
+$ScriptName = $MyInvocation.MyCommand.Name
 
 if ($DryRun) {
     Say "Payload URLs:"
-    Say "Primary - $DownloadLink"
-    Say "Legacy - $LegacyDownloadLink"
-    Say "Repeatable invocation: .\$($MyInvocation.MyCommand) -Version $SpecificVersion -Channel $Channel -Architecture $CLIArchitecture -InstallDir $InstallDir"
+    Say "Primary named payload URL: $DownloadLink"
+    if ($LegacyDownloadLink) {
+        Say "Legacy named payload URL: $LegacyDownloadLink"
+    }
+    $RepeatableCommand = ".\$ScriptName -Version `"$SpecificVersion`" -InstallDir `"$InstallRoot`" -Architecture `"$CLIArchitecture`""
+    if ($Runtime -eq "dotnet") {
+       $RepeatableCommand+=" -Runtime `"dotnet`""
+    }
+    elseif ($Runtime -eq "aspnetcore") {
+       $RepeatableCommand+=" -Runtime `"aspnetcore`""
+    }
+    foreach ($key in $MyInvocation.BoundParameters.Keys) {
+        if (-not (@("Architecture","Channel","DryRun","InstallDir","Runtime","SharedRuntime","Version") -contains $key)) {
+            $RepeatableCommand+=" -$key `"$($MyInvocation.BoundParameters[$key])`""
+        }
+    }
+    Say "Repeatable invocation: $RepeatableCommand"
     exit 0
 }
 
-$InstallRoot = Resolve-Installation-Path $InstallDir
-Say-Verbose "InstallRoot: $InstallRoot"
+if ($Runtime -eq "dotnet") {
+    $assetName = ".NET Core Runtime"
+    $dotnetPackageRelativePath = "shared\Microsoft.NETCore.App"
+}
+elseif ($Runtime -eq "aspnetcore") {
+    $assetName = "ASP.NET Core Runtime"
+    $dotnetPackageRelativePath = "shared\Microsoft.AspNetCore.App"
+}
+elseif (-not $Runtime) {
+    $assetName = ".NET Core SDK"
+    $dotnetPackageRelativePath = "sdk"
+}
+else {
+    throw "Invalid value for `$Runtime"
+}
 
-$IsSdkInstalled = Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage "sdk" -SpecificVersion $SpecificVersion
-Say-Verbose ".NET SDK installed? $IsSdkInstalled"
-if ($IsSdkInstalled) {
-    Say ".NET SDK version $SpecificVersion is already installed."
+#  Check if the SDK version is already installed.
+$isAssetInstalled = Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage $dotnetPackageRelativePath -SpecificVersion $SpecificVersion
+if ($isAssetInstalled) {
+    Say "$assetName version $SpecificVersion is already installed."
     Prepend-Sdk-InstallRoot-To-Path -InstallRoot $InstallRoot -BinFolderRelativePath $BinFolderRelativePath
     exit 0
 }
@@ -470,31 +583,53 @@ if ($IsSdkInstalled) {
 New-Item -ItemType Directory -Force -Path $InstallRoot | Out-Null
 
 $installDrive = $((Get-Item $InstallRoot).PSDrive.Name);
-Write-Output "${installDrive}:";
-$free = Get-CimInstance -Class win32_logicaldisk | where Deviceid -eq "${installDrive}:"
-if ($free.Freespace / 1MB -le 100 ) {
+$diskInfo = Get-PSDrive -Name $installDrive
+if ($diskInfo.Free / 1MB -le 100) {
     Say "There is not enough disk space on drive ${installDrive}:"
     exit 0
 }
 
-$ZipPath = [System.IO.Path]::GetTempFileName()
+$ZipPath = [System.IO.Path]::combine([System.IO.Path]::GetTempPath(), [System.IO.Path]::GetRandomFileName())
 Say-Verbose "Zip path: $ZipPath"
+
+$DownloadFailed = $false
 Say "Downloading link: $DownloadLink"
 try {
-    DownloadFile -Uri $DownloadLink -OutPath $ZipPath
+    DownloadFile -Source $DownloadLink -OutPath $ZipPath
 }
 catch {
     Say "Cannot download: $DownloadLink"
-    $DownloadLink = $LegacyDownloadLink
-    $ZipPath = [System.IO.Path]::GetTempFileName()
-    Say-Verbose "Legacy zip path: $ZipPath"
-    Say "Downloading legacy link: $DownloadLink"
-    DownloadFile -Uri $DownloadLink -OutPath $ZipPath
+    if ($LegacyDownloadLink) {
+        $DownloadLink = $LegacyDownloadLink
+        $ZipPath = [System.IO.Path]::combine([System.IO.Path]::GetTempPath(), [System.IO.Path]::GetRandomFileName())
+        Say-Verbose "Legacy zip path: $ZipPath"
+        Say "Downloading legacy link: $DownloadLink"
+        try {
+            DownloadFile -Source $DownloadLink -OutPath $ZipPath
+        }
+        catch {
+            Say "Cannot download: $DownloadLink"
+            $DownloadFailed = $true
+        }
+    }
+    else {
+        $DownloadFailed = $true
+    }
+}
+
+if ($DownloadFailed) {
+    throw "Could not find/download: `"$assetName`" with version = $SpecificVersion`nRefer to: https://aka.ms/dotnet-os-lifecycle for information on .NET Core support"
 }
 
 Say "Extracting zip from $DownloadLink"
 Extract-Dotnet-Package -ZipPath $ZipPath -OutPath $InstallRoot
 
+#  Check if the SDK version is now installed; if not, fail the installation.
+$isAssetInstalled = Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage $dotnetPackageRelativePath -SpecificVersion $SpecificVersion
+if (!$isAssetInstalled) {
+    throw "`"$assetName`" with version = $SpecificVersion failed to install with an unknown error."
+}
+
 Remove-Item $ZipPath
 
 Prepend-Sdk-InstallRoot-To-Path -InstallRoot $InstallRoot -BinFolderRelativePath $BinFolderRelativePath


[lucenenet] 10/29: BUG: Fixes TestMultiTermConstantScore cleanup - safely call Dispose by ensuring the reference variable is not null

Posted by ni...@apache.org.
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 6eebe37009b360447102aad70809670f91ab81af
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Tue Jul 9 05:41:04 2019 +0700

    BUG: Fixes TestMultiTermConstantScore cleanup - safely call Dispose by ensuring the reference variable is not null
---
 src/Lucene.Net.Tests/Search/BaseTestRangeFilter.cs |  8 +++---
 .../Search/TestMultiTermConstantScore.cs           | 29 +++++++++++-----------
 2 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/src/Lucene.Net.Tests/Search/BaseTestRangeFilter.cs b/src/Lucene.Net.Tests/Search/BaseTestRangeFilter.cs
index 61e0c17..412ce9f 100644
--- a/src/Lucene.Net.Tests/Search/BaseTestRangeFilter.cs
+++ b/src/Lucene.Net.Tests/Search/BaseTestRangeFilter.cs
@@ -116,10 +116,10 @@ namespace Lucene.Net.Search
         [OneTimeTearDown]
         public override void AfterClass() // LUCENENET specific: renamed from AfterClassBaseTestRangeFilter() so we can override to control the order of execution
         {
-            SignedIndexReader.Dispose();
-            UnsignedIndexReader.Dispose();
-            SignedIndexDir.Index.Dispose();
-            UnsignedIndexDir.Index.Dispose();
+            SignedIndexReader?.Dispose();
+            UnsignedIndexReader?.Dispose();
+            SignedIndexDir.Index?.Dispose();
+            UnsignedIndexDir.Index?.Dispose();
             SignedIndexReader = null;
             UnsignedIndexReader = null;
             SignedIndexDir = null;
diff --git a/src/Lucene.Net.Tests/Search/TestMultiTermConstantScore.cs b/src/Lucene.Net.Tests/Search/TestMultiTermConstantScore.cs
index e98380b..d3cd760 100644
--- a/src/Lucene.Net.Tests/Search/TestMultiTermConstantScore.cs
+++ b/src/Lucene.Net.Tests/Search/TestMultiTermConstantScore.cs
@@ -67,24 +67,25 @@ namespace Lucene.Net.Search
             string[] data = new string[] { "A 1 2 3 4 5 6", "Z       4 5 6", null, "B   2   4 5 6", "Y     3   5 6", null, "C     3     6", "X       4 5 6" };
 
             Small = NewDirectory();
-            RandomIndexWriter writer = new RandomIndexWriter(Random(), Small, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random(), MockTokenizer.WHITESPACE, false)).SetMergePolicy(NewLogMergePolicy()));
-
-            FieldType customType = new FieldType(TextField.TYPE_STORED);
-            customType.IsTokenized = false;
-            for (int i = 0; i < data.Length; i++)
+            using (RandomIndexWriter writer = new RandomIndexWriter(Random(), Small, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random(), MockTokenizer.WHITESPACE, false)).SetMergePolicy(NewLogMergePolicy())))
             {
-                Document doc = new Document();
-                doc.Add(NewField("id", Convert.ToString(i), customType)); // Field.Keyword("id",String.valueOf(i)));
-                doc.Add(NewField("all", "all", customType)); // Field.Keyword("all","all"));
-                if (null != data[i])
+
+                FieldType customType = new FieldType(TextField.TYPE_STORED);
+                customType.IsTokenized = false;
+                for (int i = 0; i < data.Length; i++)
                 {
-                    doc.Add(NewTextField("data", data[i], Field.Store.YES)); // Field.Text("data",data[i]));
+                    Document doc = new Document();
+                    doc.Add(NewField("id", Convert.ToString(i), customType)); // Field.Keyword("id",String.valueOf(i)));
+                    doc.Add(NewField("all", "all", customType)); // Field.Keyword("all","all"));
+                    if (null != data[i])
+                    {
+                        doc.Add(NewTextField("data", data[i], Field.Store.YES)); // Field.Text("data",data[i]));
+                    }
+                    writer.AddDocument(doc);
                 }
-                writer.AddDocument(doc);
-            }
 
-            Reader = writer.Reader;
-            writer.Dispose();
+                Reader = writer.Reader;
+            }
         }
 
         [OneTimeTearDown]


[lucenenet] 15/29: Use AddValueFactory

Posted by ni...@apache.org.
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 a2758d6fc47c66f2d1ef35a047395605f3dd807d
Author: Thomas Mathew <th...@microsoft.com>
AuthorDate: Fri Jun 7 13:37:47 2019 -0700

    Use AddValueFactory
---
 src/Lucene.Net/Support/IO/FileSupport.cs | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/Lucene.Net/Support/IO/FileSupport.cs b/src/Lucene.Net/Support/IO/FileSupport.cs
index dacba8b..dd89e32 100644
--- a/src/Lucene.Net/Support/IO/FileSupport.cs
+++ b/src/Lucene.Net/Support/IO/FileSupport.cs
@@ -298,8 +298,9 @@ namespace Lucene.Net.Support.IO
             newResult[newLength] = 0;
             //newResult = getCanonImpl(newResult);
             newLength = newResult.Length;
-            canonPath = Encoding.UTF8.GetString(newResult, 0, newLength).TrimEnd('\0'); // LUCENENET: Eliminate null terminator char
-            canonPath = fileCanonPathCache.GetOrAdd(absPath, canonPath); // It's possible that a concurrent call may have already added it to the cache.
+            canonPath = fileCanonPathCache.GetOrAdd(
+                absPath,
+                k => Encoding.UTF8.GetString(newResult, 0, newLength).TrimEnd('\0')); // LUCENENET: Eliminate null terminator char
             return canonPath;
         }
     }


[lucenenet] 23/29: Remove LuceneDocsPlugin dummy pack target and cleaned up a few comments

Posted by ni...@apache.org.
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 201c216080973173907ac4ae408af85484c9502a
Author: Aaron Meyers <13...@users.noreply.github.com>
AuthorDate: Mon Jul 8 12:06:46 2019 -0700

    Remove LuceneDocsPlugin dummy pack target and cleaned up a few comments
---
 src/Lucene.Net.TestFramework/Properties/AssemblyInfo.cs               | 2 +-
 src/Lucene.Net/Properties/AssemblyInfo.cs                             | 2 +-
 src/docs/LuceneDocsPlugins/LuceneDocsPlugins/LuceneDocsPlugins.csproj | 1 -
 3 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/Lucene.Net.TestFramework/Properties/AssemblyInfo.cs b/src/Lucene.Net.TestFramework/Properties/AssemblyInfo.cs
index 5613ccf..178d7db 100644
--- a/src/Lucene.Net.TestFramework/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.TestFramework/Properties/AssemblyInfo.cs
@@ -37,7 +37,7 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("5f36e3cf-82ac-4d97-af1a-6dabe60e9180")]
 
-// However, we need InternalsVisibleTo in order to prevent making everything public just for the sake of testing.
+// 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.
 [assembly: InternalsVisibleTo("Lucene.Net.Tests, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
diff --git a/src/Lucene.Net/Properties/AssemblyInfo.cs b/src/Lucene.Net/Properties/AssemblyInfo.cs
index 682242a..8ba038c 100644
--- a/src/Lucene.Net/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net/Properties/AssemblyInfo.cs
@@ -29,7 +29,7 @@ using System.Runtime.CompilerServices;
 
 [assembly: CLSCompliant(true)]
 
-// Besides strong naming, we still need InternalsVisibleTo in order to prevent making everything public just for the sake of testing.
+// 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.Tests, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
diff --git a/src/docs/LuceneDocsPlugins/LuceneDocsPlugins/LuceneDocsPlugins.csproj b/src/docs/LuceneDocsPlugins/LuceneDocsPlugins/LuceneDocsPlugins.csproj
index f51c451..2c771f8 100644
--- a/src/docs/LuceneDocsPlugins/LuceneDocsPlugins/LuceneDocsPlugins.csproj
+++ b/src/docs/LuceneDocsPlugins/LuceneDocsPlugins/LuceneDocsPlugins.csproj
@@ -104,5 +104,4 @@
     </PropertyGroup>
     <Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.2.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.2.2.0\build\Microsoft.Net.Compilers.props'))" />
   </Target>
-  <Target Name="Pack" />
 </Project>


[lucenenet] 24/29: Moved to Directory.Build.props so we don't have to specify in every project at the same directory depth. Moved AssemblyKeys to Lucene.Net.Support. (closes #227, LUCENENET-608)

Posted by ni...@apache.org.
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 f6dd70d9e7bf240f4563b9a13e0cd094ab09cd97
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Tue Jul 9 18:24:54 2019 +0700

    Moved <AssemblyOriginatorKeyFile> to Directory.Build.props so we don't have to specify in every project at the same directory depth. Moved AssemblyKeys to Lucene.Net.Support. (closes #227, LUCENENET-608)
---
 Version.proj                                              |  5 -----
 src/CommonAssemblyKeys.cs                                 |  4 ++--
 src/Directory.Build.props                                 |  7 +++++++
 src/Lucene.Net.Analysis.Common/Properties/AssemblyInfo.cs |  3 ++-
 .../Properties/AssemblyInfo.cs                            |  3 ++-
 .../Properties/AssemblyInfo.cs                            |  3 ++-
 .../Properties/AssemblyInfo.cs                            |  3 ++-
 src/Lucene.Net.Benchmark/Properties/AssemblyInfo.cs       |  4 ++--
 src/Lucene.Net.Demo/Properties/AssemblyInfo.cs            |  3 ++-
 src/Lucene.Net.Facet/Properties/AssemblyInfo.cs           |  3 ++-
 src/Lucene.Net.Highlighter/Properties/AssemblyInfo.cs     |  7 ++++---
 src/Lucene.Net.Join/Properties/AssemblyInfo.cs            |  3 ++-
 src/Lucene.Net.Memory/Properties/AssemblyInfo.cs          |  3 ++-
 src/Lucene.Net.Misc/Properties/AssemblyInfo.cs            |  3 ++-
 src/Lucene.Net.QueryParser/Properties/AssemblyInfo.cs     |  3 ++-
 src/Lucene.Net.Spatial/Properties/AssemblyInfo.cs         |  3 ++-
 src/Lucene.Net.Suggest/Properties/AssemblyInfo.cs         |  3 ++-
 src/Lucene.Net.TestFramework/Properties/AssemblyInfo.cs   |  5 +++--
 src/Lucene.Net/Properties/AssemblyInfo.cs                 | 15 ++++++++-------
 src/dotnet/Directory.Build.props                          |  6 ++++++
 src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj           |  7 +------
 src/dotnet/Lucene.Net.ICU/Properties/AssemblyInfo.cs      |  3 ++-
 .../Lucene.Net.Replicator.AspNetCore.csproj               |  5 -----
 .../Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj      |  6 ------
 src/dotnet/tools/Directory.Build.props                    |  6 ++++++
 .../Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj      |  5 -----
 src/dotnet/tools/lucene-cli/lucene-cli.csproj             |  5 -----
 27 files changed, 65 insertions(+), 61 deletions(-)

diff --git a/Version.proj b/Version.proj
index 2a421b2..d603e38 100644
--- a/Version.proj
+++ b/Version.proj
@@ -31,11 +31,6 @@
     <!-- .NET enforces AssemblyVersion as the "major" version (when strong-named),
       so AssemblyVersion should only be changed for each major version release. -->
     <AssemblyVersion>4.0.0</AssemblyVersion>
-
-    <!-- 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>..\..\Lucene.Net.snk</AssemblyOriginatorKeyFile>
-    <SignAssembly>true</SignAssembly>
   </PropertyGroup>
 
 </Project>
diff --git a/src/CommonAssemblyKeys.cs b/src/CommonAssemblyKeys.cs
index 93f77a4..90e787a 100644
--- a/src/CommonAssemblyKeys.cs
+++ b/src/CommonAssemblyKeys.cs
@@ -18,11 +18,11 @@
 using System;
 using System.Reflection;
 
-namespace Lucene.Net
+namespace Lucene.Net.Support
 {
     internal static class AssemblyKeys
     {
-        internal const string PublicKey =
+        public const string PublicKey =
             "002400000480000094000000060200000024000052534131000400000100010075a07ce602f88e" +
             "f263c7db8cb342c58ebd49ecdcc210fac874260b0213fb929ac3dcaf4f5b39744b800f99073eca" +
             "72aebfac5f7284e1d5f2c82012a804a140f06d7d043d83e830cdb606a04da2ad5374cc92c0a495" +
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 7cb8e9e..572b263 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -26,4 +26,11 @@
       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/Properties/AssemblyInfo.cs b/src/Lucene.Net.Analysis.Common/Properties/AssemblyInfo.cs
index e0f1967..e1cfd92 100644
--- a/src/Lucene.Net.Analysis.Common/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Analysis.Common/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using Lucene.Net.Support;
 using System;
 using System.Reflection;
 using System.Runtime.CompilerServices;
@@ -41,7 +42,7 @@ using System.Runtime.InteropServices;
 [assembly: Guid("f57314a7-e71f-4b3c-860f-564046ca398b")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Common, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Common, PublicKey=" + AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
 
diff --git a/src/Lucene.Net.Analysis.Kuromoji/Properties/AssemblyInfo.cs b/src/Lucene.Net.Analysis.Kuromoji/Properties/AssemblyInfo.cs
index 854d7b2..7b1665d 100644
--- a/src/Lucene.Net.Analysis.Kuromoji/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Analysis.Kuromoji/Properties/AssemblyInfo.cs
@@ -15,6 +15,7 @@
 * limitations under the License.
 */
 
+using Lucene.Net.Support;
 using System;
 using System.Reflection;
 using System.Runtime.CompilerServices;
@@ -37,6 +38,6 @@ using System.Runtime.InteropServices;
 [assembly: Guid("8408625a-2508-46d5-8519-045183c43724")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Kuromoji, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Kuromoji, PublicKey=" + AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.Analysis.Phonetic/Properties/AssemblyInfo.cs b/src/Lucene.Net.Analysis.Phonetic/Properties/AssemblyInfo.cs
index 476697e..c2353b7 100644
--- a/src/Lucene.Net.Analysis.Phonetic/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Analysis.Phonetic/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using Lucene.Net.Support;
 using System;
 using System.Reflection;
 using System.Runtime.CompilerServices;
@@ -41,6 +42,6 @@ using System.Runtime.InteropServices;
 [assembly: Guid("dafe3b64-616a-4a2f-90e5-1f135e8a9af5")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Phonetic, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Phonetic, PublicKey=" + AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.Analysis.Stempel/Properties/AssemblyInfo.cs b/src/Lucene.Net.Analysis.Stempel/Properties/AssemblyInfo.cs
index ddd35ba..94491ce 100644
--- a/src/Lucene.Net.Analysis.Stempel/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Analysis.Stempel/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using Lucene.Net.Support;
 using System;
 using System.Reflection;
 using System.Runtime.CompilerServices;
@@ -41,6 +42,6 @@ using System.Runtime.InteropServices;
 [assembly: Guid("a76dad88-e3a5-40f9-9114-facd77bd8265")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Stempel, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Analysis.Stempel, PublicKey=" + AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.Benchmark/Properties/AssemblyInfo.cs b/src/Lucene.Net.Benchmark/Properties/AssemblyInfo.cs
index bf31b4e..ffb1acc 100644
--- a/src/Lucene.Net.Benchmark/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Benchmark/Properties/AssemblyInfo.cs
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-
+using Lucene.Net.Support;
 using System;
 using System.Reflection;
 using System.Runtime.CompilerServices;
@@ -38,6 +38,6 @@ using System.Runtime.InteropServices;
 [assembly: Guid("edc77cb4-597f-4818-8c83-3c006d12c384")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Benchmark, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Benchmark, PublicKey=" + AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.Demo/Properties/AssemblyInfo.cs b/src/Lucene.Net.Demo/Properties/AssemblyInfo.cs
index 11f866a..547a89e 100644
--- a/src/Lucene.Net.Demo/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Demo/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using Lucene.Net.Support;
 using System;
 using System.Reflection;
 using System.Runtime.CompilerServices;
@@ -33,7 +34,7 @@ using System.Runtime.InteropServices;
 [assembly: CLSCompliant(true)]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Demo, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[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
diff --git a/src/Lucene.Net.Facet/Properties/AssemblyInfo.cs b/src/Lucene.Net.Facet/Properties/AssemblyInfo.cs
index d6a3f8c..1030b04 100644
--- a/src/Lucene.Net.Facet/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Facet/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using Lucene.Net.Support;
 using System;
 using System.Reflection;
 using System.Runtime.CompilerServices;
@@ -41,6 +42,6 @@ using System.Runtime.InteropServices;
 [assembly: Guid("8dd11ab2-c5b3-4691-99da-2941f27e0e10")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Facet, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Facet, PublicKey=" + AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.Highlighter/Properties/AssemblyInfo.cs b/src/Lucene.Net.Highlighter/Properties/AssemblyInfo.cs
index 94ed833..6fe1b6b 100644
--- a/src/Lucene.Net.Highlighter/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Highlighter/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using Lucene.Net.Support;
 using System;
 using System.Reflection;
 using System.Runtime.CompilerServices;
@@ -40,9 +41,9 @@ 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=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.ICU, PublicKey=" + AssemblyKeys.PublicKey)]
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Highlighter, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.ICU, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Highlighter, PublicKey=" + AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.ICU, PublicKey=" + AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.Join/Properties/AssemblyInfo.cs b/src/Lucene.Net.Join/Properties/AssemblyInfo.cs
index 3898fdc..cfa00bb 100644
--- a/src/Lucene.Net.Join/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Join/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using Lucene.Net.Support;
 using System;
 using System.Reflection;
 using System.Runtime.CompilerServices;
@@ -41,6 +42,6 @@ using System.Runtime.InteropServices;
 [assembly: Guid("e8a339c7-fcf6-4a72-8586-56d8961d7b99")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Join, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Join, PublicKey=" + AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.Memory/Properties/AssemblyInfo.cs b/src/Lucene.Net.Memory/Properties/AssemblyInfo.cs
index 2c9e42d..702ac64 100644
--- a/src/Lucene.Net.Memory/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Memory/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using Lucene.Net.Support;
 using System;
 using System.Reflection;
 using System.Runtime.CompilerServices;
@@ -41,6 +42,6 @@ using System.Runtime.InteropServices;
 [assembly: Guid("ca052094-4c45-44d7-9dcf-3d46ae6930fe")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Memory, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Memory, PublicKey=" + AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.Misc/Properties/AssemblyInfo.cs b/src/Lucene.Net.Misc/Properties/AssemblyInfo.cs
index 99098d6..f0156f4 100644
--- a/src/Lucene.Net.Misc/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Misc/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using Lucene.Net.Support;
 using System;
 using System.Reflection;
 using System.Runtime.CompilerServices;
@@ -41,6 +42,6 @@ using System.Runtime.InteropServices;
 [assembly: Guid("b2a3a8e1-a92a-4bd6-9f87-7747470615c3")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Misc, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Misc, PublicKey=" + AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.QueryParser/Properties/AssemblyInfo.cs b/src/Lucene.Net.QueryParser/Properties/AssemblyInfo.cs
index d39a8f7..e2f6951 100644
--- a/src/Lucene.Net.QueryParser/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.QueryParser/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using Lucene.Net.Support;
 using System;
 using System.Reflection;
 using System.Runtime.CompilerServices;
@@ -41,6 +42,6 @@ using System.Runtime.InteropServices;
 [assembly: Guid("7c58cf05-89dd-4c02-a948-c28cdaf05247")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.QueryParser, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.QueryParser, PublicKey=" + AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.Spatial/Properties/AssemblyInfo.cs b/src/Lucene.Net.Spatial/Properties/AssemblyInfo.cs
index 0b66524..79ca457 100644
--- a/src/Lucene.Net.Spatial/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Spatial/Properties/AssemblyInfo.cs
@@ -15,6 +15,7 @@
  * limitations under the License.
  */
 
+using Lucene.Net.Support;
 using System;
 using System.Reflection;
 using System.Runtime.CompilerServices;
@@ -38,6 +39,6 @@ using System.Security;
 [assembly: Guid("5c8e810f-4bf7-472f-9785-8d80a0de6ea8")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Spatial, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Spatial, PublicKey=" + AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.Suggest/Properties/AssemblyInfo.cs b/src/Lucene.Net.Suggest/Properties/AssemblyInfo.cs
index 091808c..e8f3b31 100644
--- a/src/Lucene.Net.Suggest/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Suggest/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using Lucene.Net.Support;
 using System;
 using System.Reflection;
 using System.Runtime.CompilerServices;
@@ -41,6 +42,6 @@ using System.Runtime.InteropServices;
 [assembly: Guid("0e1499f7-850e-4583-8994-623eb2480200")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Suggest, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Suggest, PublicKey=" + AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net.TestFramework/Properties/AssemblyInfo.cs b/src/Lucene.Net.TestFramework/Properties/AssemblyInfo.cs
index 178d7db..3c3a495 100644
--- a/src/Lucene.Net.TestFramework/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.TestFramework/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using Lucene.Net.Support;
 using System.Reflection;
 using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
@@ -40,7 +41,7 @@ using System.Runtime.InteropServices;
 // 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.
-[assembly: InternalsVisibleTo("Lucene.Net.Tests, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Misc, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests, PublicKey=" + AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Misc, PublicKey=" + AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/Lucene.Net/Properties/AssemblyInfo.cs b/src/Lucene.Net/Properties/AssemblyInfo.cs
index 8ba038c..9658deb 100644
--- a/src/Lucene.Net/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net/Properties/AssemblyInfo.cs
@@ -15,6 +15,7 @@
  * limitations under the License.
  */
 
+using Lucene.Net.Support;
 using System;
 using System.Diagnostics;
 using System.Reflection;
@@ -32,12 +33,12 @@ using System.Runtime.CompilerServices;
 // 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.Tests, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.TestFramework, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Misc, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.ICU, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)] // For Analysis.Util.TestSegmentingTokenizerBase
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Misc, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.QueryParser, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.Cli, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)] // For lucene-cli
+[assembly: InternalsVisibleTo("Lucene.Net.Tests, PublicKey=" + AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.TestFramework, PublicKey=" + AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Misc, 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.QueryParser, PublicKey=" + AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.Cli, PublicKey=" + AssemblyKeys.PublicKey)] // For lucene-cli
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/dotnet/Directory.Build.props b/src/dotnet/Directory.Build.props
index b299cb2..4fd6669 100644
--- a/src/dotnet/Directory.Build.props
+++ b/src/dotnet/Directory.Build.props
@@ -26,4 +26,10 @@
       SolutionDir is only available when running in the IDE, so we patch to ensure it also works when using dotnet.exe -->
     <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>
+  </PropertyGroup>
 </Project>
\ 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 17df6a5..0be847a 100644
--- a/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
+++ b/src/dotnet/Lucene.Net.ICU/Lucene.Net.ICU.csproj
@@ -23,12 +23,7 @@
 
   <Import Project="$(SolutionDir)Version.proj" />
   <Import Project="$(SolutionDir)build/NuGet.props" />
-  <Import Project="..\..\..\Version.proj" />
-  <PropertyGroup>
-    <!-- Override AssemblyOriginatorKeyFile specified in Version.proj because we're deeper from the root -->
-    <AssemblyOriginatorKeyFile>..\..\..\Lucene.Net.snk</AssemblyOriginatorKeyFile>
-  </PropertyGroup>
-  
+
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net45</TargetFrameworks>
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netstandard1.6' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
diff --git a/src/dotnet/Lucene.Net.ICU/Properties/AssemblyInfo.cs b/src/dotnet/Lucene.Net.ICU/Properties/AssemblyInfo.cs
index a9eeb43..b1de0be 100644
--- a/src/dotnet/Lucene.Net.ICU/Properties/AssemblyInfo.cs
+++ b/src/dotnet/Lucene.Net.ICU/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using Lucene.Net.Support;
 using System;
 using System.Reflection;
 using System.Runtime.CompilerServices;
@@ -41,6 +42,6 @@ using System.Runtime.InteropServices;
 [assembly: Guid("349cb7c9-7534-4e1d-9b0a-5521441af0ae")]
 
 // for testing
-[assembly: InternalsVisibleTo("Lucene.Net.Tests.ICU, PublicKey=" + Lucene.Net.AssemblyKeys.PublicKey)]
+[assembly: InternalsVisibleTo("Lucene.Net.Tests.ICU, PublicKey=" + AssemblyKeys.PublicKey)]
 
 // NOTE: Version information is in CommonAssemblyInfo.cs
diff --git a/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj b/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
index ee1a4cc..f101455 100644
--- a/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
+++ b/src/dotnet/Lucene.Net.Replicator.AspNetCore/Lucene.Net.Replicator.AspNetCore.csproj
@@ -24,11 +24,6 @@
   <Import Project="$(SolutionDir)Version.proj" />
   <!-- For now, we are not deploying this to NuGet.org -->
   <!--<Import Project="$(SolutionDir)build/NuGet.props" />-->
-  <Import Project="..\..\..\Version.proj" />
-  <PropertyGroup>
-    <!-- Override AssemblyOriginatorKeyFile specified in Version.proj because we're deeper from the root -->
-    <AssemblyOriginatorKeyFile>..\..\..\Lucene.Net.snk</AssemblyOriginatorKeyFile>
-  </PropertyGroup>
   
   <PropertyGroup>
     <TargetFrameworks>netstandard1.6;net451</TargetFrameworks>
diff --git a/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj b/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj
index d19079e..789f370 100644
--- a/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj
+++ b/src/dotnet/Lucene.Net.Tests.ICU/Lucene.Net.Tests.ICU.csproj
@@ -23,12 +23,6 @@
 
   <Import Project="$(SolutionDir)TestTargetFramework.proj" />
   <Import Project="$(SolutionDir)Version.proj" />
-  <Import Project="..\..\..\TestTargetFramework.proj" />
-  <Import Project="..\..\..\Version.proj" />
-  <PropertyGroup>
-    <!-- Override AssemblyOriginatorKeyFile specified in Version.proj because we're deeper from the root -->
-    <AssemblyOriginatorKeyFile>..\..\..\Lucene.Net.snk</AssemblyOriginatorKeyFile>
-  </PropertyGroup>
 
   <PropertyGroup>
     <PackageTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp1.0' ">$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
diff --git a/src/dotnet/tools/Directory.Build.props b/src/dotnet/tools/Directory.Build.props
index 60fd836..f4aeda3 100644
--- a/src/dotnet/tools/Directory.Build.props
+++ b/src/dotnet/tools/Directory.Build.props
@@ -26,4 +26,10 @@
       SolutionDir is only available when running in the IDE, so we patch to ensure it also works when using dotnet.exe -->
     <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>
+  </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git a/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj b/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj
index 6ac9783..3fec7de 100644
--- a/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj
+++ b/src/dotnet/tools/Lucene.Net.Tests.Cli/Lucene.Net.Tests.Cli.csproj
@@ -22,11 +22,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <Import Project="$(SolutionDir)Version.proj" />
-  <Import Project="..\..\..\..\Version.proj" />
-  <PropertyGroup>
-    <!-- Override AssemblyOriginatorKeyFile specified in Version.proj because we're deeper from the root -->
-    <AssemblyOriginatorKeyFile>..\..\..\..\Lucene.Net.snk</AssemblyOriginatorKeyFile>
-  </PropertyGroup>
 
   <PropertyGroup>
     <TargetFramework>netcoreapp2.1</TargetFramework>
diff --git a/src/dotnet/tools/lucene-cli/lucene-cli.csproj b/src/dotnet/tools/lucene-cli/lucene-cli.csproj
index 5073960..1be4be2 100644
--- a/src/dotnet/tools/lucene-cli/lucene-cli.csproj
+++ b/src/dotnet/tools/lucene-cli/lucene-cli.csproj
@@ -23,11 +23,6 @@
 
   <Import Project="$(SolutionDir)Version.proj" />
   <Import Project="$(SolutionDir)build/NuGet.props" />
-  <Import Project="..\..\..\..\Version.proj" />
-  <PropertyGroup>
-    <!-- Override AssemblyOriginatorKeyFile specified in Version.proj because we're deeper from the root -->
-    <AssemblyOriginatorKeyFile>..\..\..\..\Lucene.Net.snk</AssemblyOriginatorKeyFile>
-  </PropertyGroup>
 
   <PropertyGroup>
     <TargetFramework>netcoreapp2.1</TargetFramework>


[lucenenet] 28/29: Added missing guard clauses for HashMap and LinkedHashMap constructors

Posted by ni...@apache.org.
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 66c27e106bf18e16024cdfbcc41aa0415a0611e2
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Wed Jul 10 00:33:41 2019 +0700

    Added missing guard clauses for HashMap and LinkedHashMap constructors
---
 src/Lucene.Net/Support/HashMap.cs       | 11 +++++++++--
 src/Lucene.Net/Support/LinkedHashMap.cs | 26 ++++++++++++++------------
 2 files changed, 23 insertions(+), 14 deletions(-)

diff --git a/src/Lucene.Net/Support/HashMap.cs b/src/Lucene.Net/Support/HashMap.cs
index f099404..db8723e 100644
--- a/src/Lucene.Net/Support/HashMap.cs
+++ b/src/Lucene.Net/Support/HashMap.cs
@@ -107,6 +107,9 @@ namespace Lucene.Net.Support
         public HashMap(IEnumerable<KeyValuePair<TKey, TValue>> other)
             : this(0)
         {
+            if (other == null)
+                throw new ArgumentNullException(nameof(other));
+
             foreach (var kvp in other)
             {
                 Add(kvp.Key, kvp.Value);
@@ -115,8 +118,12 @@ namespace Lucene.Net.Support
 
         internal HashMap(IDictionary<TKey, TValue> wrappedDict, IEqualityComparer<TKey> comparer)
         {
-            // LUCENENET TODO: Is this a bug? Shouldn't we be using the passed in comparer if non-null?
-            _comparer = /* comparer ?? */ EqualityComparer<TKey>.Default;
+            if (wrappedDict == null)
+                throw new ArgumentNullException(nameof(wrappedDict));
+            if (comparer == null)
+                throw new ArgumentNullException(nameof(comparer));
+
+            _comparer = comparer;
             _dict = wrappedDict;
             _hasNullValue = false;
 
diff --git a/src/Lucene.Net/Support/LinkedHashMap.cs b/src/Lucene.Net/Support/LinkedHashMap.cs
index e3d9c94..6019f6e 100644
--- a/src/Lucene.Net/Support/LinkedHashMap.cs
+++ b/src/Lucene.Net/Support/LinkedHashMap.cs
@@ -69,25 +69,27 @@ namespace Lucene.Net.Support
         #region Constructors
 
         public LinkedHashMap()
+            : this(0, EqualityComparer<TKey>.Default)
         {
-            dict = new HashMap<TKey, LinkedListNode<KeyValuePair<TKey, TValue>>>();
-            list = new LinkedList<KeyValuePair<TKey, TValue>>();
         }
 
         public LinkedHashMap(IEqualityComparer<TKey> comparer)
+            : this(0, comparer)
         {
-            dict = new HashMap<TKey, LinkedListNode<KeyValuePair<TKey, TValue>>>(comparer);
-            list = new LinkedList<KeyValuePair<TKey, TValue>>();
         }
 
         public LinkedHashMap(int capacity)
+            : this(capacity, EqualityComparer<TKey>.Default)
         {
-            dict = new HashMap<TKey, LinkedListNode<KeyValuePair<TKey, TValue>>>(capacity);
-            list = new LinkedList<KeyValuePair<TKey, TValue>>();
         }
 
         public LinkedHashMap(int capacity, IEqualityComparer<TKey> comparer)
         {
+            if (capacity < 0)
+                throw new ArgumentOutOfRangeException($"{nameof(capacity)} must be 0 or greater.");
+            if (comparer == null)
+                throw new ArgumentNullException(nameof(comparer));
+
             dict = new HashMap<TKey, LinkedListNode<KeyValuePair<TKey, TValue>>>(capacity, comparer);
             list = new LinkedList<KeyValuePair<TKey, TValue>>();
         }
@@ -95,9 +97,8 @@ namespace Lucene.Net.Support
         public LinkedHashMap(IEnumerable<KeyValuePair<TKey, TValue>> source)
         {
             if (source == null)
-            {
-                throw new ArgumentNullException("source");
-            }
+                throw new ArgumentNullException(nameof(source));
+
             var countable = source as ICollection;
             if (countable != null)
             {
@@ -117,9 +118,10 @@ namespace Lucene.Net.Support
         public LinkedHashMap(IEnumerable<KeyValuePair<TKey, TValue>> source, IEqualityComparer<TKey> comparer)
         {
             if (source == null)
-            {
-                throw new ArgumentNullException("source");
-            }
+                throw new ArgumentNullException(nameof(source));
+            if (comparer == null)
+                throw new ArgumentNullException(nameof(comparer));
+
             var countable = source as ICollection;
             if (countable != null)
             {


[lucenenet] 09/29: BUG: LUCENENET-602 - Some platforms fail to load codecs seemingly because their types are discovered by using reflection. Supplying local codec types explicitly will be faster, and possibly also more reliable across platforms.

Posted by ni...@apache.org.
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 921d9bb175d643f5d61476b3b992f97211ae4a1c
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Mon Jul 8 07:24:00 2019 +0700

    BUG: LUCENENET-602 - Some platforms fail to load codecs seemingly because their types are discovered by using reflection. Supplying local codec types explicitly will be faster, and possibly also more reliable across platforms.
---
 .../Support/Codecs/DefaultCodecFactory.cs          | 29 +++++++++++++++-----
 .../Codecs/DefaultDocValuesFormatFactory.cs        | 31 +++++++++++++++-------
 .../Support/Codecs/DefaultPostingsFormatFactory.cs | 25 ++++++++++++-----
 3 files changed, 61 insertions(+), 24 deletions(-)

diff --git a/src/Lucene.Net/Support/Codecs/DefaultCodecFactory.cs b/src/Lucene.Net/Support/Codecs/DefaultCodecFactory.cs
index a08acc8..833239b 100644
--- a/src/Lucene.Net/Support/Codecs/DefaultCodecFactory.cs
+++ b/src/Lucene.Net/Support/Codecs/DefaultCodecFactory.cs
@@ -47,6 +47,17 @@ namespace Lucene.Net.Codecs
     /// </summary>
     public class DefaultCodecFactory : NamedServiceFactory<Codec>, ICodecFactory, IServiceListable
     {
+        private static Type[] localCodecTypes = new Type[] {
+            typeof(Lucene46.Lucene46Codec),
+#pragma warning disable 612, 618
+            typeof(Lucene3x.Lucene3xCodec), // Optimize 3.x codec over < 4.6 codecs
+            typeof(Lucene45.Lucene45Codec),
+            typeof(Lucene42.Lucene42Codec),
+            typeof(Lucene41.Lucene41Codec),
+            typeof(Lucene40.Lucene40Codec),
+#pragma warning restore 612, 618
+        };
+
         // NOTE: The following 2 dictionaries are static, since this instance is stored in a static
         // variable in the Codec class.
         private readonly IDictionary<string, Type> codecNameToTypeMap = new Dictionary<string, Type>();
@@ -64,10 +75,12 @@ namespace Lucene.Net.Codecs
         /// </summary>
         protected override void Initialize()
         {
-            ScanForCodecs(new Assembly[] {
-                typeof(Codec).GetTypeInfo().Assembly,
-                this.CodecsAssembly
-            });
+            foreach (var codecType in localCodecTypes)
+            {
+                PutCodecTypeImpl(codecType);
+            }
+            ScanForCodecs(this.CodecsAssembly);
+
         }
 
         /// <summary>
@@ -179,9 +192,11 @@ namespace Lucene.Net.Codecs
             Type codecType;
             if (!codecNameToTypeMap.TryGetValue(name, out codecType) && codecType == null)
             {
-                throw new ArgumentException(string.Format("Codec '{0}' cannot be loaded. If the codec is not " +
-                    "in a Lucene.Net assembly, you must subclass DefaultCodecFactory and call PutCodecType() or " + 
-                    "ScanForCodecs() from the Initialize() method.", name));
+                throw new ArgumentException($"Codec '{name}' cannot be loaded. If the codec is not " +
+                    $"in a Lucene.Net assembly, you must subclass {typeof(DefaultCodecFactory).FullName}, " +
+                    "override the Initialize() method, and call PutCodecType() or ScanForCodecs() to add " +
+                    $"the type manually. Call {typeof(Codec).FullName}.SetCodecFactory() at application " + 
+                    "startup to initialize your custom codec.");
             }
 
             return codecType;
diff --git a/src/Lucene.Net/Support/Codecs/DefaultDocValuesFormatFactory.cs b/src/Lucene.Net/Support/Codecs/DefaultDocValuesFormatFactory.cs
index f03c3ae..649e502 100644
--- a/src/Lucene.Net/Support/Codecs/DefaultDocValuesFormatFactory.cs
+++ b/src/Lucene.Net/Support/Codecs/DefaultDocValuesFormatFactory.cs
@@ -47,6 +47,14 @@ namespace Lucene.Net.Codecs
     /// </summary>
     public class DefaultDocValuesFormatFactory : NamedServiceFactory<DocValuesFormat>, IDocValuesFormatFactory, IServiceListable
     {
+        private static Type[] localDocValuesFormatTypes = new Type[] {
+            typeof(Lucene45.Lucene45DocValuesFormat),
+#pragma warning disable 612, 618
+            typeof(Lucene42.Lucene42DocValuesFormat),
+            typeof(Lucene40.Lucene40DocValuesFormat),
+#pragma warning restore 612, 618
+        };
+
         // NOTE: The following 2 dictionaries are static, since this instance is stored in a static
         // variable in the Codec class.
         private readonly IDictionary<string, Type> docValuesFormatNameToTypeMap = new Dictionary<string, Type>();
@@ -64,10 +72,11 @@ namespace Lucene.Net.Codecs
         /// </summary>
         protected override void Initialize()
         {
-            ScanForDocValuesFormats(new Assembly[] {
-                typeof(Codec).GetTypeInfo().Assembly,
-                this.CodecsAssembly
-            });
+            foreach (var docValuesFormatType in localDocValuesFormatTypes)
+            {
+                PutDocValuesFormatTypeImpl(docValuesFormatType);
+            }
+            ScanForDocValuesFormats(this.CodecsAssembly);
         }
 
         /// <summary>
@@ -99,7 +108,7 @@ namespace Lucene.Net.Codecs
             {
                 if (IsServiceType(c))
                 {
-                    PutCodecTypeImpl(c);
+                    PutDocValuesFormatTypeImpl(c);
                 }
             }
         }
@@ -124,10 +133,10 @@ namespace Lucene.Net.Codecs
                 throw new ArgumentException("The supplied docValuesFormat does not subclass DocValuesFormat.");
             }
 
-            PutCodecTypeImpl(docValuesFormat);
+            PutDocValuesFormatTypeImpl(docValuesFormat);
         }
 
-        private void PutCodecTypeImpl(Type docValuesFormat)
+        private void PutDocValuesFormatTypeImpl(Type docValuesFormat)
         {
             string name = GetServiceName(docValuesFormat);
             docValuesFormatNameToTypeMap[name] = docValuesFormat;
@@ -179,9 +188,11 @@ namespace Lucene.Net.Codecs
             Type codecType;
             if (!docValuesFormatNameToTypeMap.TryGetValue(name, out codecType) && codecType == null)
             {
-                throw new ArgumentException(string.Format("DocValuesFormat '{0}' cannot be loaded. If the format is not " +
-                    "in a Lucene.Net assembly, you must subclass DefaultDocValuesFormatFactory and call PutDocValuesFormatType() " + 
-                    "or ScanForDocValuesFormats() from the Initialize() method.", name));
+                throw new ArgumentException($"DocValuesFormat '{name}' cannot be loaded. If the format is not " +
+                    $"in a Lucene.Net assembly, you must subclass {typeof(DefaultDocValuesFormatFactory).FullName}, " +
+                    "override the Initialize() method, and call PutDocValuesFormatType() or ScanForDocValuesFormats() to add " +
+                    $"the type manually. Call {typeof(DocValuesFormat).FullName}.SetDocValuesFormatFactory() at application " +
+                    "startup to initialize your custom format.");
             }
 
             return codecType;
diff --git a/src/Lucene.Net/Support/Codecs/DefaultPostingsFormatFactory.cs b/src/Lucene.Net/Support/Codecs/DefaultPostingsFormatFactory.cs
index 08fb60e..3484ced 100644
--- a/src/Lucene.Net/Support/Codecs/DefaultPostingsFormatFactory.cs
+++ b/src/Lucene.Net/Support/Codecs/DefaultPostingsFormatFactory.cs
@@ -47,6 +47,14 @@ namespace Lucene.Net.Codecs
     /// </summary>
     public class DefaultPostingsFormatFactory : NamedServiceFactory<PostingsFormat>, IPostingsFormatFactory, IServiceListable
     {
+        private static Type[] localPostingsFormatTypes = new Type[]
+        {
+            typeof(Lucene41.Lucene41PostingsFormat),
+#pragma warning disable 612, 618
+            typeof(Lucene40.Lucene40PostingsFormat),
+#pragma warning restore 612, 618
+        };
+
         // NOTE: The following 2 dictionaries are static, since this instance is stored in a static
         // variable in the Codec class.
         private readonly IDictionary<string, Type> postingsFormatNameToTypeMap = new Dictionary<string, Type>();
@@ -64,10 +72,11 @@ namespace Lucene.Net.Codecs
         /// </summary>
         protected override void Initialize()
         {
-            ScanForPostingsFormats(new Assembly[] {
-                typeof(Codec).GetTypeInfo().Assembly,
-                this.CodecsAssembly
-            });
+            foreach (var postingsFormatType in localPostingsFormatTypes)
+            {
+                PutPostingsFormatTypeImpl(postingsFormatType);
+            }
+            ScanForPostingsFormats(this.CodecsAssembly);
         }
 
         /// <summary>
@@ -179,9 +188,11 @@ namespace Lucene.Net.Codecs
             Type codecType;
             if (!postingsFormatNameToTypeMap.TryGetValue(name, out codecType) && codecType == null)
             {
-                throw new ArgumentException(string.Format("PostingsFormat '{0}' cannot be loaded. If the format is not " +
-                    "in a Lucene.Net assembly, you must subclass DefaultPostingsFormatFactory and call PutPostingsFormatType() " + 
-                    "or ScanForPostingsFormats() from the Initialize() method.", name));
+                throw new ArgumentException($"PostingsFormat '{name}' cannot be loaded. If the format is not " +
+                    $"in a Lucene.Net assembly, you must subclass {typeof(DefaultPostingsFormatFactory).FullName}, " +
+                    "override the Initialize() method, and call PutPostingsFormatType() or ScanForPostingsFormats() to add " +
+                    $"the type manually. Call {typeof(PostingsFormat).FullName}.SetPostingsFormatFactory() at application " +
+                    "startup to initialize your custom format.");
             }
 
             return codecType;


[lucenenet] 14/29: Use ConcurrentDictionary::GetOrAdd

Posted by ni...@apache.org.
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 5aaf59acf7987616f93abf9aa3ab087a35648bdc
Author: Thomas Mathew <th...@microsoft.com>
AuthorDate: Fri Jun 7 13:35:48 2019 -0700

    Use ConcurrentDictionary::GetOrAdd
---
 src/Lucene.Net/Support/IO/FileSupport.cs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/Lucene.Net/Support/IO/FileSupport.cs b/src/Lucene.Net/Support/IO/FileSupport.cs
index 55e722a..dacba8b 100644
--- a/src/Lucene.Net/Support/IO/FileSupport.cs
+++ b/src/Lucene.Net/Support/IO/FileSupport.cs
@@ -180,7 +180,7 @@ namespace Lucene.Net.Support.IO
             return Path.Combine(directory.FullName, string.Concat(prefix, randomFileName));
         }
 
-        private static readonly IDictionary<string, string> fileCanonPathCache = new ConcurrentDictionary<string, string>();
+        private static readonly ConcurrentDictionary<string, string> fileCanonPathCache = new ConcurrentDictionary<string, string>();
 
         /// <summary>
         /// Returns the absolute path of this <see cref="FileSystemInfo"/> with all references resolved and
@@ -299,7 +299,7 @@ namespace Lucene.Net.Support.IO
             //newResult = getCanonImpl(newResult);
             newLength = newResult.Length;
             canonPath = Encoding.UTF8.GetString(newResult, 0, newLength).TrimEnd('\0'); // LUCENENET: Eliminate null terminator char
-            fileCanonPathCache[absPath] = canonPath;
+            canonPath = fileCanonPathCache.GetOrAdd(absPath, canonPath); // It's possible that a concurrent call may have already added it to the cache.
             return canonPath;
         }
     }