浏览代码

TFM updates. ArrayEmpty

Oren Novotny 7 年之前
父节点
当前提交
6bbf23237b
共有 20 个文件被更改,包括 59 次插入60 次删除
  1. 2 2
      Ix.NET/Source/ApiCompare/ApiCompare.csproj
  2. 1 1
      Ix.NET/Source/ApiCompare/Program.cs
  3. 1 1
      Ix.NET/Source/Directory.build.targets
  4. 2 2
      Ix.NET/Source/FasterLinq/FasterLinq.csproj
  5. 2 2
      Ix.NET/Source/Playground/Playground.csproj
  6. 4 10
      Ix.NET/Source/System.Interactive.Async.Providers.Tests/System.Interactive.Async.Providers.Tests.csproj
  7. 1 5
      Ix.NET/Source/System.Interactive.Async.Providers/System.Interactive.Async.Providers.csproj
  8. 4 4
      Ix.NET/Source/System.Interactive.Async.Tests/System.Interactive.Async.Tests.csproj
  9. 3 8
      Ix.NET/Source/System.Interactive.Async/System.Interactive.Async.csproj
  10. 4 4
      Ix.NET/Source/System.Interactive.Tests/System.Interactive.Tests.csproj
  11. 2 0
      Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/SkipLast.cs
  12. 2 0
      Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/TakeLast.cs
  13. 4 6
      Ix.NET/Source/System.Linq.Async.Queryable.Tests/System.Linq.Async.Queryable.Tests.csproj
  14. 2 6
      Ix.NET/Source/System.Linq.Async.Queryable/System.Linq.Async.Queryable.csproj
  15. 4 6
      Ix.NET/Source/System.Linq.Async.Tests/System.Linq.Async.Tests.csproj
  16. 1 1
      Ix.NET/Source/System.Linq.Async/System.Linq.Async.csproj
  17. 4 0
      Ix.NET/Source/System.Linq.Async/System/Linq/AsyncEnumerablePartition.cs
  18. 7 1
      Ix.NET/Source/System.Linq.Async/System/Linq/AsyncListPartition.cs
  19. 7 1
      Ix.NET/Source/System.Linq.Async/System/Linq/Operators/Empty.cs
  20. 2 0
      Ix.NET/Source/refs/Directory.build.props

+ 2 - 2
Ix.NET/Source/ApiCompare/ApiCompare.csproj

@@ -1,8 +1,8 @@
-<Project Sdk="Microsoft.NET.Sdk">
+<Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
     <OutputType>Exe</OutputType>
-    <TargetFramework>netcoreapp1.1</TargetFramework>
+    <TargetFramework>netcoreapp2.1</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>

+ 1 - 1
Ix.NET/Source/ApiCompare/Program.cs

