diff --git a/.github/workflows/runtime-sync.yml b/.github/workflows/runtime-sync.yml
index 41044d30ee..03e7e8f9d6 100644
--- a/.github/workflows/runtime-sync.yml
+++ b/.github/workflows/runtime-sync.yml
@@ -28,7 +28,7 @@ jobs:
# Test this script using changes in a fork
repository: 'dotnet/runtime'
path: runtime
- ref: release/5.0-rc1
+ ref: release/5.0
- name: Copy
shell: cmd
working-directory: .\runtime\src\libraries\Common\src\System\Net\Http\aspnetcore\
diff --git a/AspNetCore.sln b/AspNetCore.sln
index f0f0fe4031..968ff850f8 100644
--- a/AspNetCore.sln
+++ b/AspNetCore.sln
@@ -1397,14 +1397,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sockets.BindTests", "src\Se
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "http2cat", "src\Servers\Kestrel\samples\http2cat\http2cat.csproj", "{8BDEC645-73BD-453B-8A5C-D616BC4EA08D}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "QuicSampleApp", "src\Servers\Kestrel\samples\QuicSampleApp\QuicSampleApp.csproj", "{CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Transport.Quic", "Transport.Quic", "{EE9D0952-6060-4723-B329-94A2950A6762}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel.Transport.Experimental.Quic", "src\Servers\Kestrel\Transport.Quic\src\Microsoft.AspNetCore.Server.Kestrel.Transport.Experimental.Quic.csproj", "{132D43A2-067A-4E24-A520-45B9F14DCB8E}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "QuicSampleClient", "src\Servers\Kestrel\samples\QuicSampleClient\QuicSampleClient.csproj", "{FA8D7CA4-C33B-4409-865F-54192BAC59A4}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Http3SampleApp", "src\Servers\Kestrel\samples\Http3SampleApp\Http3SampleApp.csproj", "{2EC4E939-513F-44CD-A956-498966EAC929}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HttpStress", "src\Servers\Kestrel\stress\HttpStress.csproj", "{987E1C29-F124-40C8-8E6F-1B2B6A4CB62A}"
@@ -1423,13 +1419,13 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Compon
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Sdk", "Sdk", "{FED4267E-E5E4-49C5-98DB-8B3F203596EE}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.NET.Sdk.BlazorWebAssembly", "src\Components\WebAssembly\Sdk\src\Microsoft.NET.Sdk.BlazorWebAssembly.csproj", "{6B2734BF-C61D-4889-ABBF-456A4075D59B}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.NET.Sdk.BlazorWebAssembly", "src\Components\WebAssembly\Sdk\src\Microsoft.NET.Sdk.BlazorWebAssembly.csproj", "{6B2734BF-C61D-4889-ABBF-456A4075D59B}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.NET.Sdk.BlazorWebAssembly.Tests", "src\Components\WebAssembly\Sdk\test\Microsoft.NET.Sdk.BlazorWebAssembly.Tests.csproj", "{83371889-9A3E-4D16-AE77-EB4F83BC6374}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.NET.Sdk.BlazorWebAssembly.Tests", "src\Components\WebAssembly\Sdk\test\Microsoft.NET.Sdk.BlazorWebAssembly.Tests.csproj", "{83371889-9A3E-4D16-AE77-EB4F83BC6374}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.NET.Sdk.BlazorWebAssembly.IntegrationTests", "src\Components\WebAssembly\Sdk\integrationtests\Microsoft.NET.Sdk.BlazorWebAssembly.IntegrationTests.csproj", "{525EBCB4-A870-470B-BC90-845306C337D1}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.NET.Sdk.BlazorWebAssembly.IntegrationTests", "src\Components\WebAssembly\Sdk\integrationtests\Microsoft.NET.Sdk.BlazorWebAssembly.IntegrationTests.csproj", "{525EBCB4-A870-470B-BC90-845306C337D1}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.NET.Sdk.BlazorWebAssembly.Tools", "src\Components\WebAssembly\Sdk\tools\Microsoft.NET.Sdk.BlazorWebAssembly.Tools.csproj", "{175E5CD8-92D4-46BB-882E-3A930D3302D4}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.NET.Sdk.BlazorWebAssembly.Tools", "src\Components\WebAssembly\Sdk\tools\Microsoft.NET.Sdk.BlazorWebAssembly.Tools.csproj", "{175E5CD8-92D4-46BB-882E-3A930D3302D4}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "testassets", "testassets", "{6126DCE4-9692-4EE2-B240-C65743572995}"
EndProject
@@ -1455,7 +1451,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "InteropClient", "src\Grpc\t
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "InteropWebsite", "src\Grpc\test\testassets\InteropWebsite\InteropWebsite.csproj", "{19189670-E206-471D-94F8-7D3D545E5020}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wasm.Performance.ConsoleHost", "src\Components\benchmarkapps\Wasm.Performance\ConsoleHost\Wasm.Performance.ConsoleHost.csproj", "{E9408723-E6A9-4715-B906-3B25B0238ABA}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wasm.Performance.ConsoleHost", "src\Components\benchmarkapps\Wasm.Performance\ConsoleHost\Wasm.Performance.ConsoleHost.csproj", "{E9408723-E6A9-4715-B906-3B25B0238ABA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "InProcessWebSite", "src\Servers\IIS\IIS\test\testassets\InProcessWebSite\InProcessWebSite.csproj", "{8DA61885-B95E-4BA1-A752-C79B6597FC44}"
EndProject
@@ -1483,6 +1479,36 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Watch.
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Watch.BrowserRefresh.Tests", "src\Tools\dotnet-watch\BrowserRefresh\test\Microsoft.AspNetCore.Watch.BrowserRefresh.Tests.csproj", "{E6A23627-8D63-4DF1-A4F2-8881172C1FE6}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "testassets", "testassets", "{7D2B0799-A634-42AC-AE77-5D167BA51389}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HostedInAspNet.Client", "src\Components\WebAssembly\testassets\HostedInAspNet.Client\HostedInAspNet.Client.csproj", "{9788C76F-658B-4441-88F8-22C6B86FAD27}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HostedInAspNet.Server", "src\Components\WebAssembly\testassets\HostedInAspNet.Server\HostedInAspNet.Server.csproj", "{1970D5CD-D9A4-4673-A297-179BB04199F4}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StandaloneApp", "src\Components\WebAssembly\testassets\StandaloneApp\StandaloneApp.csproj", "{A40350FE-4334-4007-B1C3-6BEB1B070309}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wasm.Authentication.Client", "src\Components\WebAssembly\testassets\Wasm.Authentication.Client\Wasm.Authentication.Client.csproj", "{C26965A9-EAC6-4E5A-B8C1-D161260EFE4F}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wasm.Authentication.Server", "src\Components\WebAssembly\testassets\Wasm.Authentication.Server\Wasm.Authentication.Server.csproj", "{FE5290C7-45DA-46F8-BD74-698E7A161DD6}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wasm.Authentication.Shared", "src\Components\WebAssembly\testassets\Wasm.Authentication.Shared\Wasm.Authentication.Shared.csproj", "{ED66DC0E-FD6A-477A-BA8A-5273AA64F580}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "HealthChecks", "HealthChecks", "{C1E7F837-6988-43E2-9E1C-7302DB484F99}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{2A91479A-4ABE-4BB7-9A5E-CA3B9CCFC69E}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{7CB09412-C9B0-47E8-A8C3-311AA4CFDE04}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Abstractions", "Abstractions", "{22D7D74B-565D-4047-97B4-F149B1A13350}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions", "src\HealthChecks\Abstractions\src\Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.csproj", "{B06040BC-DA28-4923-8CAC-20EB517D471B}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.Diagnostics.HealthChecks", "src\HealthChecks\HealthChecks\src\Microsoft.Extensions.Diagnostics.HealthChecks.csproj", "{55CACC1F-FE96-47C8-8073-91F4CAA55C75}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.Diagnostics.HealthChecks.Tests", "src\HealthChecks\HealthChecks\test\Microsoft.Extensions.Diagnostics.HealthChecks.Tests.csproj", "{7509AA1E-3093-4BEE-984F-E11579E98A11}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.JSInterop.Tests", "src\JSInterop\Microsoft.JSInterop\test\Microsoft.JSInterop.Tests.csproj", "{DAAB6B35-CBD2-4573-B633-CDD42F583A0E}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -6653,18 +6679,6 @@ Global
{8BDEC645-73BD-453B-8A5C-D616BC4EA08D}.Release|x64.Build.0 = Release|Any CPU
{8BDEC645-73BD-453B-8A5C-D616BC4EA08D}.Release|x86.ActiveCfg = Release|Any CPU
{8BDEC645-73BD-453B-8A5C-D616BC4EA08D}.Release|x86.Build.0 = Release|Any CPU
- {CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Debug|x64.ActiveCfg = Debug|Any CPU
- {CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Debug|x64.Build.0 = Debug|Any CPU
- {CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Debug|x86.ActiveCfg = Debug|Any CPU
- {CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Debug|x86.Build.0 = Debug|Any CPU
- {CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Release|Any CPU.Build.0 = Release|Any CPU
- {CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Release|x64.ActiveCfg = Release|Any CPU
- {CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Release|x64.Build.0 = Release|Any CPU
- {CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Release|x86.ActiveCfg = Release|Any CPU
- {CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Release|x86.Build.0 = Release|Any CPU
{132D43A2-067A-4E24-A520-45B9F14DCB8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{132D43A2-067A-4E24-A520-45B9F14DCB8E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{132D43A2-067A-4E24-A520-45B9F14DCB8E}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -6677,18 +6691,6 @@ Global
{132D43A2-067A-4E24-A520-45B9F14DCB8E}.Release|x64.Build.0 = Release|Any CPU
{132D43A2-067A-4E24-A520-45B9F14DCB8E}.Release|x86.ActiveCfg = Release|Any CPU
{132D43A2-067A-4E24-A520-45B9F14DCB8E}.Release|x86.Build.0 = Release|Any CPU
- {FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Debug|x64.ActiveCfg = Debug|Any CPU
- {FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Debug|x64.Build.0 = Debug|Any CPU
- {FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Debug|x86.ActiveCfg = Debug|Any CPU
- {FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Debug|x86.Build.0 = Debug|Any CPU
- {FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Release|Any CPU.Build.0 = Release|Any CPU
- {FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Release|x64.ActiveCfg = Release|Any CPU
- {FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Release|x64.Build.0 = Release|Any CPU
- {FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Release|x86.ActiveCfg = Release|Any CPU
- {FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Release|x86.Build.0 = Release|Any CPU
{2EC4E939-513F-44CD-A956-498966EAC929}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2EC4E939-513F-44CD-A956-498966EAC929}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2EC4E939-513F-44CD-A956-498966EAC929}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -6809,30 +6811,6 @@ Global
{175E5CD8-92D4-46BB-882E-3A930D3302D4}.Release|x64.Build.0 = Release|Any CPU
{175E5CD8-92D4-46BB-882E-3A930D3302D4}.Release|x86.ActiveCfg = Release|Any CPU
{175E5CD8-92D4-46BB-882E-3A930D3302D4}.Release|x86.Build.0 = Release|Any CPU
- {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Debug|x64.ActiveCfg = Debug|Any CPU
- {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Debug|x64.Build.0 = Debug|Any CPU
- {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Debug|x86.ActiveCfg = Debug|Any CPU
- {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Debug|x86.Build.0 = Debug|Any CPU
- {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Release|Any CPU.Build.0 = Release|Any CPU
- {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Release|x64.ActiveCfg = Release|Any CPU
- {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Release|x64.Build.0 = Release|Any CPU
- {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Release|x86.ActiveCfg = Release|Any CPU
- {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Release|x86.Build.0 = Release|Any CPU
- {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Debug|x64.ActiveCfg = Debug|Any CPU
- {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Debug|x64.Build.0 = Debug|Any CPU
- {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Debug|x86.ActiveCfg = Debug|Any CPU
- {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Debug|x86.Build.0 = Debug|Any CPU
- {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Release|Any CPU.Build.0 = Release|Any CPU
- {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Release|x64.ActiveCfg = Release|Any CPU
- {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Release|x64.Build.0 = Release|Any CPU
- {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Release|x86.ActiveCfg = Release|Any CPU
- {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Release|x86.Build.0 = Release|Any CPU
{46FB7E93-1294-4068-B80A-D4864F78277A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{46FB7E93-1294-4068-B80A-D4864F78277A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{46FB7E93-1294-4068-B80A-D4864F78277A}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -7071,6 +7049,150 @@ Global
{7E268085-1046-4362-80CB-2977FF826DCA}.Release|x64.Build.0 = Release|Any CPU
{7E268085-1046-4362-80CB-2977FF826DCA}.Release|x86.ActiveCfg = Release|Any CPU
{7E268085-1046-4362-80CB-2977FF826DCA}.Release|x86.Build.0 = Release|Any CPU
+ {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Debug|x64.Build.0 = Debug|Any CPU
+ {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Debug|x86.Build.0 = Debug|Any CPU
+ {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Release|x64.ActiveCfg = Release|Any CPU
+ {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Release|x64.Build.0 = Release|Any CPU
+ {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Release|x86.ActiveCfg = Release|Any CPU
+ {A5CE25E9-89E1-4F2C-9B89-0C161707E700}.Release|x86.Build.0 = Release|Any CPU
+ {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Debug|x64.Build.0 = Debug|Any CPU
+ {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Debug|x86.Build.0 = Debug|Any CPU
+ {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Release|x64.ActiveCfg = Release|Any CPU
+ {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Release|x64.Build.0 = Release|Any CPU
+ {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Release|x86.ActiveCfg = Release|Any CPU
+ {E6A23627-8D63-4DF1-A4F2-8881172C1FE6}.Release|x86.Build.0 = Release|Any CPU
+ {9788C76F-658B-4441-88F8-22C6B86FAD27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9788C76F-658B-4441-88F8-22C6B86FAD27}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9788C76F-658B-4441-88F8-22C6B86FAD27}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {9788C76F-658B-4441-88F8-22C6B86FAD27}.Debug|x64.Build.0 = Debug|Any CPU
+ {9788C76F-658B-4441-88F8-22C6B86FAD27}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {9788C76F-658B-4441-88F8-22C6B86FAD27}.Debug|x86.Build.0 = Debug|Any CPU
+ {9788C76F-658B-4441-88F8-22C6B86FAD27}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9788C76F-658B-4441-88F8-22C6B86FAD27}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9788C76F-658B-4441-88F8-22C6B86FAD27}.Release|x64.ActiveCfg = Release|Any CPU
+ {9788C76F-658B-4441-88F8-22C6B86FAD27}.Release|x64.Build.0 = Release|Any CPU
+ {9788C76F-658B-4441-88F8-22C6B86FAD27}.Release|x86.ActiveCfg = Release|Any CPU
+ {9788C76F-658B-4441-88F8-22C6B86FAD27}.Release|x86.Build.0 = Release|Any CPU
+ {1970D5CD-D9A4-4673-A297-179BB04199F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1970D5CD-D9A4-4673-A297-179BB04199F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1970D5CD-D9A4-4673-A297-179BB04199F4}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {1970D5CD-D9A4-4673-A297-179BB04199F4}.Debug|x64.Build.0 = Debug|Any CPU
+ {1970D5CD-D9A4-4673-A297-179BB04199F4}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {1970D5CD-D9A4-4673-A297-179BB04199F4}.Debug|x86.Build.0 = Debug|Any CPU
+ {1970D5CD-D9A4-4673-A297-179BB04199F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1970D5CD-D9A4-4673-A297-179BB04199F4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1970D5CD-D9A4-4673-A297-179BB04199F4}.Release|x64.ActiveCfg = Release|Any CPU
+ {1970D5CD-D9A4-4673-A297-179BB04199F4}.Release|x64.Build.0 = Release|Any CPU
+ {1970D5CD-D9A4-4673-A297-179BB04199F4}.Release|x86.ActiveCfg = Release|Any CPU
+ {1970D5CD-D9A4-4673-A297-179BB04199F4}.Release|x86.Build.0 = Release|Any CPU
+ {A40350FE-4334-4007-B1C3-6BEB1B070309}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A40350FE-4334-4007-B1C3-6BEB1B070309}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A40350FE-4334-4007-B1C3-6BEB1B070309}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {A40350FE-4334-4007-B1C3-6BEB1B070309}.Debug|x64.Build.0 = Debug|Any CPU
+ {A40350FE-4334-4007-B1C3-6BEB1B070309}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {A40350FE-4334-4007-B1C3-6BEB1B070309}.Debug|x86.Build.0 = Debug|Any CPU
+ {A40350FE-4334-4007-B1C3-6BEB1B070309}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A40350FE-4334-4007-B1C3-6BEB1B070309}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A40350FE-4334-4007-B1C3-6BEB1B070309}.Release|x64.ActiveCfg = Release|Any CPU
+ {A40350FE-4334-4007-B1C3-6BEB1B070309}.Release|x64.Build.0 = Release|Any CPU
+ {A40350FE-4334-4007-B1C3-6BEB1B070309}.Release|x86.ActiveCfg = Release|Any CPU
+ {A40350FE-4334-4007-B1C3-6BEB1B070309}.Release|x86.Build.0 = Release|Any CPU
+ {C26965A9-EAC6-4E5A-B8C1-D161260EFE4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C26965A9-EAC6-4E5A-B8C1-D161260EFE4F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C26965A9-EAC6-4E5A-B8C1-D161260EFE4F}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {C26965A9-EAC6-4E5A-B8C1-D161260EFE4F}.Debug|x64.Build.0 = Debug|Any CPU
+ {C26965A9-EAC6-4E5A-B8C1-D161260EFE4F}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {C26965A9-EAC6-4E5A-B8C1-D161260EFE4F}.Debug|x86.Build.0 = Debug|Any CPU
+ {C26965A9-EAC6-4E5A-B8C1-D161260EFE4F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C26965A9-EAC6-4E5A-B8C1-D161260EFE4F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C26965A9-EAC6-4E5A-B8C1-D161260EFE4F}.Release|x64.ActiveCfg = Release|Any CPU
+ {C26965A9-EAC6-4E5A-B8C1-D161260EFE4F}.Release|x64.Build.0 = Release|Any CPU
+ {C26965A9-EAC6-4E5A-B8C1-D161260EFE4F}.Release|x86.ActiveCfg = Release|Any CPU
+ {C26965A9-EAC6-4E5A-B8C1-D161260EFE4F}.Release|x86.Build.0 = Release|Any CPU
+ {FE5290C7-45DA-46F8-BD74-698E7A161DD6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FE5290C7-45DA-46F8-BD74-698E7A161DD6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FE5290C7-45DA-46F8-BD74-698E7A161DD6}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {FE5290C7-45DA-46F8-BD74-698E7A161DD6}.Debug|x64.Build.0 = Debug|Any CPU
+ {FE5290C7-45DA-46F8-BD74-698E7A161DD6}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {FE5290C7-45DA-46F8-BD74-698E7A161DD6}.Debug|x86.Build.0 = Debug|Any CPU
+ {FE5290C7-45DA-46F8-BD74-698E7A161DD6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FE5290C7-45DA-46F8-BD74-698E7A161DD6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FE5290C7-45DA-46F8-BD74-698E7A161DD6}.Release|x64.ActiveCfg = Release|Any CPU
+ {FE5290C7-45DA-46F8-BD74-698E7A161DD6}.Release|x64.Build.0 = Release|Any CPU
+ {FE5290C7-45DA-46F8-BD74-698E7A161DD6}.Release|x86.ActiveCfg = Release|Any CPU
+ {FE5290C7-45DA-46F8-BD74-698E7A161DD6}.Release|x86.Build.0 = Release|Any CPU
+ {ED66DC0E-FD6A-477A-BA8A-5273AA64F580}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {ED66DC0E-FD6A-477A-BA8A-5273AA64F580}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {ED66DC0E-FD6A-477A-BA8A-5273AA64F580}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {ED66DC0E-FD6A-477A-BA8A-5273AA64F580}.Debug|x64.Build.0 = Debug|Any CPU
+ {ED66DC0E-FD6A-477A-BA8A-5273AA64F580}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {ED66DC0E-FD6A-477A-BA8A-5273AA64F580}.Debug|x86.Build.0 = Debug|Any CPU
+ {ED66DC0E-FD6A-477A-BA8A-5273AA64F580}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {ED66DC0E-FD6A-477A-BA8A-5273AA64F580}.Release|Any CPU.Build.0 = Release|Any CPU
+ {ED66DC0E-FD6A-477A-BA8A-5273AA64F580}.Release|x64.ActiveCfg = Release|Any CPU
+ {ED66DC0E-FD6A-477A-BA8A-5273AA64F580}.Release|x64.Build.0 = Release|Any CPU
+ {ED66DC0E-FD6A-477A-BA8A-5273AA64F580}.Release|x86.ActiveCfg = Release|Any CPU
+ {ED66DC0E-FD6A-477A-BA8A-5273AA64F580}.Release|x86.Build.0 = Release|Any CPU
+ {B06040BC-DA28-4923-8CAC-20EB517D471B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B06040BC-DA28-4923-8CAC-20EB517D471B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B06040BC-DA28-4923-8CAC-20EB517D471B}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {B06040BC-DA28-4923-8CAC-20EB517D471B}.Debug|x64.Build.0 = Debug|Any CPU
+ {B06040BC-DA28-4923-8CAC-20EB517D471B}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {B06040BC-DA28-4923-8CAC-20EB517D471B}.Debug|x86.Build.0 = Debug|Any CPU
+ {B06040BC-DA28-4923-8CAC-20EB517D471B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B06040BC-DA28-4923-8CAC-20EB517D471B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B06040BC-DA28-4923-8CAC-20EB517D471B}.Release|x64.ActiveCfg = Release|Any CPU
+ {B06040BC-DA28-4923-8CAC-20EB517D471B}.Release|x64.Build.0 = Release|Any CPU
+ {B06040BC-DA28-4923-8CAC-20EB517D471B}.Release|x86.ActiveCfg = Release|Any CPU
+ {B06040BC-DA28-4923-8CAC-20EB517D471B}.Release|x86.Build.0 = Release|Any CPU
+ {55CACC1F-FE96-47C8-8073-91F4CAA55C75}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {55CACC1F-FE96-47C8-8073-91F4CAA55C75}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {55CACC1F-FE96-47C8-8073-91F4CAA55C75}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {55CACC1F-FE96-47C8-8073-91F4CAA55C75}.Debug|x64.Build.0 = Debug|Any CPU
+ {55CACC1F-FE96-47C8-8073-91F4CAA55C75}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {55CACC1F-FE96-47C8-8073-91F4CAA55C75}.Debug|x86.Build.0 = Debug|Any CPU
+ {55CACC1F-FE96-47C8-8073-91F4CAA55C75}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {55CACC1F-FE96-47C8-8073-91F4CAA55C75}.Release|Any CPU.Build.0 = Release|Any CPU
+ {55CACC1F-FE96-47C8-8073-91F4CAA55C75}.Release|x64.ActiveCfg = Release|Any CPU
+ {55CACC1F-FE96-47C8-8073-91F4CAA55C75}.Release|x64.Build.0 = Release|Any CPU
+ {55CACC1F-FE96-47C8-8073-91F4CAA55C75}.Release|x86.ActiveCfg = Release|Any CPU
+ {55CACC1F-FE96-47C8-8073-91F4CAA55C75}.Release|x86.Build.0 = Release|Any CPU
+ {7509AA1E-3093-4BEE-984F-E11579E98A11}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7509AA1E-3093-4BEE-984F-E11579E98A11}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7509AA1E-3093-4BEE-984F-E11579E98A11}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {7509AA1E-3093-4BEE-984F-E11579E98A11}.Debug|x64.Build.0 = Debug|Any CPU
+ {7509AA1E-3093-4BEE-984F-E11579E98A11}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {7509AA1E-3093-4BEE-984F-E11579E98A11}.Debug|x86.Build.0 = Debug|Any CPU
+ {7509AA1E-3093-4BEE-984F-E11579E98A11}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7509AA1E-3093-4BEE-984F-E11579E98A11}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7509AA1E-3093-4BEE-984F-E11579E98A11}.Release|x64.ActiveCfg = Release|Any CPU
+ {7509AA1E-3093-4BEE-984F-E11579E98A11}.Release|x64.Build.0 = Release|Any CPU
+ {7509AA1E-3093-4BEE-984F-E11579E98A11}.Release|x86.ActiveCfg = Release|Any CPU
+ {7509AA1E-3093-4BEE-984F-E11579E98A11}.Release|x86.Build.0 = Release|Any CPU
+ {DAAB6B35-CBD2-4573-B633-CDD42F583A0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DAAB6B35-CBD2-4573-B633-CDD42F583A0E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DAAB6B35-CBD2-4573-B633-CDD42F583A0E}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {DAAB6B35-CBD2-4573-B633-CDD42F583A0E}.Debug|x64.Build.0 = Debug|Any CPU
+ {DAAB6B35-CBD2-4573-B633-CDD42F583A0E}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {DAAB6B35-CBD2-4573-B633-CDD42F583A0E}.Debug|x86.Build.0 = Debug|Any CPU
+ {DAAB6B35-CBD2-4573-B633-CDD42F583A0E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DAAB6B35-CBD2-4573-B633-CDD42F583A0E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DAAB6B35-CBD2-4573-B633-CDD42F583A0E}.Release|x64.ActiveCfg = Release|Any CPU
+ {DAAB6B35-CBD2-4573-B633-CDD42F583A0E}.Release|x64.Build.0 = Release|Any CPU
+ {DAAB6B35-CBD2-4573-B633-CDD42F583A0E}.Release|x86.ActiveCfg = Release|Any CPU
+ {DAAB6B35-CBD2-4573-B633-CDD42F583A0E}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -7771,10 +7893,8 @@ Global
{8550A02D-BA13-411A-AAD3-6124D33D669F} = {47EF1A9F-89DB-4EBA-9BC1-1D4E0E12DE44}
{EDE77D0C-321A-49FD-95D7-56ED41242A93} = {47EF1A9F-89DB-4EBA-9BC1-1D4E0E12DE44}
{8BDEC645-73BD-453B-8A5C-D616BC4EA08D} = {7B976D8F-EA31-4C0B-97BD-DFD9B3CC86FB}
- {CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D} = {7B976D8F-EA31-4C0B-97BD-DFD9B3CC86FB}
{EE9D0952-6060-4723-B329-94A2950A6762} = {4FDDC525-4E60-4CAF-83A3-261C5B43721F}
{132D43A2-067A-4E24-A520-45B9F14DCB8E} = {EE9D0952-6060-4723-B329-94A2950A6762}
- {FA8D7CA4-C33B-4409-865F-54192BAC59A4} = {7B976D8F-EA31-4C0B-97BD-DFD9B3CC86FB}
{2EC4E939-513F-44CD-A956-498966EAC929} = {7B976D8F-EA31-4C0B-97BD-DFD9B3CC86FB}
{987E1C29-F124-40C8-8E6F-1B2B6A4CB62A} = {4FDDC525-4E60-4CAF-83A3-261C5B43721F}
{3CBC4802-E9B8-48B7-BC8C-B0AFB9EEC643} = {0ACCEDA7-339C-4B4D-8DD4-1AC271F31C04}
@@ -7788,8 +7908,6 @@ Global
{83371889-9A3E-4D16-AE77-EB4F83BC6374} = {FED4267E-E5E4-49C5-98DB-8B3F203596EE}
{525EBCB4-A870-470B-BC90-845306C337D1} = {FED4267E-E5E4-49C5-98DB-8B3F203596EE}
{175E5CD8-92D4-46BB-882E-3A930D3302D4} = {FED4267E-E5E4-49C5-98DB-8B3F203596EE}
- {A5CE25E9-89E1-4F2C-9B89-0C161707E700} = {B6118E15-C37A-4B05-B4DF-97FE99790417}
- {E6A23627-8D63-4DF1-A4F2-8881172C1FE6} = {B6118E15-C37A-4B05-B4DF-97FE99790417}
{6126DCE4-9692-4EE2-B240-C65743572995} = {0508E463-0269-40C9-B5C2-3B600FB2A28B}
{46FB7E93-1294-4068-B80A-D4864F78277A} = {6126DCE4-9692-4EE2-B240-C65743572995}
{25FA84DB-EEA7-4068-8E2D-F3D48B281C16} = {6126DCE4-9692-4EE2-B240-C65743572995}
@@ -7814,6 +7932,23 @@ Global
{7F87406C-A3C8-4139-A68D-E4C344294A67} = {D62AF49B-F9FE-4794-AC39-A473FF13CA81}
{1533E271-F61B-441B-8B74-59FB61DF0552} = {D62AF49B-F9FE-4794-AC39-A473FF13CA81}
{7E268085-1046-4362-80CB-2977FF826DCA} = {D62AF49B-F9FE-4794-AC39-A473FF13CA81}
+ {A5CE25E9-89E1-4F2C-9B89-0C161707E700} = {B6118E15-C37A-4B05-B4DF-97FE99790417}
+ {E6A23627-8D63-4DF1-A4F2-8881172C1FE6} = {B6118E15-C37A-4B05-B4DF-97FE99790417}
+ {7D2B0799-A634-42AC-AE77-5D167BA51389} = {562D5067-8CD8-4F19-BCBB-873204932C61}
+ {9788C76F-658B-4441-88F8-22C6B86FAD27} = {7D2B0799-A634-42AC-AE77-5D167BA51389}
+ {1970D5CD-D9A4-4673-A297-179BB04199F4} = {7D2B0799-A634-42AC-AE77-5D167BA51389}
+ {A40350FE-4334-4007-B1C3-6BEB1B070309} = {7D2B0799-A634-42AC-AE77-5D167BA51389}
+ {C26965A9-EAC6-4E5A-B8C1-D161260EFE4F} = {7D2B0799-A634-42AC-AE77-5D167BA51389}
+ {FE5290C7-45DA-46F8-BD74-698E7A161DD6} = {7D2B0799-A634-42AC-AE77-5D167BA51389}
+ {ED66DC0E-FD6A-477A-BA8A-5273AA64F580} = {7D2B0799-A634-42AC-AE77-5D167BA51389}
+ {C1E7F837-6988-43E2-9E1C-7302DB484F99} = {017429CC-C5FB-48B4-9C46-034E29EE2F06}
+ {2A91479A-4ABE-4BB7-9A5E-CA3B9CCFC69E} = {C1E7F837-6988-43E2-9E1C-7302DB484F99}
+ {7CB09412-C9B0-47E8-A8C3-311AA4CFDE04} = {C1E7F837-6988-43E2-9E1C-7302DB484F99}
+ {22D7D74B-565D-4047-97B4-F149B1A13350} = {2A91479A-4ABE-4BB7-9A5E-CA3B9CCFC69E}
+ {B06040BC-DA28-4923-8CAC-20EB517D471B} = {22D7D74B-565D-4047-97B4-F149B1A13350}
+ {55CACC1F-FE96-47C8-8073-91F4CAA55C75} = {2A91479A-4ABE-4BB7-9A5E-CA3B9CCFC69E}
+ {7509AA1E-3093-4BEE-984F-E11579E98A11} = {7CB09412-C9B0-47E8-A8C3-311AA4CFDE04}
+ {DAAB6B35-CBD2-4573-B633-CDD42F583A0E} = {16898702-3E33-41C1-B8D8-4CE3F1D46BD9}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3E8720B3-DBDD-498C-B383-2CC32A054E8F}
diff --git a/THIRD-PARTY-NOTICES.txt b/THIRD-PARTY-NOTICES.txt
index 45f0a37b30..2a600a4d6d 100644
--- a/THIRD-PARTY-NOTICES.txt
+++ b/THIRD-PARTY-NOTICES.txt
@@ -267,4 +267,29 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
\ No newline at end of file
+SOFTWARE.
+
+License notice for BedrockFramework
+===================================
+
+MIT License
+
+Copyright (c) 2019 David Fowler
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/eng/Dependencies.props b/eng/Dependencies.props
index 35853a5024..68e1f6149c 100644
--- a/eng/Dependencies.props
+++ b/eng/Dependencies.props
@@ -64,6 +64,7 @@ and are generated based on the last package release.
+
@@ -107,6 +108,7 @@ and are generated based on the last package release.
+
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index e98ae62047..db9cc55f62 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -13,305 +13,313 @@
https://github.com/dotnet/blazor
cc449601d638ffaab58ae9487f0fd010bb178a12
-
+
https://github.com/dotnet/efcore
- 5099d918192f5df031e1ff5e3beea9cb361c605a
+ 9638c0cda4bfb2eb8b70a047baefc982ffa7dade
-
+
https://github.com/dotnet/efcore
- 5099d918192f5df031e1ff5e3beea9cb361c605a
+ 9638c0cda4bfb2eb8b70a047baefc982ffa7dade
-
+
https://github.com/dotnet/efcore
- 5099d918192f5df031e1ff5e3beea9cb361c605a
+ 9638c0cda4bfb2eb8b70a047baefc982ffa7dade
-
+
https://github.com/dotnet/efcore
- 5099d918192f5df031e1ff5e3beea9cb361c605a
+ 9638c0cda4bfb2eb8b70a047baefc982ffa7dade
-
+
https://github.com/dotnet/efcore
- 5099d918192f5df031e1ff5e3beea9cb361c605a
+ 9638c0cda4bfb2eb8b70a047baefc982ffa7dade
-
+
https://github.com/dotnet/efcore
- 5099d918192f5df031e1ff5e3beea9cb361c605a
+ 9638c0cda4bfb2eb8b70a047baefc982ffa7dade
-
+
https://github.com/dotnet/efcore
- 5099d918192f5df031e1ff5e3beea9cb361c605a
+ 9638c0cda4bfb2eb8b70a047baefc982ffa7dade
-
- https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+
+ https://github.com/dotnet/efcore
+ 9638c0cda4bfb2eb8b70a047baefc982ffa7dade
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
+
+
+ https://github.com/dotnet/runtime
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
+
+
+ https://github.com/dotnet/runtime
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/runtime
- 0862d48a9c9fbda879206b194a16d8e607deac42
+ f4e99f4afa445b519abcd7c5c87cbf54771614db
-
+
https://github.com/dotnet/arcade
- ecec08a0eebbd92bb9538e351d475582551d9092
+ 56a95cc477558c1ccdf16d7abe962849ea970ba4
-
+
https://github.com/dotnet/arcade
- ecec08a0eebbd92bb9538e351d475582551d9092
+ 56a95cc477558c1ccdf16d7abe962849ea970ba4
https://github.com/dotnet/roslyn
diff --git a/eng/Versions.props b/eng/Versions.props
index d5dfb4a496..9c2fd0000e 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -64,82 +64,84 @@
3.8.0-2.20407.3
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
- 5.0.0-rc.1.20416.7
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
+ 5.0.0-rc.1.20425.1
- 5.0.0-rc.1.20416.7
+ 5.0.0-rc.1.20425.1
3.2.0
- 5.0.0-rc.1.20417.2
- 5.0.0-rc.1.20417.2
- 5.0.0-rc.1.20417.2
- 5.0.0-rc.1.20417.2
- 5.0.0-rc.1.20417.2
- 5.0.0-rc.1.20417.2
- 5.0.0-rc.1.20417.2
+ 5.0.0-rc.1.20425.4
+ 5.0.0-rc.1.20425.4
+ 5.0.0-rc.1.20425.4
+ 5.0.0-rc.1.20425.4
+ 5.0.0-rc.1.20425.4
+ 5.0.0-rc.1.20425.4
+ 5.0.0-rc.1.20425.4
+ 5.0.0-rc.1.20425.4
false
+
+
+ true
+ true
-
-
-
-
-
+
+
+
+
-
@@ -36,19 +45,5 @@
-
-
- <_RuntimeFramework Include="@(RuntimeFramework)" />
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Components/WebAssembly/JSInterop/src/InternalCalls.cs b/src/Components/WebAssembly/JSInterop/src/InternalCalls.cs
index a28e45c410..6f9141ee7a 100644
--- a/src/Components/WebAssembly/JSInterop/src/InternalCalls.cs
+++ b/src/Components/WebAssembly/JSInterop/src/InternalCalls.cs
@@ -16,12 +16,7 @@ namespace WebAssembly.JSInterop
// in driver.c in the Mono distribution
/// See: https://github.com/mono/mono/blob/90574987940959fe386008a850982ea18236a533/sdks/wasm/src/driver.c#L318-L319
- // We're passing asyncHandle by ref not because we want it to be writable, but so it gets
- // passed as a pointer (4 bytes). We can pass 4-byte values, but not 8-byte ones.
[MethodImpl(MethodImplOptions.InternalCall)]
- public static extern string InvokeJSMarshalled(out string exception, ref long asyncHandle, string functionIdentifier, string argsJson);
-
- [MethodImpl(MethodImplOptions.InternalCall)]
- public static extern TRes InvokeJSUnmarshalled(out string exception, string functionIdentifier, [AllowNull] T0 arg0, [AllowNull] T1 arg1, [AllowNull] T2 arg2);
+ public static extern TRes InvokeJS(out string exception, ref JSCallInfo callInfo, [AllowNull] T0 arg0, [AllowNull] T1 arg1, [AllowNull] T2 arg2);
}
}
diff --git a/src/Components/WebAssembly/JSInterop/src/JSCallInfo.cs b/src/Components/WebAssembly/JSInterop/src/JSCallInfo.cs
new file mode 100644
index 0000000000..5053a35bfd
--- /dev/null
+++ b/src/Components/WebAssembly/JSInterop/src/JSCallInfo.cs
@@ -0,0 +1,27 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System.Runtime.InteropServices;
+using Microsoft.JSInterop;
+
+namespace WebAssembly.JSInterop
+{
+ [StructLayout(LayoutKind.Explicit, Pack = 4)]
+ internal struct JSCallInfo
+ {
+ [FieldOffset(0)]
+ public string FunctionIdentifier;
+
+ [FieldOffset(4)]
+ public JSCallResultType ResultType;
+
+ [FieldOffset(8)]
+ public string MarshalledCallArgsJson;
+
+ [FieldOffset(12)]
+ public long MarshalledCallAsyncHandle;
+
+ [FieldOffset(20)]
+ public long TargetInstanceId;
+ }
+}
diff --git a/src/Components/WebAssembly/JSInterop/src/WebAssemblyJSRuntime.cs b/src/Components/WebAssembly/JSInterop/src/WebAssemblyJSRuntime.cs
index 77cd0bac8d..14e1600b9f 100644
--- a/src/Components/WebAssembly/JSInterop/src/WebAssemblyJSRuntime.cs
+++ b/src/Components/WebAssembly/JSInterop/src/WebAssemblyJSRuntime.cs
@@ -11,22 +11,40 @@ namespace Microsoft.JSInterop.WebAssembly
/// Provides methods for invoking JavaScript functions for applications running
/// on the Mono WebAssembly runtime.
///
- public abstract class WebAssemblyJSRuntime : JSInProcessRuntime
+ public abstract class WebAssemblyJSRuntime : JSInProcessRuntime, IJSUnmarshalledRuntime
{
///
- protected override string InvokeJS(string identifier, string argsJson)
+ protected override string InvokeJS(string identifier, string argsJson, JSCallResultType resultType, long targetInstanceId)
{
- var noAsyncHandle = default(long);
- var result = InternalCalls.InvokeJSMarshalled(out var exception, ref noAsyncHandle, identifier, argsJson);
+ var callInfo = new JSCallInfo
+ {
+ FunctionIdentifier = identifier,
+ TargetInstanceId = targetInstanceId,
+ ResultType = resultType,
+ MarshalledCallArgsJson = argsJson ?? "[]",
+ MarshalledCallAsyncHandle = default
+ };
+
+ var result = InternalCalls.InvokeJS
+
+ Socks color:
+
Accepts terms:
@@ -98,6 +101,7 @@
protected override void OnInitialized()
{
editContext = new EditContext(person);
+ editContext.SetFieldCssClassProvider(new CustomFieldCssClassProvider());
customValidationMessageStore = new ValidationMessageStore(editContext);
}
@@ -145,6 +149,9 @@
[Required, EnumDataType(typeof(Country))]
public Country? Country { get; set; } = null;
+ [Required, StringLength(10), CustomValidationClassName(Valid = "valid-socks", Invalid = "invalid-socks")]
+ public string SocksColor { get; set; }
+
public string Username { get; set; }
}
diff --git a/src/Components/test/testassets/BasicTestApp/Index.razor b/src/Components/test/testassets/BasicTestApp/Index.razor
index 6747601918..db232b3aa4 100644
--- a/src/Components/test/testassets/BasicTestApp/Index.razor
+++ b/src/Components/test/testassets/BasicTestApp/Index.razor
@@ -46,6 +46,7 @@
+
diff --git a/src/Components/test/testassets/BasicTestApp/InputFileComponent.razor b/src/Components/test/testassets/BasicTestApp/InputFileComponent.razor
new file mode 100644
index 0000000000..e9f7dbd301
--- /dev/null
+++ b/src/Components/test/testassets/BasicTestApp/InputFileComponent.razor
@@ -0,0 +1,80 @@
+@using System.IO;
+@using Microsoft.AspNetCore.Components.Web.Extensions
+
+File preview
+
+
+
+@if (isLoading)
+{
+ Loading...
+}
+
+@foreach (var (file, content) in loadedFiles)
+{
+
+ File name: @(file.Name)
+ File size (bytes): @(file.Size)
+ File content: @content
+
+}
+
+Image upload
+
+
+
+@if (imageDataUri != null)
+{
+
+ Uploaded image:
+
+
+}
+
+
+ Source image:
+
+
+
+@code {
+ Dictionary loadedFiles = new Dictionary();
+
+ bool isLoading;
+
+ string imageDataUri;
+
+ async Task LoadFiles(InputFileChangeEventArgs e)
+ {
+ isLoading = true;
+ loadedFiles.Clear();
+
+ foreach (var file in e.Files)
+ {
+ StateHasChanged();
+
+ using var reader = new StreamReader(file.OpenReadStream());
+
+ loadedFiles.Add(file, await reader.ReadToEndAsync());
+ }
+
+ isLoading = false;
+ }
+
+ async Task LoadImage(InputFileChangeEventArgs e)
+ {
+ var file = e.Files.SingleOrDefault();
+
+ if (file != null)
+ {
+ var format = "image/jpeg";
+ var imageFile = await file.ToImageFileAsync(format, 640, 480);
+
+ using var fileStream = imageFile.OpenReadStream();
+ using var memoryStream = new MemoryStream();
+ await fileStream.CopyToAsync(memoryStream);
+
+ imageDataUri = $"data:{format};base64,{Convert.ToBase64String(memoryStream.ToArray())}";
+ StateHasChanged();
+ }
+ }
+}
diff --git a/src/Components/test/testassets/BasicTestApp/InteropComponent.razor b/src/Components/test/testassets/BasicTestApp/InteropComponent.razor
index d329d68900..b24da1366b 100644
--- a/src/Components/test/testassets/BasicTestApp/InteropComponent.razor
+++ b/src/Components/test/testassets/BasicTestApp/InteropComponent.razor
@@ -46,6 +46,8 @@
@SyncExceptionFromAsyncMethod?.Message
@nameof(AsyncExceptionFromAsyncMethod)
@AsyncExceptionFromAsyncMethod?.Message
+ @nameof(JSObjectReferenceInvokeNonFunctionException)
+ @JSObjectReferenceInvokeNonFunctionException?.Message
@if (DoneWithInterop)
{
@@ -59,6 +61,7 @@
public JSException ExceptionFromSyncMethod { get; set; }
public JSException SyncExceptionFromAsyncMethod { get; set; }
public JSException AsyncExceptionFromAsyncMethod { get; set; }
+ public JSException JSObjectReferenceInvokeNonFunctionException { get; set; }
public IDictionary ReceiveDotNetObjectByRefResult { get; set; } = new Dictionary();
public IDictionary ReceiveDotNetObjectByRefAsyncResult { get; set; } = new Dictionary();
@@ -134,6 +137,28 @@
ReturnValues["returnArray"] = string.Join(",", ((IJSInProcessRuntime)JSRuntime).Invoke("returnArray").Select(x => x.Source).ToArray());
}
+ var jsObjectReference = await JSRuntime.InvokeAsync("returnJSObjectReference");
+ ReturnValues["jsObjectReference.identity"] = await jsObjectReference.InvokeAsync("identity", "Invoked from JSObjectReference");
+ ReturnValues["jsObjectReference.nested.add"] = (await jsObjectReference.InvokeAsync("nested.add", 2, 3)).ToString();
+ ReturnValues["addViaJSObjectReference"] = (await JSRuntime.InvokeAsync("addViaJSObjectReference", jsObjectReference, 2, 3)).ToString();
+
+ try
+ {
+ await jsObjectReference.InvokeAsync("nonFunction");
+ }
+ catch (JSException e)
+ {
+ JSObjectReferenceInvokeNonFunctionException = e;
+ }
+
+ var module = await JSRuntime.InvokeAsync("import", "./js/testmodule.js");
+ ReturnValues["jsObjectReferenceModule"] = await module.InvokeAsync("identity", "Returned from module!");
+
+ if (shouldSupportSyncInterop)
+ {
+ InvokeInProcessJSInterop();
+ }
+
Invocations = invocations;
DoneWithInterop = true;
}
@@ -163,6 +188,14 @@
ReceiveDotNetObjectByRefResult["testDto"] = result.TestDto.Value == passDotNetObjectByRef ? "Same" : "Different";
}
+ public void InvokeInProcessJSInterop()
+ {
+ var inProcRuntime = ((IJSInProcessRuntime)JSRuntime);
+
+ var jsInProcObjectReference = inProcRuntime.Invoke("returnJSObjectReference");
+ ReturnValues["jsInProcessObjectReference.identity"] = jsInProcObjectReference.Invoke("identity", "Invoked from JSInProcessObjectReference");
+ }
+
public class PassDotNetObjectByRefArgs
{
public string StringValue { get; set; }
diff --git a/src/Components/test/testassets/BasicTestApp/InteropTest/JavaScriptInterop.cs b/src/Components/test/testassets/BasicTestApp/InteropTest/JavaScriptInterop.cs
index 18cefecd15..8667bdc2c6 100644
--- a/src/Components/test/testassets/BasicTestApp/InteropTest/JavaScriptInterop.cs
+++ b/src/Components/test/testassets/BasicTestApp/InteropTest/JavaScriptInterop.cs
@@ -414,6 +414,47 @@ namespace BasicTestApp.InteropTest
return objectByRef.Value.GetNonSerializedValue();
}
+ [JSInvokable]
+ public static JSObjectReference RoundTripJSObjectReference(JSObjectReference jsObjectReference)
+ {
+ return jsObjectReference;
+ }
+
+ [JSInvokable]
+ public static async Task RoundTripJSObjectReferenceAsync(JSObjectReference jSObjectReference)
+ {
+ await Task.Yield();
+ return jSObjectReference;
+ }
+
+ [JSInvokable]
+ public static string InvokeDisposedJSObjectReferenceException(JSInProcessObjectReference jsObjectReference)
+ {
+ try
+ {
+ jsObjectReference.Invoke("noop");
+ return "No exception thrown";
+ }
+ catch (JSException e)
+ {
+ return e.Message;
+ }
+ }
+
+ [JSInvokable]
+ public static async Task InvokeDisposedJSObjectReferenceExceptionAsync(JSObjectReference jsObjectReference)
+ {
+ try
+ {
+ await jsObjectReference.InvokeVoidAsync("noop");
+ return "No exception thrown";
+ }
+ catch (JSException e)
+ {
+ return e.Message;
+ }
+ }
+
[JSInvokable]
public InstanceMethodOutput InstanceMethod(InstanceMethodInput input)
{
diff --git a/src/Components/test/testassets/BasicTestApp/RouterTest/TestRouterWithOnNavigate.razor b/src/Components/test/testassets/BasicTestApp/RouterTest/TestRouterWithOnNavigate.razor
index 7b0c289b56..933512d2bf 100644
--- a/src/Components/test/testassets/BasicTestApp/RouterTest/TestRouterWithOnNavigate.razor
+++ b/src/Components/test/testassets/BasicTestApp/RouterTest/TestRouterWithOnNavigate.razor
@@ -26,9 +26,15 @@
{ "LongPage1", new Func(TestLoadingPageShows) },
{ "LongPage2", new Func(TestOnNavCancel) },
{ "Other", new Func(TestOnNavException) },
- {"WithParameters/name/Abc", new Func(TestRefreshHandling)}
+ { "WithLazyAssembly", new Func(TestOnNavException) },
+ { "WithParameters/name/Abc", new Func(TestRefreshHandling) }
};
+ protected override void OnAfterRender(bool firstRender)
+ {
+ Console.WriteLine("Render triggered...");
+ }
+
private async Task OnNavigateAsync(NavigationContext args)
{
Console.WriteLine($"Running OnNavigate for {args.Path}...");
@@ -56,6 +62,11 @@
throw new Exception("This is an uncaught exception.");
}
+ public static Task TestOnNavSyncException(NavigationContext args)
+ {
+ throw new Exception("This is an uncaught exception.");
+ }
+
public static async Task TestRefreshHandling(NavigationContext args)
{
await Task.Delay(Timeout.Infinite, args.CancellationToken);
diff --git a/src/Components/test/testassets/BasicTestApp/VirtualizationComponent.razor b/src/Components/test/testassets/BasicTestApp/VirtualizationComponent.razor
index 29aba9ea3e..69e776ccfd 100644
--- a/src/Components/test/testassets/BasicTestApp/VirtualizationComponent.razor
+++ b/src/Components/test/testassets/BasicTestApp/VirtualizationComponent.razor
@@ -22,7 +22,7 @@
Item @context
- Loading item @context.Index...
+ Loading item @context.Index...
diff --git a/src/Components/test/testassets/BasicTestApp/wwwroot/images/blazor_logo_1000x.png b/src/Components/test/testassets/BasicTestApp/wwwroot/images/blazor_logo_1000x.png
new file mode 100644
index 0000000000..fb308a8e28
Binary files /dev/null and b/src/Components/test/testassets/BasicTestApp/wwwroot/images/blazor_logo_1000x.png differ
diff --git a/src/Components/test/testassets/BasicTestApp/wwwroot/index.html b/src/Components/test/testassets/BasicTestApp/wwwroot/index.html
index 20c78f34f2..f387c50b57 100644
--- a/src/Components/test/testassets/BasicTestApp/wwwroot/index.html
+++ b/src/Components/test/testassets/BasicTestApp/wwwroot/index.html
@@ -45,6 +45,8 @@
+
+