From affd7e00df310cdf53744ee22cd4631a414f6c05 Mon Sep 17 00:00:00 2001 From: dotnet-maestro-bot Date: Fri, 25 Oct 2019 15:50:53 -0500 Subject: [PATCH] [automated] Merge branch 'release/3.1' => 'master' (#15394) * [release/3.1] Update dependencies from 3 repositories (#15218) * Update dependencies from https://github.com/dotnet/arcade build 20191017.3 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19517.3 - Microsoft.DotNet.GenAPI - 1.0.0-beta.19517.3 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19517.3 * Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20191021.2 - Microsoft.EntityFrameworkCore.Tools - 3.1.0-preview2.19521.2 - Microsoft.EntityFrameworkCore.SqlServer - 3.1.0-preview2.19521.2 - dotnet-ef - 3.1.0-preview2.19521.2 - Microsoft.EntityFrameworkCore - 3.1.0-preview2.19521.2 - Microsoft.EntityFrameworkCore.InMemory - 3.1.0-preview2.19521.2 - Microsoft.EntityFrameworkCore.Relational - 3.1.0-preview2.19521.2 - Microsoft.EntityFrameworkCore.Sqlite - 3.1.0-preview2.19521.2 * Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20191021.4 - Microsoft.EntityFrameworkCore.Tools - 3.1.0-preview2.19521.4 - Microsoft.EntityFrameworkCore.SqlServer - 3.1.0-preview2.19521.4 - dotnet-ef - 3.1.0-preview2.19521.4 - Microsoft.EntityFrameworkCore - 3.1.0-preview2.19521.4 - Microsoft.EntityFrameworkCore.InMemory - 3.1.0-preview2.19521.4 - Microsoft.EntityFrameworkCore.Relational - 3.1.0-preview2.19521.4 - Microsoft.EntityFrameworkCore.Sqlite - 3.1.0-preview2.19521.4 * Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20191021.5 - Microsoft.EntityFrameworkCore.Tools - 3.1.0-preview2.19521.5 - Microsoft.EntityFrameworkCore.SqlServer - 3.1.0-preview2.19521.5 - dotnet-ef - 3.1.0-preview2.19521.5 - Microsoft.EntityFrameworkCore - 3.1.0-preview2.19521.5 - Microsoft.EntityFrameworkCore.InMemory - 3.1.0-preview2.19521.5 - Microsoft.EntityFrameworkCore.Relational - 3.1.0-preview2.19521.5 - Microsoft.EntityFrameworkCore.Sqlite - 3.1.0-preview2.19521.5 * Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20191021.7 - Microsoft.EntityFrameworkCore.Tools - 3.1.0-preview2.19521.7 - Microsoft.EntityFrameworkCore.SqlServer - 3.1.0-preview2.19521.7 - dotnet-ef - 3.1.0-preview2.19521.7 - Microsoft.EntityFrameworkCore - 3.1.0-preview2.19521.7 - Microsoft.EntityFrameworkCore.InMemory - 3.1.0-preview2.19521.7 - Microsoft.EntityFrameworkCore.Relational - 3.1.0-preview2.19521.7 - Microsoft.EntityFrameworkCore.Sqlite - 3.1.0-preview2.19521.7 * Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20191021.8 - Microsoft.EntityFrameworkCore.Tools - 3.1.0-preview2.19521.8 - Microsoft.EntityFrameworkCore.SqlServer - 3.1.0-preview2.19521.8 - dotnet-ef - 3.1.0-preview2.19521.8 - Microsoft.EntityFrameworkCore - 3.1.0-preview2.19521.8 - Microsoft.EntityFrameworkCore.InMemory - 3.1.0-preview2.19521.8 - Microsoft.EntityFrameworkCore.Relational - 3.1.0-preview2.19521.8 - Microsoft.EntityFrameworkCore.Sqlite - 3.1.0-preview2.19521.8 * Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20191021.9 - Microsoft.EntityFrameworkCore.Tools - 3.1.0-preview2.19521.9 - Microsoft.EntityFrameworkCore.SqlServer - 3.1.0-preview2.19521.9 - dotnet-ef - 3.1.0-preview2.19521.9 - Microsoft.EntityFrameworkCore - 3.1.0-preview2.19521.9 - Microsoft.EntityFrameworkCore.InMemory - 3.1.0-preview2.19521.9 - Microsoft.EntityFrameworkCore.Relational - 3.1.0-preview2.19521.9 - Microsoft.EntityFrameworkCore.Sqlite - 3.1.0-preview2.19521.9 * Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20191021.11 - Microsoft.EntityFrameworkCore.Tools - 3.1.0-preview2.19521.11 - Microsoft.EntityFrameworkCore.SqlServer - 3.1.0-preview2.19521.11 - dotnet-ef - 3.1.0-preview2.19521.11 - Microsoft.EntityFrameworkCore - 3.1.0-preview2.19521.11 - Microsoft.EntityFrameworkCore.InMemory - 3.1.0-preview2.19521.11 - Microsoft.EntityFrameworkCore.Relational - 3.1.0-preview2.19521.11 - Microsoft.EntityFrameworkCore.Sqlite - 3.1.0-preview2.19521.11 * Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20191021.12 - Microsoft.EntityFrameworkCore.Tools - 3.1.0-preview2.19521.12 - Microsoft.EntityFrameworkCore.SqlServer - 3.1.0-preview2.19521.12 - dotnet-ef - 3.1.0-preview2.19521.12 - Microsoft.EntityFrameworkCore - 3.1.0-preview2.19521.12 - Microsoft.EntityFrameworkCore.InMemory - 3.1.0-preview2.19521.12 - Microsoft.EntityFrameworkCore.Relational - 3.1.0-preview2.19521.12 - Microsoft.EntityFrameworkCore.Sqlite - 3.1.0-preview2.19521.12 * Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20191021.13 - Microsoft.EntityFrameworkCore.Tools - 3.1.0-preview2.19521.13 - Microsoft.EntityFrameworkCore.SqlServer - 3.1.0-preview2.19521.13 - dotnet-ef - 3.1.0-preview2.19521.13 - Microsoft.EntityFrameworkCore - 3.1.0-preview2.19521.13 - Microsoft.EntityFrameworkCore.InMemory - 3.1.0-preview2.19521.13 - Microsoft.EntityFrameworkCore.Relational - 3.1.0-preview2.19521.13 - Microsoft.EntityFrameworkCore.Sqlite - 3.1.0-preview2.19521.13 * Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20191022.1 - Microsoft.EntityFrameworkCore.Tools - 3.1.0-preview2.19522.1 - Microsoft.EntityFrameworkCore.SqlServer - 3.1.0-preview2.19522.1 - dotnet-ef - 3.1.0-preview2.19522.1 - Microsoft.EntityFrameworkCore - 3.1.0-preview2.19522.1 - Microsoft.EntityFrameworkCore.InMemory - 3.1.0-preview2.19522.1 - Microsoft.EntityFrameworkCore.Relational - 3.1.0-preview2.19522.1 - Microsoft.EntityFrameworkCore.Sqlite - 3.1.0-preview2.19522.1 * Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20191022.3 - Microsoft.EntityFrameworkCore.Tools - 3.1.0-preview2.19522.3 - Microsoft.EntityFrameworkCore.SqlServer - 3.1.0-preview2.19522.3 - dotnet-ef - 3.1.0-preview2.19522.3 - Microsoft.EntityFrameworkCore - 3.1.0-preview2.19522.3 - Microsoft.EntityFrameworkCore.InMemory - 3.1.0-preview2.19522.3 - Microsoft.EntityFrameworkCore.Relational - 3.1.0-preview2.19522.3 - Microsoft.EntityFrameworkCore.Sqlite - 3.1.0-preview2.19522.3 * Remove duplicate icon url * Remove more duplicate icon elements * Remove more package icons * Remove packageIcon * Update dependencies from https://github.com/aspnet/Blazor build 20191023.1 - Microsoft.AspNetCore.Blazor.Mono - 3.1.0-preview2.19523.1 * Undo bad deletion of eng/common file * Update dependencies from https://github.com/aspnet/AspNetCore-Tooling build 20191023.2 - Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.1.0-preview2.19523.2 - Microsoft.AspNetCore.Razor.Language - 3.1.0-preview2.19523.2 - Microsoft.CodeAnalysis.Razor - 3.1.0-preview2.19523.2 - Microsoft.NET.Sdk.Razor - 3.1.0-preview2.19523.2 * Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20191023.7 - Microsoft.EntityFrameworkCore.Tools - 3.1.0-preview2.19523.7 - Microsoft.EntityFrameworkCore.SqlServer - 3.1.0-preview2.19523.7 - dotnet-ef - 3.1.0-preview2.19523.7 - Microsoft.EntityFrameworkCore - 3.1.0-preview2.19523.7 - Microsoft.EntityFrameworkCore.InMemory - 3.1.0-preview2.19523.7 - Microsoft.EntityFrameworkCore.Relational - 3.1.0-preview2.19523.7 - Microsoft.EntityFrameworkCore.Sqlite - 3.1.0-preview2.19523.7 * [ApiAuth] Fix subscription callbacks when unsubscribe (#15194) re-assigned the callback array to itself after running splice on it when a client unsubscribed from notifications. * Update doc references in Auth action results (#15110) * Rebrand for 3.1.0-preview3 - aspnet/AspNetCore-Internal#3281 * [Templating][Fixes #15349] Update SPA templates to use generic host (#15365) * [Blazor] Reliability improvements for the E2E tests (#15320) * Fix race with CTS disposing (#11757) * Nuke helix arm runs on 3.1 (#15390) * [Blazor][Fixes #14959] NavLink match should be case-insensitive (#15401) --- Directory.Build.props | 6 --- eng/Version.Details.xml | 12 ++--- eng/Versions.props | 2 +- eng/common/post-build/setup-maestro-vars.ps1 | 8 ++-- global.json | 4 +- packageIcon.png | Bin 7006 -> 0 bytes .../src/Microsoft.AspNetCore.Analyzers.csproj | 1 - .../src/Microsoft.AspNetCore.Analyzers.nuspec | 3 +- .../Microsoft.AspNetCore.Blazor.Build.csproj | 1 - .../Microsoft.AspNetCore.Blazor.Build.nuspec | 3 +- ...crosoft.AspNetCore.Blazor.DevServer.csproj | 1 - ...crosoft.AspNetCore.Blazor.DevServer.nuspec | 3 +- ...crosoft.AspNetCore.Blazor.Templates.csproj | 4 -- ...crosoft.AspNetCore.Blazor.Templates.nuspec | 3 +- .../Microsoft.AspNetCore.Components.csproj | 1 - ...t.AspNetCore.Components.multitarget.nuspec | 3 +- ...ft.AspNetCore.Components.netcoreapp.nuspec | 3 +- src/Components/Ignitor/src/BlazorClient.cs | 3 +- src/Components/Web/src/Routing/NavLink.cs | 4 +- ...soft.AspNetCore.Components.E2ETests.csproj | 6 +++ .../ComponentHubReliabilityTest.cs | 1 + .../ServerExecutionTests/IgnitorTest.cs | 4 +- src/Components/test/E2ETest/xunit.runner.json | 7 +++ .../BasicTestApp/RouterTest/Links.razor | 2 +- .../SharedFramework/SharedFramework.wixproj | 4 -- .../SharedFrameworkPackage.nuspec | 1 - .../TargetingPack/TargetingPack.wixproj | 4 -- .../TargetingPack/TargetingPackPackage.nuspec | 1 - .../Microsoft.AspNetCore.Mvc.Analyzers.csproj | 1 - .../Microsoft.AspNetCore.Mvc.Analyzers.nuspec | 3 +- ...rosoft.AspNetCore.Mvc.Api.Analyzers.csproj | 1 - ...rosoft.AspNetCore.Mvc.Api.Analyzers.nuspec | 3 +- src/Mvc/Mvc.Core/src/ChallengeResult.cs | 2 +- src/Mvc/Mvc.Core/src/ForbidResult.cs | 2 +- src/Mvc/Mvc.Core/src/SignInResult.cs | 6 +-- src/Mvc/Mvc.Core/src/SignOutResult.cs | 4 +- src/ProjectTemplates/TemplateProjects.props | 4 -- .../content/Angular-CSharp/Program.cs | 13 +++--- .../api-authorization/AuthorizeService.js | 2 +- .../content/React-CSharp/Program.cs | 13 +++--- .../content/ReactRedux-CSharp/Program.cs | 14 +++--- src/ProjectTemplates/templates.nuspec | 3 +- .../src/Internal/HttpConnectionContext.cs | 41 +++++++++++++++++- .../src/Internal/HttpConnectionDispatcher.cs | 27 +++--------- .../test/HttpConnectionDispatcherTests.cs | 16 ++++++- ...ft.Extensions.ApiDescription.Client.csproj | 1 - ...ft.Extensions.ApiDescription.Client.nuspec | 3 +- ...ft.Extensions.ApiDescription.Server.csproj | 1 - ...ft.Extensions.ApiDescription.Server.nuspec | 3 +- 49 files changed, 138 insertions(+), 120 deletions(-) delete mode 100644 packageIcon.png create mode 100644 src/Components/test/E2ETest/xunit.runner.json diff --git a/Directory.Build.props b/Directory.Build.props index 8b3adc348b..b3dc903387 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -46,8 +46,6 @@ nugetaspnet@microsoft.com - packageIcon.png - $(MSBuildThisFileDirectory)packageIcon.png https://asp.net $(MSBuildProjectDirectory) @@ -56,10 +54,6 @@ netcoreapp5.0 - - - - true diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index d08ca7ebf2..ee6fad4426 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -412,17 +412,17 @@ https://github.com/aspnet/Extensions f15f3278c73c72a6546d7cb2c1bd54a541ffc83e - + https://github.com/dotnet/arcade - f70d1fca3d5d4045be75694006f1bee0e0aec572 + a42a124635ce1a218309ecb31ec59d559cacb886 - + https://github.com/dotnet/arcade - f70d1fca3d5d4045be75694006f1bee0e0aec572 + a42a124635ce1a218309ecb31ec59d559cacb886 - + https://github.com/dotnet/arcade - f70d1fca3d5d4045be75694006f1bee0e0aec572 + a42a124635ce1a218309ecb31ec59d559cacb886 https://github.com/aspnet/Extensions diff --git a/eng/Versions.props b/eng/Versions.props index 5ae95d3858..c1fb9915db 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -62,7 +62,7 @@ --> - 1.0.0-beta.19510.3 + 1.0.0-beta.19517.3 3.4.0-beta1-19456-03 diff --git a/eng/common/post-build/setup-maestro-vars.ps1 b/eng/common/post-build/setup-maestro-vars.ps1 index d7f64dc63c..5668ef091a 100644 --- a/eng/common/post-build/setup-maestro-vars.ps1 +++ b/eng/common/post-build/setup-maestro-vars.ps1 @@ -6,12 +6,12 @@ param( try { $Content = Get-Content $ReleaseConfigsPath - + $BarId = $Content | Select -Index 0 - + $Channels = "" $Content | Select -Index 1 | ForEach-Object { $Channels += "$_ ," } - + $IsStableBuild = $Content | Select -Index 2 Write-PipelineSetVariable -Name 'BARBuildId' -Value $BarId @@ -23,4 +23,4 @@ catch { Write-Host $_.Exception Write-Host $_.ScriptStackTrace ExitWithExitCode 1 -} +} \ No newline at end of file diff --git a/global.json b/global.json index 272ae374e2..121fc68a28 100644 --- a/global.json +++ b/global.json @@ -25,7 +25,7 @@ }, "msbuild-sdks": { "Yarn.MSBuild": "1.15.2", - "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19510.3", - "Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19510.3" + "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19517.3", + "Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19517.3" } } diff --git a/packageIcon.png b/packageIcon.png deleted file mode 100644 index a0f1fdbf4d5eae0e561018cccee74f6a454cdb9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7006 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 diff --git a/src/Analyzers/Analyzers/src/Microsoft.AspNetCore.Analyzers.csproj b/src/Analyzers/Analyzers/src/Microsoft.AspNetCore.Analyzers.csproj index cc4201ca79..feec3324be 100644 --- a/src/Analyzers/Analyzers/src/Microsoft.AspNetCore.Analyzers.csproj +++ b/src/Analyzers/Analyzers/src/Microsoft.AspNetCore.Analyzers.csproj @@ -25,7 +25,6 @@ - diff --git a/src/Analyzers/Analyzers/src/Microsoft.AspNetCore.Analyzers.nuspec b/src/Analyzers/Analyzers/src/Microsoft.AspNetCore.Analyzers.nuspec index 106615a7da..2cba2a2f13 100644 --- a/src/Analyzers/Analyzers/src/Microsoft.AspNetCore.Analyzers.nuspec +++ b/src/Analyzers/Analyzers/src/Microsoft.AspNetCore.Analyzers.nuspec @@ -2,12 +2,11 @@ $CommonMetadataElements$ - packageIcon.png + $CommonFileElements$ - diff --git a/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.csproj b/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.csproj index 82968f4999..35853a4b9e 100644 --- a/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.csproj +++ b/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.csproj @@ -23,7 +23,6 @@ - diff --git a/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.nuspec b/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.nuspec index feffe95c50..26ca818d7f 100644 --- a/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.nuspec +++ b/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.nuspec @@ -5,14 +5,13 @@ - packageIcon.png + $CommonFileElements$ - diff --git a/src/Components/Blazor/DevServer/src/Microsoft.AspNetCore.Blazor.DevServer.csproj b/src/Components/Blazor/DevServer/src/Microsoft.AspNetCore.Blazor.DevServer.csproj index eada2c3e82..d18ab7c9e4 100644 --- a/src/Components/Blazor/DevServer/src/Microsoft.AspNetCore.Blazor.DevServer.csproj +++ b/src/Components/Blazor/DevServer/src/Microsoft.AspNetCore.Blazor.DevServer.csproj @@ -33,7 +33,6 @@ - diff --git a/src/Components/Blazor/DevServer/src/Microsoft.AspNetCore.Blazor.DevServer.nuspec b/src/Components/Blazor/DevServer/src/Microsoft.AspNetCore.Blazor.DevServer.nuspec index b59725fc14..2f0f6b8479 100644 --- a/src/Components/Blazor/DevServer/src/Microsoft.AspNetCore.Blazor.DevServer.nuspec +++ b/src/Components/Blazor/DevServer/src/Microsoft.AspNetCore.Blazor.DevServer.nuspec @@ -2,12 +2,11 @@ $CommonMetadataElements$ - packageIcon.png + $CommonFileElements$ - diff --git a/src/Components/Blazor/Templates/src/Microsoft.AspNetCore.Blazor.Templates.csproj b/src/Components/Blazor/Templates/src/Microsoft.AspNetCore.Blazor.Templates.csproj index 640d8f21d0..c91a32128d 100644 --- a/src/Components/Blazor/Templates/src/Microsoft.AspNetCore.Blazor.Templates.csproj +++ b/src/Components/Blazor/Templates/src/Microsoft.AspNetCore.Blazor.Templates.csproj @@ -15,10 +15,6 @@ false - - - - diff --git a/src/Components/Blazor/Templates/src/Microsoft.AspNetCore.Blazor.Templates.nuspec b/src/Components/Blazor/Templates/src/Microsoft.AspNetCore.Blazor.Templates.nuspec index cde7bc4c1f..fd19750231 100644 --- a/src/Components/Blazor/Templates/src/Microsoft.AspNetCore.Blazor.Templates.nuspec +++ b/src/Components/Blazor/Templates/src/Microsoft.AspNetCore.Blazor.Templates.nuspec @@ -5,13 +5,12 @@ - packageIcon.png + $CommonFileElements$ - diff --git a/src/Components/Components/src/Microsoft.AspNetCore.Components.csproj b/src/Components/Components/src/Microsoft.AspNetCore.Components.csproj index 5fe8fe7f36..4c0a31a3f6 100644 --- a/src/Components/Components/src/Microsoft.AspNetCore.Components.csproj +++ b/src/Components/Components/src/Microsoft.AspNetCore.Components.csproj @@ -55,7 +55,6 @@ - diff --git a/src/Components/Components/src/Microsoft.AspNetCore.Components.multitarget.nuspec b/src/Components/Components/src/Microsoft.AspNetCore.Components.multitarget.nuspec index cef54a29ba..7017ce828e 100644 --- a/src/Components/Components/src/Microsoft.AspNetCore.Components.multitarget.nuspec +++ b/src/Components/Components/src/Microsoft.AspNetCore.Components.multitarget.nuspec @@ -15,13 +15,12 @@ - packageIcon.png + $CommonFileElements$ - diff --git a/src/Components/Components/src/Microsoft.AspNetCore.Components.netcoreapp.nuspec b/src/Components/Components/src/Microsoft.AspNetCore.Components.netcoreapp.nuspec index ff59dd52cb..9ea33e53dc 100644 --- a/src/Components/Components/src/Microsoft.AspNetCore.Components.netcoreapp.nuspec +++ b/src/Components/Components/src/Microsoft.AspNetCore.Components.netcoreapp.nuspec @@ -9,13 +9,12 @@ - packageIcon.png + $CommonFileElements$ - diff --git a/src/Components/Ignitor/src/BlazorClient.cs b/src/Components/Ignitor/src/BlazorClient.cs index cddc48e094..46637eb3bb 100644 --- a/src/Components/Ignitor/src/BlazorClient.cs +++ b/src/Components/Ignitor/src/BlazorClient.cs @@ -348,7 +348,6 @@ namespace Ignitor }); _hubConnection = builder.Build(); - await HubConnection.StartAsync(CancellationToken); HubConnection.On("JS.AttachComponent", OnAttachComponent); HubConnection.On("JS.BeginInvokeJS", OnBeginInvokeJS); @@ -357,6 +356,8 @@ namespace Ignitor HubConnection.On("JS.Error", OnError); HubConnection.Closed += OnClosedAsync; + await HubConnection.StartAsync(CancellationToken); + if (!connectAutomatically) { return true; diff --git a/src/Components/Web/src/Routing/NavLink.cs b/src/Components/Web/src/Routing/NavLink.cs index 799405f602..5dda2fe014 100644 --- a/src/Components/Web/src/Routing/NavLink.cs +++ b/src/Components/Web/src/Routing/NavLink.cs @@ -130,7 +130,7 @@ namespace Microsoft.AspNetCore.Components.Routing private bool EqualsHrefExactlyOrIfTrailingSlashAdded(string currentUriAbsolute) { - if (string.Equals(currentUriAbsolute, _hrefAbsolute, StringComparison.Ordinal)) + if (string.Equals(currentUriAbsolute, _hrefAbsolute, StringComparison.OrdinalIgnoreCase)) { return true; } @@ -146,7 +146,7 @@ namespace Microsoft.AspNetCore.Components.Routing // for http://host/vdir as they do for host://host/vdir/ as it's no // good to display a blank page in that case. if (_hrefAbsolute[_hrefAbsolute.Length - 1] == '/' - && _hrefAbsolute.StartsWith(currentUriAbsolute, StringComparison.Ordinal)) + && _hrefAbsolute.StartsWith(currentUriAbsolute, StringComparison.OrdinalIgnoreCase)) { return true; } diff --git a/src/Components/test/E2ETest/Microsoft.AspNetCore.Components.E2ETests.csproj b/src/Components/test/E2ETest/Microsoft.AspNetCore.Components.E2ETests.csproj index 5ddf7c9790..78fc48dc82 100644 --- a/src/Components/test/E2ETest/Microsoft.AspNetCore.Components.E2ETests.csproj +++ b/src/Components/test/E2ETest/Microsoft.AspNetCore.Components.E2ETests.csproj @@ -57,4 +57,10 @@ + + + PreserveNewest + + + diff --git a/src/Components/test/E2ETest/ServerExecutionTests/ComponentHubReliabilityTest.cs b/src/Components/test/E2ETest/ServerExecutionTests/ComponentHubReliabilityTest.cs index 707aad52b9..52546042fb 100644 --- a/src/Components/test/E2ETest/ServerExecutionTests/ComponentHubReliabilityTest.cs +++ b/src/Components/test/E2ETest/ServerExecutionTests/ComponentHubReliabilityTest.cs @@ -11,6 +11,7 @@ using Microsoft.AspNetCore.Components.E2ETest.Infrastructure.ServerFixtures; using Microsoft.AspNetCore.Components.RenderTree; using Microsoft.AspNetCore.Components.Web; using Microsoft.AspNetCore.SignalR.Client; +using Microsoft.AspNetCore.Testing; using Microsoft.Extensions.Logging; using TestServer; using Xunit; diff --git a/src/Components/test/E2ETest/ServerExecutionTests/IgnitorTest.cs b/src/Components/test/E2ETest/ServerExecutionTests/IgnitorTest.cs index 60ec73621a..c72eac1ff6 100644 --- a/src/Components/test/E2ETest/ServerExecutionTests/IgnitorTest.cs +++ b/src/Components/test/E2ETest/ServerExecutionTests/IgnitorTest.cs @@ -83,14 +83,14 @@ namespace Microsoft.AspNetCore.Components return Task.CompletedTask; } - protected virtual Task DisposeAsync() + protected async virtual Task DisposeAsync() { if (TestSink != null) { TestSink.MessageLogged -= TestSink_MessageLogged; } - return Task.CompletedTask; + await Client.DisposeAsync(); } private void TestSink_MessageLogged(WriteContext context) diff --git a/src/Components/test/E2ETest/xunit.runner.json b/src/Components/test/E2ETest/xunit.runner.json new file mode 100644 index 0000000000..baa05fb93d --- /dev/null +++ b/src/Components/test/E2ETest/xunit.runner.json @@ -0,0 +1,7 @@ +{ + // This is set to -1 to allow the usage of an + // unlimited ammount of threads. + "maxParallelThreads": -1, + "diagnosticMessages": true, + "longRunningTestSeconds": 30 +} diff --git a/src/Components/test/testassets/BasicTestApp/RouterTest/Links.razor b/src/Components/test/testassets/BasicTestApp/RouterTest/Links.razor index 98f6dd5497..536fa70ad3 100644 --- a/src/Components/test/testassets/BasicTestApp/RouterTest/Links.razor +++ b/src/Components/test/testassets/BasicTestApp/RouterTest/Links.razor @@ -16,7 +16,7 @@
  • Other with base-relative URL (matches all)
  • Other with query
  • Other with hash
  • -
  • With parameters
  • +
  • With parameters
  • With more parameters
  • Long page 1
  • Long page 2
  • diff --git a/src/Installers/Windows/SharedFramework/SharedFramework.wixproj b/src/Installers/Windows/SharedFramework/SharedFramework.wixproj index d9362eab33..4476040486 100644 --- a/src/Installers/Windows/SharedFramework/SharedFramework.wixproj +++ b/src/Installers/Windows/SharedFramework/SharedFramework.wixproj @@ -24,10 +24,6 @@ $(RepoRoot)\src\Installers\Windows\SharedFramework\SharedFrameworkPackage.nuspec
    - - - - $(WixExtDir)\WixDependencyExtension.dll diff --git a/src/Installers/Windows/SharedFramework/SharedFrameworkPackage.nuspec b/src/Installers/Windows/SharedFramework/SharedFrameworkPackage.nuspec index 66e9055af4..29145c1165 100644 --- a/src/Installers/Windows/SharedFramework/SharedFrameworkPackage.nuspec +++ b/src/Installers/Windows/SharedFramework/SharedFrameworkPackage.nuspec @@ -8,7 +8,6 @@ Microsoft https://www.microsoft.com/net/dotnet_library_license.htm https://github.com/aspnet/aspnetcore - packageIcon.png true $MAJOR$.$MINOR$ ASP.NET Core TargetingPack ($ARCH$) Windows Installer MSI as a .nupkg for internal Visual Studio build consumption © Microsoft Corporation. All rights reserved. diff --git a/src/Installers/Windows/TargetingPack/TargetingPack.wixproj b/src/Installers/Windows/TargetingPack/TargetingPack.wixproj index 72c6afc6a0..984035c9d6 100644 --- a/src/Installers/Windows/TargetingPack/TargetingPack.wixproj +++ b/src/Installers/Windows/TargetingPack/TargetingPack.wixproj @@ -23,10 +23,6 @@ $(RepoRoot)\src\Installers\Windows\TargetingPack\TargetingPackPackage.nuspec - - - - $(WixExtDir)\WixDependencyExtension.dll diff --git a/src/Installers/Windows/TargetingPack/TargetingPackPackage.nuspec b/src/Installers/Windows/TargetingPack/TargetingPackPackage.nuspec index 5c85b569ba..0c15816136 100644 --- a/src/Installers/Windows/TargetingPack/TargetingPackPackage.nuspec +++ b/src/Installers/Windows/TargetingPack/TargetingPackPackage.nuspec @@ -8,7 +8,6 @@ Microsoft https://www.microsoft.com/net/dotnet_library_license.htm https://github.com/aspnet/aspnetcore - packageIcon.png true $MAJOR$.$MINOR$ ASP.NET Core TargetingPack ($ARCH$) Windows Installer MSI as a .nupkg for internal Visual Studio build consumption © Microsoft Corporation. All rights reserved. diff --git a/src/Mvc/Mvc.Analyzers/src/Microsoft.AspNetCore.Mvc.Analyzers.csproj b/src/Mvc/Mvc.Analyzers/src/Microsoft.AspNetCore.Mvc.Analyzers.csproj index b098c7cad2..2ece75d8d8 100644 --- a/src/Mvc/Mvc.Analyzers/src/Microsoft.AspNetCore.Mvc.Analyzers.csproj +++ b/src/Mvc/Mvc.Analyzers/src/Microsoft.AspNetCore.Mvc.Analyzers.csproj @@ -19,7 +19,6 @@ - diff --git a/src/Mvc/Mvc.Analyzers/src/Microsoft.AspNetCore.Mvc.Analyzers.nuspec b/src/Mvc/Mvc.Analyzers/src/Microsoft.AspNetCore.Mvc.Analyzers.nuspec index 106615a7da..2cba2a2f13 100644 --- a/src/Mvc/Mvc.Analyzers/src/Microsoft.AspNetCore.Mvc.Analyzers.nuspec +++ b/src/Mvc/Mvc.Analyzers/src/Microsoft.AspNetCore.Mvc.Analyzers.nuspec @@ -2,12 +2,11 @@ $CommonMetadataElements$ - packageIcon.png + $CommonFileElements$ - diff --git a/src/Mvc/Mvc.Api.Analyzers/src/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj b/src/Mvc/Mvc.Api.Analyzers/src/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj index 0ae605cb69..d3a6e138f1 100644 --- a/src/Mvc/Mvc.Api.Analyzers/src/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj +++ b/src/Mvc/Mvc.Api.Analyzers/src/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj @@ -24,7 +24,6 @@ - diff --git a/src/Mvc/Mvc.Api.Analyzers/src/Microsoft.AspNetCore.Mvc.Api.Analyzers.nuspec b/src/Mvc/Mvc.Api.Analyzers/src/Microsoft.AspNetCore.Mvc.Api.Analyzers.nuspec index 106615a7da..2cba2a2f13 100644 --- a/src/Mvc/Mvc.Api.Analyzers/src/Microsoft.AspNetCore.Mvc.Api.Analyzers.nuspec +++ b/src/Mvc/Mvc.Api.Analyzers/src/Microsoft.AspNetCore.Mvc.Api.Analyzers.nuspec @@ -2,12 +2,11 @@ $CommonMetadataElements$ - packageIcon.png + $CommonFileElements$ - diff --git a/src/Mvc/Mvc.Core/src/ChallengeResult.cs b/src/Mvc/Mvc.Core/src/ChallengeResult.cs index a0bcd94b00..c51cbe7700 100644 --- a/src/Mvc/Mvc.Core/src/ChallengeResult.cs +++ b/src/Mvc/Mvc.Core/src/ChallengeResult.cs @@ -11,7 +11,7 @@ using Microsoft.Extensions.Logging; namespace Microsoft.AspNetCore.Mvc { /// - /// An that on execution invokes . + /// An that on execution invokes . /// public class ChallengeResult : ActionResult { diff --git a/src/Mvc/Mvc.Core/src/ForbidResult.cs b/src/Mvc/Mvc.Core/src/ForbidResult.cs index 78e4fc1274..4ae09b2451 100644 --- a/src/Mvc/Mvc.Core/src/ForbidResult.cs +++ b/src/Mvc/Mvc.Core/src/ForbidResult.cs @@ -11,7 +11,7 @@ using Microsoft.Extensions.Logging; namespace Microsoft.AspNetCore.Mvc { /// - /// An that on execution invokes . + /// An that on execution invokes . /// public class ForbidResult : ActionResult { diff --git a/src/Mvc/Mvc.Core/src/SignInResult.cs b/src/Mvc/Mvc.Core/src/SignInResult.cs index 0f0ba36f20..010138ff81 100644 --- a/src/Mvc/Mvc.Core/src/SignInResult.cs +++ b/src/Mvc/Mvc.Core/src/SignInResult.cs @@ -12,7 +12,7 @@ using Microsoft.Extensions.Logging; namespace Microsoft.AspNetCore.Mvc { /// - /// An that on execution invokes . + /// An that on execution invokes . /// public class SignInResult : ActionResult { @@ -35,8 +35,8 @@ namespace Microsoft.AspNetCore.Mvc /// The claims principal containing the user claims. /// used to perform the sign-in operation. public SignInResult(string authenticationScheme, ClaimsPrincipal principal, AuthenticationProperties properties) - { - AuthenticationScheme = authenticationScheme ?? throw new ArgumentNullException(nameof(authenticationScheme)); + { + AuthenticationScheme = authenticationScheme ?? throw new ArgumentNullException(nameof(authenticationScheme)); Principal = principal ?? throw new ArgumentNullException(nameof(principal)); Properties = properties; } diff --git a/src/Mvc/Mvc.Core/src/SignOutResult.cs b/src/Mvc/Mvc.Core/src/SignOutResult.cs index 61a9331bab..47dbfb8ecb 100644 --- a/src/Mvc/Mvc.Core/src/SignOutResult.cs +++ b/src/Mvc/Mvc.Core/src/SignOutResult.cs @@ -12,7 +12,7 @@ using Microsoft.Extensions.Logging; namespace Microsoft.AspNetCore.Mvc { /// - /// An that on execution invokes . + /// An that on execution invokes . /// public class SignOutResult : ActionResult { @@ -62,7 +62,7 @@ namespace Microsoft.AspNetCore.Mvc /// The authentication scheme to use when signing out the user. /// used to perform the sign-out operation. public SignOutResult(IList authenticationSchemes, AuthenticationProperties properties) - { + { AuthenticationSchemes = authenticationSchemes ?? throw new ArgumentNullException(nameof(authenticationSchemes)); Properties = properties; } diff --git a/src/ProjectTemplates/TemplateProjects.props b/src/ProjectTemplates/TemplateProjects.props index fd6dc06fe4..8cfab01c93 100644 --- a/src/ProjectTemplates/TemplateProjects.props +++ b/src/ProjectTemplates/TemplateProjects.props @@ -21,8 +21,4 @@ - - - - diff --git a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/Program.cs b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/Program.cs index 69560b82e0..549d0b8bb8 100644 --- a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/Program.cs +++ b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/Program.cs @@ -2,9 +2,9 @@ using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; -using Microsoft.AspNetCore; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; namespace Company.WebApplication1 @@ -13,11 +13,14 @@ namespace Company.WebApplication1 { public static void Main(string[] args) { - CreateWebHostBuilder(args).Build().Run(); + CreateHostBuilder(args).Build().Run(); } - public static IWebHostBuilder CreateWebHostBuilder(string[] args) => - WebHost.CreateDefaultBuilder(args) - .UseStartup(); + public static IHostBuilder CreateHostBuilder(string[] args) => + Host.CreateDefaultBuilder(args) + .ConfigureWebHostDefaults(webBuilder => + { + webBuilder.UseStartup(); + }); } } diff --git a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/ClientApp/src/components/api-authorization/AuthorizeService.js b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/ClientApp/src/components/api-authorization/AuthorizeService.js index 87cfa82e86..4ca7bfc5c0 100644 --- a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/ClientApp/src/components/api-authorization/AuthorizeService.js +++ b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/ClientApp/src/components/api-authorization/AuthorizeService.js @@ -148,7 +148,7 @@ export class AuthorizeService { throw new Error(`Found an invalid number of subscriptions ${subscriptionIndex.length}`); } - this._callbacks = this._callbacks.splice(subscriptionIndex[0].index, 1); + this._callbacks.splice(subscriptionIndex[0].index, 1); } notifySubscribers() { diff --git a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Program.cs b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Program.cs index 69560b82e0..549d0b8bb8 100644 --- a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Program.cs +++ b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Program.cs @@ -2,9 +2,9 @@ using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; -using Microsoft.AspNetCore; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; namespace Company.WebApplication1 @@ -13,11 +13,14 @@ namespace Company.WebApplication1 { public static void Main(string[] args) { - CreateWebHostBuilder(args).Build().Run(); + CreateHostBuilder(args).Build().Run(); } - public static IWebHostBuilder CreateWebHostBuilder(string[] args) => - WebHost.CreateDefaultBuilder(args) - .UseStartup(); + public static IHostBuilder CreateHostBuilder(string[] args) => + Host.CreateDefaultBuilder(args) + .ConfigureWebHostDefaults(webBuilder => + { + webBuilder.UseStartup(); + }); } } diff --git a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/Program.cs b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/Program.cs index a7108005ed..549d0b8bb8 100644 --- a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/Program.cs +++ b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/Program.cs @@ -1,11 +1,10 @@ using System; using System.Collections.Generic; -using System.IO; using System.Linq; using System.Threading.Tasks; -using Microsoft.AspNetCore; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; namespace Company.WebApplication1 @@ -14,11 +13,14 @@ namespace Company.WebApplication1 { public static void Main(string[] args) { - CreateWebHostBuilder(args).Build().Run(); + CreateHostBuilder(args).Build().Run(); } - public static IWebHostBuilder CreateWebHostBuilder(string[] args) => - WebHost.CreateDefaultBuilder(args) - .UseStartup(); + public static IHostBuilder CreateHostBuilder(string[] args) => + Host.CreateDefaultBuilder(args) + .ConfigureWebHostDefaults(webBuilder => + { + webBuilder.UseStartup(); + }); } } diff --git a/src/ProjectTemplates/templates.nuspec b/src/ProjectTemplates/templates.nuspec index 49a1d320ec..33cb467b12 100644 --- a/src/ProjectTemplates/templates.nuspec +++ b/src/ProjectTemplates/templates.nuspec @@ -5,13 +5,12 @@ - packageIcon.png + $CommonFileElements$ - diff --git a/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionContext.cs b/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionContext.cs index 6d3fe467e9..dac620efa8 100644 --- a/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionContext.cs +++ b/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionContext.cs @@ -253,7 +253,7 @@ namespace Microsoft.AspNetCore.Http.Connections.Internal if (TransportType == HttpTransportType.WebSockets) { - // The websocket transport will close the application output automatically when reading is cancelled + // The websocket transport will close the application output automatically when reading is canceled Cancellation?.Cancel(); } else @@ -443,6 +443,45 @@ namespace Microsoft.AspNetCore.Http.Connections.Internal } } + internal async Task CancelPreviousPoll(HttpContext context) + { + CancellationTokenSource cts; + lock (_stateLock) + { + // Need to sync cts access with DisposeAsync as that will dispose the cts + if (Status == HttpConnectionStatus.Disposed) + { + cts = null; + } + else + { + cts = Cancellation; + Cancellation = null; + } + } + + using (cts) + { + // Cancel the previous request + cts?.Cancel(); + + try + { + // Wait for the previous request to drain + await PreviousPollTask; + } + catch (OperationCanceledException) + { + // Previous poll canceled due to connection closing, close this poll too + context.Response.ContentType = "text/plain"; + context.Response.StatusCode = StatusCodes.Status204NoContent; + return false; + } + + return true; + } + } + public void MarkInactive() { lock (_stateLock) diff --git a/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionDispatcher.cs b/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionDispatcher.cs index 6ed9932839..9da1ea0c18 100644 --- a/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionDispatcher.cs +++ b/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionDispatcher.cs @@ -164,7 +164,7 @@ namespace Microsoft.AspNetCore.Http.Connections.Internal Log.EstablishedConnection(_logger); - // Allow the reads to be cancelled + // Allow the reads to be canceled connection.Cancellation = new CancellationTokenSource(); var ws = new WebSocketsServerTransport(options.WebSockets, connection.Application, connection, _loggerFactory); @@ -189,28 +189,15 @@ namespace Microsoft.AspNetCore.Http.Connections.Internal return; } + if (!await connection.CancelPreviousPoll(context)) + { + // Connection closed. It's already set the response status code. + return; + } + // Create a new Tcs every poll to keep track of the poll finishing, so we can properly wait on previous polls var currentRequestTcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); - using (connection.Cancellation) - { - // Cancel the previous request - connection.Cancellation?.Cancel(); - - try - { - // Wait for the previous request to drain - await connection.PreviousPollTask; - } - catch (OperationCanceledException) - { - // Previous poll canceled due to connection closing, close this poll too - context.Response.ContentType = "text/plain"; - context.Response.StatusCode = StatusCodes.Status204NoContent; - return; - } - } - if (!connection.TryActivateLongPollingConnection( connectionDelegate, context, options.LongPolling.PollTimeout, currentRequestTcs.Task, _loggerFactory, _logger)) diff --git a/src/SignalR/common/Http.Connections/test/HttpConnectionDispatcherTests.cs b/src/SignalR/common/Http.Connections/test/HttpConnectionDispatcherTests.cs index 6e28f47cc6..d543cd4f9a 100644 --- a/src/SignalR/common/Http.Connections/test/HttpConnectionDispatcherTests.cs +++ b/src/SignalR/common/Http.Connections/test/HttpConnectionDispatcherTests.cs @@ -1148,9 +1148,22 @@ namespace Microsoft.AspNetCore.Http.Connections.Tests Assert.True(request1.IsCompleted); request1 = dispatcher.ExecuteAsync(context1, options, app); + var count = 0; + // Wait until the request has started internally + while (connection.TransportTask.IsCompleted && count < 50) + { + count++; + await Task.Delay(15); + } + if (count == 50) + { + Assert.True(false, "Poll took too long to start"); + } + var request2 = dispatcher.ExecuteAsync(context2, options, app); - await request1; + // Wait for poll to be canceled + await request1.OrTimeout(); Assert.Equal(StatusCodes.Status204NoContent, context1.Response.StatusCode); Assert.Equal(HttpConnectionStatus.Active, connection.Status); @@ -1164,7 +1177,6 @@ namespace Microsoft.AspNetCore.Http.Connections.Tests } [Fact] - [Flaky("https://github.com/aspnet/AspNetCore-Internal/issues/2040", "All")] public async Task MultipleRequestsToActiveConnectionId409ForLongPolling() { using (StartVerifiableLog()) diff --git a/src/Tools/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.csproj b/src/Tools/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.csproj index cef31805db..c50a0115fa 100644 --- a/src/Tools/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.csproj +++ b/src/Tools/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.csproj @@ -21,6 +21,5 @@ - diff --git a/src/Tools/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.nuspec b/src/Tools/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.nuspec index ce25cc5f93..09c913fde6 100644 --- a/src/Tools/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.nuspec +++ b/src/Tools/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.nuspec @@ -2,13 +2,12 @@ $CommonMetadataElements$ - packageIcon.png + $CommonFileElements$ - diff --git a/src/Tools/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.csproj b/src/Tools/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.csproj index c4c5f3aa7f..e0d39cff01 100644 --- a/src/Tools/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.csproj +++ b/src/Tools/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.csproj @@ -30,7 +30,6 @@ - diff --git a/src/Tools/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.nuspec b/src/Tools/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.nuspec index 2839a1d0b2..57a21d4cf7 100644 --- a/src/Tools/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.nuspec +++ b/src/Tools/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.nuspec @@ -2,16 +2,15 @@ $CommonMetadataElements$ - packageIcon.png + $CommonFileElements$ -