@@ -314,7 +314,7 @@ namespace ApiCompare
                     {
                         var ret = typeof(Task<>).MakeGenericType(args.Last());
 
-                        return Expression.GetFuncType(args.SkipLast(1).Append(ret).ToArray());
+                        return Expression.GetFuncType(Enumerable.SkipLast(args, 1).Append(ret).ToArray());
                     }
                     else
                     {

+ 1 - 1
Ix.NET/Source/Directory.build.targets

@@ -8,7 +8,7 @@
     <DefineConstants>$(DefineConstants);NO_CODE_COVERAGE_ATTRIBUTE;CRIPPLED_REFLECTION</DefineConstants>
   </PropertyGroup>
   <PropertyGroup Condition="'$(TargetFramework)' == 'net45'">
-    <DefineConstants>$(DefineConstants);NO_ARRAY_EMPTY</DefineConstants>
+    <DefineConstants>$(DefineConstants);NO_ARRAY_EMPTY;NO_TASK_FROMEXCEPTION</DefineConstants>
   </PropertyGroup>
 
   <PropertyGroup>

+ 2 - 2
Ix.NET/Source/FasterLinq/FasterLinq.csproj

@@ -1,8 +1,8 @@
-<Project Sdk="Microsoft.NET.Sdk">
+<Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
     <OutputType>Exe</OutputType>
-    <TargetFramework>netcoreapp1.1</TargetFramework>
+    <TargetFramework>netcoreapp2.1</TargetFramework>
   </PropertyGroup>
 
 </Project>

+ 2 - 2
Ix.NET/Source/Playground/Playground.csproj

@@ -1,8 +1,8 @@
-<Project Sdk="Microsoft.NET.Sdk">
+<Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
     <OutputType>Exe</OutputType>
-    <TargetFramework>netcoreapp1.1</TargetFramework>
+    <TargetFramework>netcoreapp2.1</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>

+ 4 - 10
Ix.NET/Source/System.Interactive.Async.Providers.Tests/System.Interactive.Async.Providers.Tests.csproj

@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFrameworks>netcoreapp1.1;net461</TargetFrameworks>
+    <TargetFrameworks>netcoreapp2.1;net461</TargetFrameworks>
     <NoWarn>$(NoWarn);CS0618</NoWarn>
   </PropertyGroup>
 
@@ -19,13 +19,11 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.0-beta4-build3742 " />
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.8.0" />
+    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />
     <PackageReference Include="FluentAssertions" Version="4.19.2 " />
 
-    <PackageReference Include="xunit" Version="2.3.0-beta3-build3705" />
-    <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.0-beta4-build3742 " />
-
+    <PackageReference Include="xunit" Version="2.4.0" />
   </ItemGroup>
 
   <ItemGroup>
@@ -35,10 +33,6 @@
     </None>
   </ItemGroup>
 
-  <ItemGroup>
-    <Service Include="{508349b6-6b84-4df5-91f0-309beebad82d}" />
-  </ItemGroup>
-
   <ItemGroup>
     <Compile Update="AsyncQueryableExTests.Generated.cs">
       <DesignTime>True</DesignTime>

+ 1 - 5
Ix.NET/Source/System.Interactive.Async.Providers/System.Interactive.Async.Providers.csproj

@@ -3,8 +3,7 @@
   <PropertyGroup>
     <Description>Interactive Extensions Async Providers Library used to build query providers and express queries over async enumerable sequences.</Description>
     <AssemblyTitle>Interactive Extensions - Async Providers Library</AssemblyTitle>
-    <TargetFrameworks>net46;netstandard1.4</TargetFrameworks>
-    <TargetFrameworks>net45;netstandard1.0;netstandard2.0</TargetFrameworks>
+    <TargetFrameworks>net45;netstandard2.0</TargetFrameworks>
     <PackageTags>Ix;Interactive;Extensions;Enumerable;Asynchronous</PackageTags>
   </PropertyGroup>
 
@@ -26,7 +25,4 @@
     <Compile Update="System\Linq\AsyncQueryableEx.Generated.cs" DesignTime="True" AutoGen="True" DependentUpon="AsyncQueryableEx.Generated.tt" />
   </ItemGroup>
 
-  <ItemGroup>
-    <Service Include="{508349b6-6b84-4df5-91f0-309beebad82d}" />
-  </ItemGroup>
 </Project>

+ 4 - 4
Ix.NET/Source/System.Interactive.Async.Tests/System.Interactive.Async.Tests.csproj

@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFrameworks>netcoreapp2.1;netcoreapp1.1;net461</TargetFrameworks>
+    <TargetFrameworks>netcoreapp2.1;net461</TargetFrameworks>
     <NoWarn>$(NoWarn);CS0618</NoWarn>
   </PropertyGroup>
 
@@ -19,11 +19,11 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.8.0-preview-20180610-02" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.0-beta.2.build4010" />
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.8.0" />
+    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />
     <PackageReference Include="FluentAssertions" Version="4.19.2 " />
 
-    <PackageReference Include="xunit" Version="2.4.0-beta.2.build4010" />
+    <PackageReference Include="xunit" Version="2.4.0" />
 
   </ItemGroup>
 

+ 3 - 8
Ix.NET/Source/System.Interactive.Async/System.Interactive.Async.csproj

@@ -2,9 +2,8 @@
 
   <PropertyGroup>
     <Description>Interactive Extensions Async Library used to express queries over asynchronous enumerable sequences.</Description>
-    <AssemblyTitle>Interactive Extensions - Async Library</AssemblyTitle>
-    <TargetFrameworks>net46;netstandard1.4</TargetFrameworks>
-    <TargetFrameworks>net45;net46;netstandard1.0;netstandard1.3;netstandard2.0</TargetFrameworks>
+    <AssemblyTitle>Interactive Extensions - Async Library</AssemblyTitle>    
+    <TargetFrameworks>net45;net46;netstandard1.4;netstandard2.0</TargetFrameworks>
     <PackageTags>Ix;Interactive;Extensions;Enumerable;Asynchronous</PackageTags>
   </PropertyGroup>
 
@@ -15,9 +14,5 @@
   <ItemGroup>
     <ProjectReference Include="..\System.Linq.Async\System.Linq.Async.csproj" />
   </ItemGroup>
-
-  <ItemGroup>
-    <Service Include="{508349b6-6b84-4df5-91f0-309beebad82d}" />
-  </ItemGroup>
-
+  
 </Project>

+ 4 - 4
Ix.NET/Source/System.Interactive.Tests/System.Interactive.Tests.csproj

@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFrameworks>netcoreapp2.1;netcoreapp1.1;net461</TargetFrameworks>
+    <TargetFrameworks>netcoreapp2.1;net461</TargetFrameworks>
     <NoWarn>$(NoWarn);CS0618</NoWarn>
   </PropertyGroup>
 
@@ -17,11 +17,11 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.8.0-preview-20180610-02" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.0-beta.2.build4010" />
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.8.0" />
+    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />
     <PackageReference Include="FluentAssertions" Version="4.19.2 " />
     
-    <PackageReference Include="xunit" Version="2.4.0-beta.2.build4010" />
+    <PackageReference Include="xunit" Version="2.4.0" />
   </ItemGroup>
 
 </Project>

+ 2 - 0
Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/SkipLast.cs

@@ -8,6 +8,7 @@ using Xunit;
 
 namespace Tests
 {
+#if !NETCOREAPP2_1
     public class SkipLast : Tests
     {
         [Fact]
@@ -41,4 +42,5 @@ namespace Tests
             Assert.True(Enumerable.SequenceEqual(r, e.Take(2)));
         }
     }
+#endif
 }

