diff --git a/Ix.NET/Source/ApiCompare/ApiCompare.csproj b/Ix.NET/Source/ApiCompare/ApiCompare.csproj
index 18e24b63a0..495d7d0ead 100644
--- a/Ix.NET/Source/ApiCompare/ApiCompare.csproj
+++ b/Ix.NET/Source/ApiCompare/ApiCompare.csproj
@@ -2,7 +2,7 @@
Exe
- netcoreapp2.1
+ net6.0
diff --git a/Ix.NET/Source/FasterLinq/FasterLinq.csproj b/Ix.NET/Source/FasterLinq/FasterLinq.csproj
index c130f44d18..74954604db 100644
--- a/Ix.NET/Source/FasterLinq/FasterLinq.csproj
+++ b/Ix.NET/Source/FasterLinq/FasterLinq.csproj
@@ -2,7 +2,7 @@
Exe
- netcoreapp2.1
+ net6.0
diff --git a/Ix.NET/Source/Playground/Playground.csproj b/Ix.NET/Source/Playground/Playground.csproj
index 18e24b63a0..495d7d0ead 100644
--- a/Ix.NET/Source/Playground/Playground.csproj
+++ b/Ix.NET/Source/Playground/Playground.csproj
@@ -2,7 +2,7 @@
Exe
- netcoreapp2.1
+ net6.0
diff --git a/Ix.NET/Source/System.Interactive.Async.Providers.Tests/System.Interactive.Async.Providers.Tests.csproj b/Ix.NET/Source/System.Interactive.Async.Providers.Tests/System.Interactive.Async.Providers.Tests.csproj
index 0ce2587493..ee9410ed15 100644
--- a/Ix.NET/Source/System.Interactive.Async.Providers.Tests/System.Interactive.Async.Providers.Tests.csproj
+++ b/Ix.NET/Source/System.Interactive.Async.Providers.Tests/System.Interactive.Async.Providers.Tests.csproj
@@ -1,7 +1,7 @@
- netcoreapp2.1;net461;netcoreapp3.1
+ netcoreapp2.1;net461;netcoreapp3.1;net6.0
$(NoWarn);CS0618
diff --git a/Ix.NET/Source/System.Interactive.Async.Tests/System.Interactive.Async.Tests.csproj b/Ix.NET/Source/System.Interactive.Async.Tests/System.Interactive.Async.Tests.csproj
index e57a9985fe..582d18fda5 100644
--- a/Ix.NET/Source/System.Interactive.Async.Tests/System.Interactive.Async.Tests.csproj
+++ b/Ix.NET/Source/System.Interactive.Async.Tests/System.Interactive.Async.Tests.csproj
@@ -1,7 +1,7 @@
- netcoreapp2.1;net461;netcoreapp3.1
+ netcoreapp2.1;net461;netcoreapp3.1;net6.0
$(NoWarn);CS0618;CS8603;CS8625
diff --git a/Ix.NET/Source/System.Interactive.Providers/System.Interactive.Providers.csproj b/Ix.NET/Source/System.Interactive.Providers/System.Interactive.Providers.csproj
index e7015409d7..316251813b 100644
--- a/Ix.NET/Source/System.Interactive.Providers/System.Interactive.Providers.csproj
+++ b/Ix.NET/Source/System.Interactive.Providers/System.Interactive.Providers.csproj
@@ -17,7 +17,7 @@
-
+
diff --git a/Ix.NET/Source/System.Interactive.Tests/System.Interactive.Tests.csproj b/Ix.NET/Source/System.Interactive.Tests/System.Interactive.Tests.csproj
index 7cb873dc38..0c6a1ce9ab 100644
--- a/Ix.NET/Source/System.Interactive.Tests/System.Interactive.Tests.csproj
+++ b/Ix.NET/Source/System.Interactive.Tests/System.Interactive.Tests.csproj
@@ -1,7 +1,7 @@
- netcoreapp2.1;net461
+ netcoreapp2.1;net461;net6.0
$(NoWarn);CS0618;CS8603;CS8625
diff --git a/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/Max.cs b/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/Max.cs
index 4e25027fed..b23b3d5c2c 100644
--- a/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/Max.cs
+++ b/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/Max.cs
@@ -11,6 +11,7 @@ namespace Tests
{
public class Max : Tests
{
+#if !NET6_0_OR_GREATER
[Fact]
public void Max_Arguments()
{
@@ -31,5 +32,6 @@ public int Compare(int x, int y)
return Comparer.Default.Compare(x % 7, y % 7);
}
}
+#endif
}
}
diff --git a/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/MaxBy.cs b/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/MaxBy.cs
index 009bdfc8bd..6c56222c44 100644
--- a/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/MaxBy.cs
+++ b/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/MaxBy.cs
@@ -11,6 +11,7 @@ namespace Tests
{
public class MaxBy : Tests
{
+#if !NET6_0_OR_GREATER
[Fact]
public void MaxBy_Arguments()
{
@@ -33,5 +34,6 @@ public void MaxBy_Empty()
{
AssertThrows(() => Enumerable.Empty().MaxBy(x => x));
}
+#endif
}
}
diff --git a/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/Min.cs b/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/Min.cs
index 733a2eca68..f6924136de 100644
--- a/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/Min.cs
+++ b/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/Min.cs
@@ -11,6 +11,7 @@ namespace Tests
{
public class Min : Tests
{
+#if !NET6_0_OR_GREATER
[Fact]
public void Min_Arguments()
{
@@ -31,5 +32,6 @@ public int Compare(int x, int y)
return Comparer.Default.Compare(x % 3, y % 3);
}
}
+#endif
}
}
diff --git a/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/MinBy.cs b/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/MinBy.cs
index 73706530a4..2b19f38e19 100644
--- a/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/MinBy.cs
+++ b/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/MinBy.cs
@@ -11,6 +11,7 @@ namespace Tests
{
public class MinBy : Tests
{
+#if !NET6_0_OR_GREATER
[Fact]
public void MinBy_Arguments()
{
@@ -33,5 +34,6 @@ public void MinBy_Empty()
{
AssertThrows(() => Enumerable.Empty().MinBy(x => x));
}
+#endif
}
}
diff --git a/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/SkipLast.cs b/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/SkipLast.cs
index 186f522552..53b56a1943 100644
--- a/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/SkipLast.cs
+++ b/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/SkipLast.cs
@@ -8,7 +8,7 @@
namespace Tests
{
-#if !NETCOREAPP2_1
+#if !NETCOREAPP2_1_OR_GREATER
public class SkipLast : Tests
{
[Fact]
diff --git a/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/TakeLast.cs b/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/TakeLast.cs
index baea092bd9..d09d8b1394 100644
--- a/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/TakeLast.cs
+++ b/Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/TakeLast.cs
@@ -8,7 +8,7 @@
namespace Tests
{
-#if !NETCOREAPP2_1
+#if !NETCOREAPP2_1_OR_GREATER
public class TakeLast : Tests
{
[Fact]
diff --git a/Ix.NET/Source/System.Interactive/System.Interactive.csproj b/Ix.NET/Source/System.Interactive/System.Interactive.csproj
index f3effe33a5..b3fc11fb08 100644
--- a/Ix.NET/Source/System.Interactive/System.Interactive.csproj
+++ b/Ix.NET/Source/System.Interactive/System.Interactive.csproj
@@ -10,7 +10,7 @@
-
+
diff --git a/Ix.NET/Source/System.Interactive/System/Linq/Operators/Max.cs b/Ix.NET/Source/System.Interactive/System/Linq/Operators/Max.cs
index 4fded162a8..ca1747fb7b 100644
--- a/Ix.NET/Source/System.Interactive/System/Linq/Operators/Max.cs
+++ b/Ix.NET/Source/System.Interactive/System/Linq/Operators/Max.cs
@@ -8,6 +8,8 @@ namespace System.Linq
{
public static partial class EnumerableEx
{
+
+#if !(REFERENCE_ASSEMBLY && (NET6_0))
///
/// Returns the maximum value in the enumerable sequence by using the specified comparer to compare values.
///
@@ -24,5 +26,6 @@ public static TSource Max(this IEnumerable source, IComparer x, comparer).First();
}
+#endif
}
}
diff --git a/Ix.NET/Source/System.Interactive/System/Linq/Operators/MaxBy.cs b/Ix.NET/Source/System.Interactive/System/Linq/Operators/MaxBy.cs
index c6505400eb..eb074e2e6b 100644
--- a/Ix.NET/Source/System.Interactive/System/Linq/Operators/MaxBy.cs
+++ b/Ix.NET/Source/System.Interactive/System/Linq/Operators/MaxBy.cs
@@ -8,6 +8,7 @@ namespace System.Linq
{
public static partial class EnumerableEx
{
+#if !(REFERENCE_ASSEMBLY && (NET6_0))
///
/// Returns the elements with the maximum key value by using the default comparer to compare key values.
///
@@ -80,5 +81,6 @@ private static IList ExtremaBy(IEnumerable sour
return result;
}
+#endif
}
}
diff --git a/Ix.NET/Source/System.Interactive/System/Linq/Operators/Min.cs b/Ix.NET/Source/System.Interactive/System/Linq/Operators/Min.cs
index 84726b21e6..913dcb1b2c 100644
--- a/Ix.NET/Source/System.Interactive/System/Linq/Operators/Min.cs
+++ b/Ix.NET/Source/System.Interactive/System/Linq/Operators/Min.cs
@@ -8,6 +8,7 @@ namespace System.Linq
{
public static partial class EnumerableEx
{
+#if !(REFERENCE_ASSEMBLY && (NET6_0))
///
/// Returns the minimum value in the enumerable sequence by using the specified comparer to compare values.
///
@@ -24,5 +25,6 @@ public static TSource Min(this IEnumerable source, IComparer x, comparer).First();
}
+#endif
}
}
diff --git a/Ix.NET/Source/System.Interactive/System/Linq/Operators/MinBy.cs b/Ix.NET/Source/System.Interactive/System/Linq/Operators/MinBy.cs
index 42c088f762..d8da1b2016 100644
--- a/Ix.NET/Source/System.Interactive/System/Linq/Operators/MinBy.cs
+++ b/Ix.NET/Source/System.Interactive/System/Linq/Operators/MinBy.cs
@@ -8,6 +8,8 @@ namespace System.Linq
{
public static partial class EnumerableEx
{
+
+#if !(REFERENCE_ASSEMBLY && (NET6_0))
///
/// Returns the elements with the minimum key value by using the default comparer to compare key values.
///
@@ -46,5 +48,6 @@ public static IList MinBy(this IEnumerable sour
return ExtremaBy(source, keySelector, (key, minValue) => -comparer.Compare(key, minValue));
}
+#endif
}
}
diff --git a/Ix.NET/Source/System.Interactive/System/Linq/Operators/SkipLast.cs b/Ix.NET/Source/System.Interactive/System/Linq/Operators/SkipLast.cs
index 3a68fb846c..52b48cfe2b 100644
--- a/Ix.NET/Source/System.Interactive/System/Linq/Operators/SkipLast.cs
+++ b/Ix.NET/Source/System.Interactive/System/Linq/Operators/SkipLast.cs
@@ -8,7 +8,7 @@ namespace System.Linq
{
public static partial class EnumerableEx
{
-#if !(REFERENCE_ASSEMBLY && (NETCOREAPP2_0 || NETSTANDARD2_1))
+#if !(REFERENCE_ASSEMBLY && (NETCOREAPP2_1 || NETSTANDARD2_1))
///
/// Bypasses a specified number of contiguous elements from the end of the sequence and returns the remaining elements.
///
diff --git a/Ix.NET/Source/System.Interactive/System/Linq/Operators/TakeLast.cs b/Ix.NET/Source/System.Interactive/System/Linq/Operators/TakeLast.cs
index fd336e7511..2ef22ff07a 100644
--- a/Ix.NET/Source/System.Interactive/System/Linq/Operators/TakeLast.cs
+++ b/Ix.NET/Source/System.Interactive/System/Linq/Operators/TakeLast.cs
@@ -8,7 +8,7 @@ namespace System.Linq
{
public static partial class EnumerableEx
{
-#if !(REFERENCE_ASSEMBLY && (NETCOREAPP2_0 || NETSTANDARD2_1))
+#if !(REFERENCE_ASSEMBLY && (NETCOREAPP2_1 || NETSTANDARD2_1 ))
///
/// Returns a specified number of contiguous elements from the end of the sequence.
///
diff --git a/Ix.NET/Source/System.Linq.Async.Queryable.Tests/System.Linq.Async.Queryable.Tests.csproj b/Ix.NET/Source/System.Linq.Async.Queryable.Tests/System.Linq.Async.Queryable.Tests.csproj
index c1175685e5..cdf1605e22 100644
--- a/Ix.NET/Source/System.Linq.Async.Queryable.Tests/System.Linq.Async.Queryable.Tests.csproj
+++ b/Ix.NET/Source/System.Linq.Async.Queryable.Tests/System.Linq.Async.Queryable.Tests.csproj
@@ -1,7 +1,7 @@
- netcoreapp2.1;net461;netcoreapp3.1
+ netcoreapp2.1;net461;netcoreapp3.1;net6.0
$(NoWarn);CS0618
diff --git a/Ix.NET/Source/System.Linq.Async.Tests/System.Linq.Async.Tests.csproj b/Ix.NET/Source/System.Linq.Async.Tests/System.Linq.Async.Tests.csproj
index 0fe9484812..a108f44f7a 100644
--- a/Ix.NET/Source/System.Linq.Async.Tests/System.Linq.Async.Tests.csproj
+++ b/Ix.NET/Source/System.Linq.Async.Tests/System.Linq.Async.Tests.csproj
@@ -1,7 +1,7 @@
- netcoreapp2.1;net461;netcoreapp3.1
+ netcoreapp2.1;net461;netcoreapp3.1;net6.0
$(NoWarn);CS0618;CS8603;CS8625
diff --git a/Ix.NET/Source/refs/System.Interactive.Providers.Ref/System.Interactive.Providers.Ref.csproj b/Ix.NET/Source/refs/System.Interactive.Providers.Ref/System.Interactive.Providers.Ref.csproj
index 020dd5331c..1c1a6aac5f 100644
--- a/Ix.NET/Source/refs/System.Interactive.Providers.Ref/System.Interactive.Providers.Ref.csproj
+++ b/Ix.NET/Source/refs/System.Interactive.Providers.Ref/System.Interactive.Providers.Ref.csproj
@@ -3,8 +3,9 @@
Interactive Extensions Providers Library used to build query providers and express queries over enumerable sequences.
Interactive Extensions - Providers Library
- netstandard1.0;netcoreapp2.0;netstandard2.1
+ netstandard1.0;netcoreapp2.1;netstandard2.1
Ix;Interactive;Extensions;Enumerable
+ System.Interactive.Providers
diff --git a/Ix.NET/Source/refs/System.Interactive.Ref/System.Interactive.Ref.csproj b/Ix.NET/Source/refs/System.Interactive.Ref/System.Interactive.Ref.csproj
index 7237c5a159..26655520ba 100644
--- a/Ix.NET/Source/refs/System.Interactive.Ref/System.Interactive.Ref.csproj
+++ b/Ix.NET/Source/refs/System.Interactive.Ref/System.Interactive.Ref.csproj
@@ -3,8 +3,9 @@
Interactive Extensions Main Library used to express queries over enumerable sequences.
Interactive Extensions - Main Library
+ System.Interactive
Microsoft
- netstandard1.0;netcoreapp2.0;netstandard2.1
+ netstandard1.0;netcoreapp2.1;netstandard2.1;net6.0
Ix;Interactive;Extensions;Enumerable
diff --git a/Ix.NET/Source/refs/System.Linq.Async.Ref/System.Linq.Async.Ref.csproj b/Ix.NET/Source/refs/System.Linq.Async.Ref/System.Linq.Async.Ref.csproj
index c7b8b28cc7..06bdb0c5db 100644
--- a/Ix.NET/Source/refs/System.Linq.Async.Ref/System.Linq.Async.Ref.csproj
+++ b/Ix.NET/Source/refs/System.Linq.Async.Ref/System.Linq.Async.Ref.csproj
@@ -6,6 +6,7 @@
Microsoft
net461;netstandard2.0;netstandard2.1;netcoreapp3.1
Enumerable;Asynchronous;LINQ
+ System.Linq.Async
diff --git a/Ix.NET/Source/version.json b/Ix.NET/Source/version.json
index c9238a4843..9231a30c45 100644
--- a/Ix.NET/Source/version.json
+++ b/Ix.NET/Source/version.json
@@ -1,5 +1,5 @@
{
- "version": "5.1.0-preview.{height}",
+ "version": "5.1.0",
"publicReleaseRefSpec": [
"^refs/heads/main$", // we release out of main
"^refs/heads/rel/v\\d+\\.\\d+", // we also release branches starting with vN.N
diff --git a/azure-pipelines.ix.yml b/azure-pipelines.ix.yml
index 50bcb0fe51..c5c2d1e64b 100644
--- a/azure-pipelines.ix.yml
+++ b/azure-pipelines.ix.yml
@@ -32,10 +32,15 @@ stages:
vmImage: ubuntu-latest
steps:
- task: UseDotNet@2
- displayName: Use .NET Core 5.0.x SDK
+ displayName: Use .NET Core 6.x SDK
inputs:
- version: 5.0.x
- includePreviewVersions: true
+ version: 6.x
+
+ - task: UseDotNet@2
+ displayName: .NET Core 5.0 runtime
+ inputs:
+ version: '5.0.x'
+ packageType: runtime
- task: UseDotNet@2
displayName: .NET Core 3.1 runtime