diff --git a/binding/csharp/IP2Region.Net/CHANGELOG.md b/binding/csharp/CHANGELOG.md
similarity index 78%
rename from binding/csharp/IP2Region.Net/CHANGELOG.md
rename to binding/csharp/CHANGELOG.md
index 59b9e5d..7dd8005 100644
--- a/binding/csharp/IP2Region.Net/CHANGELOG.md
+++ b/binding/csharp/CHANGELOG.md
@@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file.
## [Unreleased]
+## [2.0.1] - 2023-07-30
+
+### Added
+- Support netstandard2.0
+
## [2.0.0] - 2023-07-26
### Removed
diff --git a/binding/csharp/IP2Region.Net/IP2Region.Net.csproj b/binding/csharp/IP2Region.Net/IP2Region.Net.csproj
index d3f7740..3095148 100644
--- a/binding/csharp/IP2Region.Net/IP2Region.Net.csproj
+++ b/binding/csharp/IP2Region.Net/IP2Region.Net.csproj
@@ -2,7 +2,7 @@
IP2Region.Net
- 2.0.0
+ 2.0.1
IP2Region.Net
Alan Lee
Apache-2.0
@@ -15,10 +15,20 @@
git
enable
enable
- net6.0;netstandard2.1
+ netstandard2.0;netstandard2.1;net6.0;net7.0
10.0
+ c2f07fe1-a300-4de3-8200-1278ed8cb5b7
+
+
+
+
+
+
+ CHANGELOG.md
+
+
diff --git a/binding/csharp/IP2Region.Net/XDB/Searcher.cs b/binding/csharp/IP2Region.Net/XDB/Searcher.cs
index d6bcc1d..de29dc9 100644
--- a/binding/csharp/IP2Region.Net/XDB/Searcher.cs
+++ b/binding/csharp/IP2Region.Net/XDB/Searcher.cs
@@ -42,7 +42,7 @@ public class Searcher : ISearcher
{
var index = _cacheStrategy.GetVectorIndex(ip);
uint sPtr = MemoryMarshal.Read(index.Span);
- uint ePtr = MemoryMarshal.Read(index.Span[4..]);
+ uint ePtr = MemoryMarshal.Read(index.Span.Slice(4));
var dataLen = 0;
uint dataPtr = 0;
@@ -56,7 +56,7 @@ public class Searcher : ISearcher
var buffer = _cacheStrategy.GetData((int)pos, SegmentIndexSize);
uint sip = MemoryMarshal.Read(buffer.Span);
- uint eip = MemoryMarshal.Read(buffer.Span[4..]);
+ uint eip = MemoryMarshal.Read(buffer.Span.Slice(4));
if (ip < sip)
{
@@ -68,8 +68,8 @@ public class Searcher : ISearcher
}
else
{
- dataLen = MemoryMarshal.Read(buffer.Span[8..]);
- dataPtr = MemoryMarshal.Read(buffer.Span[10..]);
+ dataLen = MemoryMarshal.Read(buffer.Span.Slice(8));
+ dataPtr = MemoryMarshal.Read(buffer.Span.Slice(10));
break;
}
}
@@ -80,6 +80,6 @@ public class Searcher : ISearcher
}
var regionBuff = _cacheStrategy.GetData((int)dataPtr,dataLen);
- return Encoding.UTF8.GetString(regionBuff.Span);
+ return Encoding.UTF8.GetString(regionBuff.Span.ToArray());
}
}
\ No newline at end of file