+ 2 - 0
Ix.NET/Source/System.Interactive.Tests/System/Linq/Operators/TakeLast.cs

@@ -8,6 +8,7 @@ using Xunit;
 
 namespace Tests
 {
+#if !NETCOREAPP2_1
     public class TakeLast : Tests
     {
         [Fact]
@@ -49,4 +50,5 @@ namespace Tests
             Assert.True(Enumerable.SequenceEqual(r, e.Skip(2)));
         }
     }
+#endif
 }

+ 4 - 6
Ix.NET/Source/System.Linq.Async.Queryable.Tests/System.Linq.Async.Queryable.Tests.csproj

@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFrameworks>netcoreapp1.1;net461</TargetFrameworks>
+    <TargetFrameworks>netcoreapp2.1;net461</TargetFrameworks>
     <NoWarn>$(NoWarn);CS0618</NoWarn>
   </PropertyGroup>
 
@@ -18,13 +18,11 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.0-beta4-build3742 " />
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.8.0" />
+    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />
     <PackageReference Include="FluentAssertions" Version="4.19.2 " />
 
-    <PackageReference Include="xunit" Version="2.3.0-beta3-build3705" />
-    <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.0-beta4-build3742 " />
-
+    <PackageReference Include="xunit" Version="2.4.0" />
   </ItemGroup>
 
   <ItemGroup>

+ 2 - 6
Ix.NET/Source/System.Linq.Async.Queryable/System.Linq.Async.Queryable.csproj

