From a96feda78a3970c440a160c7024ae975b84e7f2c Mon Sep 17 00:00:00 2001
From: Doug Bunting <6431421+dougbu@users.noreply.github.com>
Date: Thu, 23 Sep 2021 09:29:02 -0700
Subject: [PATCH 1/4] Update WiX to signed build (#36865)
- #12078
---
eng/targets/Wix.Common.props | 4 ++--
eng/tools/RepoTasks/RepoTasks.csproj | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/eng/targets/Wix.Common.props b/eng/targets/Wix.Common.props
index 9a29437eb2e5..d6095b8aa1b6 100644
--- a/eng/targets/Wix.Common.props
+++ b/eng/targets/Wix.Common.props
@@ -4,7 +4,7 @@
2.0
3.14
- 3.14.0-dotnet
+ 1.0.0-v3.14.0.4118
@@ -20,7 +20,7 @@
-
+
diff --git a/eng/tools/RepoTasks/RepoTasks.csproj b/eng/tools/RepoTasks/RepoTasks.csproj
index 67e01850f836..7f22280a20c7 100644
--- a/eng/tools/RepoTasks/RepoTasks.csproj
+++ b/eng/tools/RepoTasks/RepoTasks.csproj
@@ -26,7 +26,7 @@
-
+
From 365a9c4173c865d48188d1a4a3b20c212a99ed76 Mon Sep 17 00:00:00 2001
From: Pranav K
Date: Thu, 23 Sep 2021 13:14:47 -0700
Subject: [PATCH 2/4] Always download blazor-hotreload.js from app root
(#36897)
The middleware that we inject always listens to the root of the app. While this might not play very nicely if the app
is running off a virtual path, listening to the root is what we do with the aspnet-browser-refresh.js script and we've had no issue
reports with it thus far.
Fixes https://github.com/dotnet/aspnetcore/issues/35555
---
.../WebAssembly/src/HotReload/WebAssemblyHotReload.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Components/WebAssembly/WebAssembly/src/HotReload/WebAssemblyHotReload.cs b/src/Components/WebAssembly/WebAssembly/src/HotReload/WebAssemblyHotReload.cs
index 271ea4cf638c..3d86b0dbfa1c 100644
--- a/src/Components/WebAssembly/WebAssembly/src/HotReload/WebAssemblyHotReload.cs
+++ b/src/Components/WebAssembly/WebAssembly/src/HotReload/WebAssemblyHotReload.cs
@@ -29,7 +29,7 @@ internal static async Task InitializeAsync()
// Attempt to read previously applied hot reload deltas. dotnet-watch and VS will serve the script that can provide results from local-storage and
// the injected middleware if present.
- var jsObjectReference = (IJSUnmarshalledObjectReference)(await DefaultWebAssemblyJSRuntime.Instance.InvokeAsync("import", "./_framework/blazor-hotreload.js"));
+ var jsObjectReference = (IJSUnmarshalledObjectReference)(await DefaultWebAssemblyJSRuntime.Instance.InvokeAsync("import", "/_framework/blazor-hotreload.js"));
await jsObjectReference.InvokeUnmarshalled>("receiveHotReload");
}
From 007c622fdddc71239fad4c30cf6f86c7c29fa83f Mon Sep 17 00:00:00 2001
From: Safia Abdalla
Date: Thu, 23 Sep 2021 14:00:41 -0700
Subject: [PATCH 3/4] Improve Results.Problem and Results.ValidationProblem
APIs (#36856)
---
.../Http.Results/src/PublicAPI.Unshipped.txt | 7 +--
src/Http/Http.Results/src/Results.cs | 44 ++++++++++++++++---
.../MinimalSample/MinimalSample.csproj | 2 +
src/Http/samples/MinimalSample/Program.cs | 27 +++++++++---
4 files changed, 66 insertions(+), 14 deletions(-)
diff --git a/src/Http/Http.Results/src/PublicAPI.Unshipped.txt b/src/Http/Http.Results/src/PublicAPI.Unshipped.txt
index 96ce109da59d..7eff16008f12 100644
--- a/src/Http/Http.Results/src/PublicAPI.Unshipped.txt
+++ b/src/Http/Http.Results/src/PublicAPI.Unshipped.txt
@@ -20,7 +20,8 @@ static Microsoft.AspNetCore.Http.Results.LocalRedirect(string! localUrl, bool pe
static Microsoft.AspNetCore.Http.Results.NoContent() -> Microsoft.AspNetCore.Http.IResult!
static Microsoft.AspNetCore.Http.Results.NotFound(object? value = null) -> Microsoft.AspNetCore.Http.IResult!
static Microsoft.AspNetCore.Http.Results.Ok(object? value = null) -> Microsoft.AspNetCore.Http.IResult!
-static Microsoft.AspNetCore.Http.Results.Problem(string? detail = null, string? instance = null, int? statusCode = null, string? title = null, string? type = null) -> Microsoft.AspNetCore.Http.IResult!
+static Microsoft.AspNetCore.Http.Results.Problem(string? detail = null, string? instance = null, int? statusCode = null, string? title = null, string? type = null, System.Collections.Generic.IDictionary? extensions = null) -> Microsoft.AspNetCore.Http.IResult!
+static Microsoft.AspNetCore.Http.Results.Problem(Microsoft.AspNetCore.Mvc.ProblemDetails! problemDetails) -> Microsoft.AspNetCore.Http.IResult!
static Microsoft.AspNetCore.Http.Results.Redirect(string! url, bool permanent = false, bool preserveMethod = false) -> Microsoft.AspNetCore.Http.IResult!
static Microsoft.AspNetCore.Http.Results.RedirectToRoute(string? routeName = null, object? routeValues = null, bool permanent = false, bool preserveMethod = false, string? fragment = null) -> Microsoft.AspNetCore.Http.IResult!
static Microsoft.AspNetCore.Http.Results.SignIn(System.Security.Claims.ClaimsPrincipal! principal, Microsoft.AspNetCore.Authentication.AuthenticationProperties? properties = null, string? authenticationScheme = null) -> Microsoft.AspNetCore.Http.IResult!
@@ -30,6 +31,6 @@ static Microsoft.AspNetCore.Http.Results.Stream(System.IO.Stream! stream, string
static Microsoft.AspNetCore.Http.Results.Text(string! content, string? contentType = null, System.Text.Encoding? contentEncoding = null) -> Microsoft.AspNetCore.Http.IResult!
static Microsoft.AspNetCore.Http.Results.Unauthorized() -> Microsoft.AspNetCore.Http.IResult!
static Microsoft.AspNetCore.Http.Results.UnprocessableEntity(object? error = null) -> Microsoft.AspNetCore.Http.IResult!
-static Microsoft.AspNetCore.Http.Results.ValidationProblem(System.Collections.Generic.IDictionary! errors, string? detail = null, string? instance = null, int? statusCode = null, string? title = null, string? type = null) -> Microsoft.AspNetCore.Http.IResult!
+static Microsoft.AspNetCore.Http.Results.ValidationProblem(System.Collections.Generic.IDictionary! errors, string? detail = null, string? instance = null, int? statusCode = null, string? title = null, string? type = null, System.Collections.Generic.IDictionary? extensions = null) -> Microsoft.AspNetCore.Http.IResult!
static Microsoft.AspNetCore.Http.Results.Extensions.get -> Microsoft.AspNetCore.Http.IResultExtensions!
-Microsoft.AspNetCore.Http.IResultExtensions
\ No newline at end of file
+Microsoft.AspNetCore.Http.IResultExtensions
diff --git a/src/Http/Http.Results/src/Results.cs b/src/Http/Http.Results/src/Results.cs
index 15d4937e3a24..aa69b20ea4d9 100644
--- a/src/Http/Http.Results/src/Results.cs
+++ b/src/Http/Http.Results/src/Results.cs
@@ -471,13 +471,15 @@ public static IResult UnprocessableEntity(object? error = null)
/// The value for .
/// The value for .
/// The value for .
+ /// The value for .
/// The created for the response.
public static IResult Problem(
string? detail = null,
string? instance = null,
int? statusCode = null,
string? title = null,
- string? type = null)
+ string? type = null,
+ IDictionary? extensions = null)
{
var problemDetails = new ProblemDetails
{
@@ -485,9 +487,30 @@ public static IResult Problem(
Instance = instance,
Status = statusCode,
Title = title,
- Type = type
+ Type = type,
};
+ if (extensions is not null)
+ {
+ foreach (var extension in extensions)
+ {
+ problemDetails.Extensions.Add(extension);
+ }
+ }
+
+ return new ObjectResult(problemDetails)
+ {
+ ContentType = "application/problem+json",
+ };
+ }
+
+ ///
+ /// Produces a response.
+ ///
+ /// The object to produce a response from.
+ /// The created for the response.
+ public static IResult Problem(ProblemDetails problemDetails)
+ {
return new ObjectResult(problemDetails)
{
ContentType = "application/problem+json",
@@ -502,8 +525,9 @@ public static IResult Problem(
/// The value for .
/// The value for .
/// The status code.
- /// The value for .
+ /// The value for . Defaults to "One or more validation errors occurred."
/// The value for .
+ /// The value for .
/// The created for the response.
public static IResult ValidationProblem(
IDictionary errors,
@@ -511,16 +535,26 @@ public static IResult ValidationProblem(
string? instance = null,
int? statusCode = null,
string? title = null,
- string? type = null)
+ string? type = null,
+ IDictionary? extensions = null)
{
var problemDetails = new HttpValidationProblemDetails(errors)
{
Detail = detail,
Instance = instance,
- Title = title,
Type = type,
Status = statusCode,
};
+
+ problemDetails.Title = title ?? problemDetails.Title;
+
+ if (extensions is not null)
+ {
+ foreach (var extension in extensions)
+ {
+ problemDetails.Extensions.Add(extension);
+ }
+ }
return new ObjectResult(problemDetails)
{
diff --git a/src/Http/samples/MinimalSample/MinimalSample.csproj b/src/Http/samples/MinimalSample/MinimalSample.csproj
index 6b59d1446b9b..eea90b96520b 100644
--- a/src/Http/samples/MinimalSample/MinimalSample.csproj
+++ b/src/Http/samples/MinimalSample/MinimalSample.csproj
@@ -8,6 +8,8 @@
+
+
diff --git a/src/Http/samples/MinimalSample/Program.cs b/src/Http/samples/MinimalSample/Program.cs
index 5441e671a8f9..12b78a782467 100644
--- a/src/Http/samples/MinimalSample/Program.cs
+++ b/src/Http/samples/MinimalSample/Program.cs
@@ -1,9 +1,7 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
-using System;
-using Microsoft.AspNetCore.Builder;
-using Microsoft.Extensions.Hosting;
+using Microsoft.AspNetCore.Mvc;
var app = WebApplication.Create(args);
@@ -13,12 +11,29 @@
}
string Plaintext() => "Hello, World!";
-app.MapGet("/plaintext", (Func)Plaintext);
+app.MapGet("/plaintext", Plaintext);
+
object Json() => new { message = "Hello, World!" };
-app.MapGet("/json", (Func
diff --git a/src/Servers/Kestrel/Kestrel/src/WebHostBuilderKestrelExtensions.cs b/src/Servers/Kestrel/Kestrel/src/WebHostBuilderKestrelExtensions.cs
index 0a008b0fd817..568115cced98 100644
--- a/src/Servers/Kestrel/Kestrel/src/WebHostBuilderKestrelExtensions.cs
+++ b/src/Servers/Kestrel/Kestrel/src/WebHostBuilderKestrelExtensions.cs
@@ -29,7 +29,9 @@ public static class WebHostBuilderKestrelExtensions
///
public static IWebHostBuilder UseKestrel(this IWebHostBuilder hostBuilder)
{
+#pragma warning disable CA2252 // Preview Features
hostBuilder.UseQuic();
+#pragma warning restore CA2252
return hostBuilder.ConfigureServices(services =>
{
// Don't override an already-configured transport
diff --git a/src/Servers/Kestrel/Kestrel/test/Microsoft.AspNetCore.Server.Kestrel.Tests.csproj b/src/Servers/Kestrel/Kestrel/test/Microsoft.AspNetCore.Server.Kestrel.Tests.csproj
index ce2dd9d90cff..1286a684ea95 100644
--- a/src/Servers/Kestrel/Kestrel/test/Microsoft.AspNetCore.Server.Kestrel.Tests.csproj
+++ b/src/Servers/Kestrel/Kestrel/test/Microsoft.AspNetCore.Server.Kestrel.Tests.csproj
@@ -2,6 +2,7 @@
$(DefaultNetCoreTargetFramework)
+ true
diff --git a/src/Servers/Kestrel/Transport.Libuv/test/Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Tests.csproj b/src/Servers/Kestrel/Transport.Libuv/test/Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Tests.csproj
index 433253cee1cd..94eadcf539cd 100644
--- a/src/Servers/Kestrel/Transport.Libuv/test/Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Tests.csproj
+++ b/src/Servers/Kestrel/Transport.Libuv/test/Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Tests.csproj
@@ -7,6 +7,7 @@
true
true
+ true
diff --git a/src/Servers/Kestrel/Transport.Quic/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.csproj b/src/Servers/Kestrel/Transport.Quic/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.csproj
index a1838ce726b8..145612775bf8 100644
--- a/src/Servers/Kestrel/Transport.Quic/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.csproj
+++ b/src/Servers/Kestrel/Transport.Quic/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.csproj
@@ -7,9 +7,10 @@
true
aspnetcore;kestrel
true
- CA1416;CS1591;CS0436;$(NoWarn)
+ CA1416;CS1591;CS0436;$(NoWarn)
false
enable
+ True
diff --git a/src/Servers/Kestrel/Transport.Quic/test/Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.Tests.csproj b/src/Servers/Kestrel/Transport.Quic/test/Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.Tests.csproj
index ca4fbc0ea84d..c0aca2c1111f 100644
--- a/src/Servers/Kestrel/Transport.Quic/test/Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.Tests.csproj
+++ b/src/Servers/Kestrel/Transport.Quic/test/Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.Tests.csproj
@@ -4,6 +4,7 @@
$(DefaultNetCoreTargetFramework)
true
true
+ true
diff --git a/src/Servers/Kestrel/perf/Microbenchmarks/Microsoft.AspNetCore.Server.Kestrel.Microbenchmarks.csproj b/src/Servers/Kestrel/perf/Microbenchmarks/Microsoft.AspNetCore.Server.Kestrel.Microbenchmarks.csproj
index f7bfa926cc67..1f946d12ff04 100644
--- a/src/Servers/Kestrel/perf/Microbenchmarks/Microsoft.AspNetCore.Server.Kestrel.Microbenchmarks.csproj
+++ b/src/Servers/Kestrel/perf/Microbenchmarks/Microsoft.AspNetCore.Server.Kestrel.Microbenchmarks.csproj
@@ -6,6 +6,7 @@
true
true
false
+ true
diff --git a/src/Servers/Kestrel/test/InMemory.FunctionalTests/InMemory.FunctionalTests.csproj b/src/Servers/Kestrel/test/InMemory.FunctionalTests/InMemory.FunctionalTests.csproj
index da4ffb2ae380..dfb01f84c5d8 100644
--- a/src/Servers/Kestrel/test/InMemory.FunctionalTests/InMemory.FunctionalTests.csproj
+++ b/src/Servers/Kestrel/test/InMemory.FunctionalTests/InMemory.FunctionalTests.csproj
@@ -6,6 +6,7 @@
InMemory.FunctionalTests
true
$(DefineConstants);IS_FUNCTIONAL_TESTS
+ true
diff --git a/src/Servers/Kestrel/test/Interop.FunctionalTests/Interop.FunctionalTests.csproj b/src/Servers/Kestrel/test/Interop.FunctionalTests/Interop.FunctionalTests.csproj
index d904a168c6eb..a8da39e1dd98 100644
--- a/src/Servers/Kestrel/test/Interop.FunctionalTests/Interop.FunctionalTests.csproj
+++ b/src/Servers/Kestrel/test/Interop.FunctionalTests/Interop.FunctionalTests.csproj
@@ -8,6 +8,7 @@
false
true
true
+ true
diff --git a/src/Servers/Kestrel/test/Libuv.BindTests/Libuv.BindTests.csproj b/src/Servers/Kestrel/test/Libuv.BindTests/Libuv.BindTests.csproj
index 8874b5616433..b9597587bbfb 100644
--- a/src/Servers/Kestrel/test/Libuv.BindTests/Libuv.BindTests.csproj
+++ b/src/Servers/Kestrel/test/Libuv.BindTests/Libuv.BindTests.csproj
@@ -6,6 +6,7 @@
Libuv.BindTests
Windows.10.Arm64;Windows.10.Arm64.Open;Windows.10.Arm64v8;Windows.10.Arm64v8.Open
+ true
diff --git a/src/Servers/Kestrel/test/Libuv.FunctionalTests/Libuv.FunctionalTests.csproj b/src/Servers/Kestrel/test/Libuv.FunctionalTests/Libuv.FunctionalTests.csproj
index 428143af300d..f252a148f244 100644
--- a/src/Servers/Kestrel/test/Libuv.FunctionalTests/Libuv.FunctionalTests.csproj
+++ b/src/Servers/Kestrel/test/Libuv.FunctionalTests/Libuv.FunctionalTests.csproj
@@ -9,6 +9,7 @@
Libuv.FunctionalTests
Windows.10.Arm64;Windows.10.Arm64.Open;Windows.10.Arm64v8;Windows.10.Arm64v8.Open
+ true
diff --git a/src/Servers/Kestrel/test/Sockets.BindTests/Sockets.BindTests.csproj b/src/Servers/Kestrel/test/Sockets.BindTests/Sockets.BindTests.csproj
index 0f7576c452d9..2a79d6e43158 100644
--- a/src/Servers/Kestrel/test/Sockets.BindTests/Sockets.BindTests.csproj
+++ b/src/Servers/Kestrel/test/Sockets.BindTests/Sockets.BindTests.csproj
@@ -4,6 +4,7 @@
$(DefaultNetCoreTargetFramework)
true
Sockets.BindTests
+ true
diff --git a/src/Servers/Kestrel/test/Sockets.FunctionalTests/Sockets.FunctionalTests.csproj b/src/Servers/Kestrel/test/Sockets.FunctionalTests/Sockets.FunctionalTests.csproj
index d42ac6b661f8..f64638d9806f 100644
--- a/src/Servers/Kestrel/test/Sockets.FunctionalTests/Sockets.FunctionalTests.csproj
+++ b/src/Servers/Kestrel/test/Sockets.FunctionalTests/Sockets.FunctionalTests.csproj
@@ -6,6 +6,7 @@
$(DefineConstants);SOCKETS
true
Sockets.FunctionalTests
+ true