@@ -1,17 +1,13 @@
-<Project Sdk="Microsoft.NET.Sdk">
+<Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFrameworks>net46;netstandard1.4</TargetFrameworks>
+    <TargetFrameworks>net45;net46;netstandard1.4;netstandard2.0</TargetFrameworks>
   </PropertyGroup>
 
   <ItemGroup>
     <ProjectReference Include="..\System.Linq.Async\System.Linq.Async.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <Service Include="{508349b6-6b84-4df5-91f0-309beebad82d}" />
-  </ItemGroup>
-
   <ItemGroup>
     <Compile Update="System\Linq\AsyncQueryable.Generated.cs">
       <DependentUpon>AsyncQueryable.Generated.tt</DependentUpon>

+ 4 - 6
Ix.NET/Source/System.Linq.Async.Tests/System.Linq.Async.Tests.csproj

@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFrameworks>netcoreapp1.1;net461</TargetFrameworks>
+    <TargetFrameworks>netcoreapp2.1;net461</TargetFrameworks>
     <NoWarn>$(NoWarn);CS0618</NoWarn>
   </PropertyGroup>
 
@@ -17,13 +17,11 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.0-beta4-build3742 " />
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.8.0" />
+    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />
     <PackageReference Include="FluentAssertions" Version="4.19.2 " />
 
-    <PackageReference Include="xunit" Version="2.3.0-beta3-build3705" />
-    <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.0-beta4-build3742 " />
-
+    <PackageReference Include="xunit" Version="2.4.0" />
   </ItemGroup>
 
 </Project>

+ 1 - 1
Ix.NET/Source/System.Linq.Async/System.Linq.Async.csproj

@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFrameworks>net46;netstandard1.4;netstandard2.0</TargetFrameworks>
+    <TargetFrameworks>net45;net46;netstandard1.4;netstandard2.0</TargetFrameworks>
   </PropertyGroup>
 
   <ItemGroup>

+ 4 - 0
Ix.NET/Source/System.Linq.Async/System/Linq/AsyncEnumerablePartition.cs

@@ -315,7 +315,11 @@ namespace System.Linq
                 await en.DisposeAsync().ConfigureAwait(false);
             }
 
+#if NO_ARRAY_EMPTY
+            return EmptyArray<TSource>.Value;
+#else
             return Array.Empty<TSource>();
+#endif
         }
 
         public async Task<List<TSource>> ToListAsync(CancellationToken cancellationToken)

+ 7 - 1
Ix.NET/Source/System.Linq.Async/System/Linq/AsyncListPartition.cs

@@ -142,7 +142,13 @@ namespace System.Linq
             var count = Count;
             if (count == 0)
             {
-                return Task.FromResult(Array.Empty<TSource>());
+                return Task.FromResult(
+#if NO_ARRAY_EMPTY
+                EmptyArray<TSource>.Value
+#else
+                Array.Empty<TSource>()
+#endif
+                    );
             }
 
             var array = new TSource[count];

+ 7 - 1
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/Empty.cs

@@ -24,7 +24,13 @@ namespace System.Linq
 
             public IAsyncPartition<TValue> Take(int count) => this;
 
-            public Task<TValue[]> ToArrayAsync(CancellationToken cancellationToken) => Task.FromResult(Array.Empty<TValue>());
+            public Task<TValue[]> ToArrayAsync(CancellationToken cancellationToken) => Task.FromResult(
+#if NO_ARRAY_EMPTY
+                EmptyArray<TValue>.Value
+#else
+                Array.Empty<TValue>()
+#endif
+                );
 
             public Task<List<TValue>> ToListAsync(CancellationToken cancellationToken) => Task.FromResult(new List<TValue>());
 

+ 2 - 0
Ix.NET/Source/refs/Directory.build.props

@@ -5,6 +5,8 @@
   <PropertyGroup>
     <!-- This is here so we can create a fake .NET Standard 2.1 facade -->
     <NETStandardMaximumVersion>2.1</NETStandardMaximumVersion>
+
+    <DefineConstants>$(DefineConstants);REFERENCE_ASSEMBLY</DefineConstants>
   </PropertyGroup>
 
 </Project>