-
Notifications
You must be signed in to change notification settings - Fork 10.3k
Dotnet test error during creating TestServer after updating to .NET 5 RC2 #26882
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
CC: Blazor |
@SteveSandersonMS do you happen what may cause this? |
Yeah we'll probably have to fix this in 5.0. There's a type in the Fixing it is pretty trivial - we just change the struct to be safe for 64-bit runtimes too by aligning fields to 8-byte boundaries, like our other fixed-layout structs. I'll look into doing this. |
@SteveSandersonMS thanks for investigation. I think that use reflection to walk over all the loaded types is common use case, especially when we use dependency injection. |
@SteveSandersonMS I thought about this problem and one thing is not clear to me. Why the problem occurs only when I run this code from the test but when I run the application from the console it works correctly. In this case, I use reflection to go through all types and it doesn't cause an error. The command:
Output:
|
Fixed in #26931 |
[master] Update dependencies from dotnet/runtime dotnet/efcore - Update TFM net5.0 -> net6.0 - Introduce $(TargetTFM) - TargetTfm -> DefaultNetCoreTargetFramework - Updated: NETCoreAppMaximumVersion - Apply suggestions from code review Co-authored-by: Doug Bunting <[email protected]> - Fix version numbers used in Blazor WASM SDK - Address feedback from peer review - Fix check for platform version - Fix build config for dotnet-watch project - Update TFM net5.0 -> net6.0 - Introduce $(TargetTFM) - TargetTfm -> DefaultNetCoreTargetFramework - Apply suggestions from code review Co-authored-by: Doug Bunting <[email protected]> - Fix version numbers used in Blazor WASM SDK - Address feedback from peer review - Remove workaround in dotnet-watch tests - Testrunner to 5.0 and adding workarounds - Try props.in - net50 - Fixup KnownFrameworkReference for integration tests - Resolve a few comments - don't use repo-specific properties in shipping file - pass `$(DefaultNetCoreTargetFramework)` into template files used in tests - Update src/Components/WebAssembly/Sdk/src/targets/Microsoft.NET.Sdk.BlazorWebAssembly.Current.targets - Update KnownFrameworkReference for template tests - Use DefaultNetcoreTFM - Undo change to props.in - Update src/ProjectTemplates/test/ProjectTemplates.Tests.csproj - Update GenerateTestProps.targets - this is where `$(KnownAppHostPackOrFrameworkReferenceTfm)` is needed - Update src/ProjectTemplates/test/ProjectTemplates.Tests.csproj - additional template input not needed here - Other file changes - Rename the one net5.0 directory in the repo - Fixup rebase remnants - Use runtime and ref/ assemblies matching repo in Helix testing - add Directory.Build.*.in files based on project template test infrastructure - use files as import boundary where the project doesn't create its own Directory.Build.* files - ensure `dotnet-watch` tests also use the latest runtime and ref/ assemblies - Switch Directory.Build.*.in files in Helix content - ensure item manipulation is done after base items exist nit: Fix *.in exclusion - Update TFM workaround to reference 5.0 instead of 3.1 (#26991) - Make some Directory.Build.*.in settings override-able - that is, move some properties to Directory.Build.props.in also - fix `Condition`s that resulted in empty Directory.Build.targets - separate Directory.Build.empty.in - ensure RunTests project is _not_ affected by root Directory.Build.* files - Update SDK - Set `$(DefaultNetCoreTargetFramework)` in Helix root Directory.Build.props = `dotnet-watch` tests otherwise fail with "The TargetFramework value '' was not recognized" - Extend Helix Directory.Build.* workarounds - generate Directory.Build.* files when restoring any projects - include generated files in Helix runs needing the latest runtime - copy generated files when testing `dotnet-watch` locally - include generated content in Microsoft.NET.Sdk.BlazorWebAssembly.IntegrationTests test assets - remove duplicate settings from existing Directory.Build.* files - ensure shared framework and targeting packs are laid out under .dotnet/ before test assets restore - !fixup! Remove extra end tags - !fixup! Don't build GenerateFiles.csproj in desktop `msbuild` - !fixup! Arcade uses different test targets - Disable `crossgen` when building for Helix runs - make `$(CrossgenOutput)` property override-able - use override in CI jobs that submit to other platforms - for now, leave the ARM64 Helix jobs alone (build on Ubuntu, run in Debian) nits: - correct condition for `$(GenerateCrossgenProfilingSymbols)` - set `$(ASPNETCORE_TEST_LOG_DIR)` in every step of the Helix build jobs - Ensure ReadRequest type can be loaded on server. Fixes #26882 (#26931) - Enable debugging when using embedded PDBs (#27107) * Fix debug using embedded PDBs. * Check for either debugBuild or referenced PDBs Co-authored-by: Thays <[email protected]> - Ensure Blazor JS files are up-to-date - Merge branch 'master' into darc-master-76e24f4d-c90c-42ac-a1e5-411ae61ca37b
this is roadblocking in creating migrations in a real project for me, is there any workaround? |
I’d suggest considering updating to RTM packages from the .NET nightly build feed. |
…t/aspnetcore#26788) [master] Update dependencies from dotnet/runtime dotnet/efcore - Update TFM net5.0 -> net6.0 - Introduce $(TargetTFM) - TargetTfm -> DefaultNetCoreTargetFramework - Updated: NETCoreAppMaximumVersion - Apply suggestions from code review Co-authored-by: Doug Bunting <[email protected]> - Fix version numbers used in Blazor WASM SDK - Address feedback from peer review - Fix check for platform version - Fix build config for dotnet-watch project - Update TFM net5.0 -> net6.0 - Introduce $(TargetTFM) - TargetTfm -> DefaultNetCoreTargetFramework - Apply suggestions from code review Co-authored-by: Doug Bunting <[email protected]> - Fix version numbers used in Blazor WASM SDK - Address feedback from peer review - Remove workaround in dotnet-watch tests - Testrunner to 5.0 and adding workarounds - Try props.in - net50 - Fixup KnownFrameworkReference for integration tests - Resolve a few comments - don't use repo-specific properties in shipping file - pass `$(DefaultNetCoreTargetFramework)` into template files used in tests - Update src/Components/WebAssembly/Sdk/src/targets/Microsoft.NET.Sdk.BlazorWebAssembly.Current.targets - Update KnownFrameworkReference for template tests - Use DefaultNetcoreTFM - Undo change to props.in - Update src/ProjectTemplates/test/ProjectTemplates.Tests.csproj - Update GenerateTestProps.targets - this is where `$(KnownAppHostPackOrFrameworkReferenceTfm)` is needed - Update src/ProjectTemplates/test/ProjectTemplates.Tests.csproj - additional template input not needed here - Other file changes - Rename the one net5.0 directory in the repo - Fixup rebase remnants - Use runtime and ref/ assemblies matching repo in Helix testing - add Directory.Build.*.in files based on project template test infrastructure - use files as import boundary where the project doesn't create its own Directory.Build.* files - ensure `dotnet-watch` tests also use the latest runtime and ref/ assemblies - Switch Directory.Build.*.in files in Helix content - ensure item manipulation is done after base items exist nit: Fix *.in exclusion - Update TFM workaround to reference 5.0 instead of 3.1 (dotnet/aspnetcore#26991) - Make some Directory.Build.*.in settings override-able - that is, move some properties to Directory.Build.props.in also - fix `Condition`s that resulted in empty Directory.Build.targets - separate Directory.Build.empty.in - ensure RunTests project is _not_ affected by root Directory.Build.* files - Update SDK - Set `$(DefaultNetCoreTargetFramework)` in Helix root Directory.Build.props = `dotnet-watch` tests otherwise fail with "The TargetFramework value '' was not recognized" - Extend Helix Directory.Build.* workarounds - generate Directory.Build.* files when restoring any projects - include generated files in Helix runs needing the latest runtime - copy generated files when testing `dotnet-watch` locally - include generated content in Microsoft.NET.Sdk.BlazorWebAssembly.IntegrationTests test assets - remove duplicate settings from existing Directory.Build.* files - ensure shared framework and targeting packs are laid out under .dotnet/ before test assets restore - !fixup! Remove extra end tags - !fixup! Don't build GenerateFiles.csproj in desktop `msbuild` - !fixup! Arcade uses different test targets - Disable `crossgen` when building for Helix runs - make `$(CrossgenOutput)` property override-able - use override in CI jobs that submit to other platforms - for now, leave the ARM64 Helix jobs alone (build on Ubuntu, run in Debian) nits: - correct condition for `$(GenerateCrossgenProfilingSymbols)` - set `$(ASPNETCORE_TEST_LOG_DIR)` in every step of the Helix build jobs - Ensure ReadRequest type can be loaded on server. Fixes dotnet/aspnetcore#26882 (dotnet/aspnetcore#26931) - Enable debugging when using embedded PDBs (dotnet/aspnetcore#27107) * Fix debug using embedded PDBs. * Check for either debugBuild or referenced PDBs Co-authored-by: Thays <[email protected]> - Ensure Blazor JS files are up-to-date - Merge branch 'master' into darc-master-76e24f4d-c90c-42ac-a1e5-411ae61ca37b Commit migrated from dotnet/aspnetcore@219ecd688012
Describe the bug
After updating .NET Core 3.1 to .NET 5 RC2 (and all nugets) I got an exception during running tests from the console.
But the exception doesn't occur when I run:
The problem occurs only when I run test from the console using the
dotnet test
command, so I think the problem is related to 'dotnet test' from .NET 5 or the APS package has some issue.To Reproduce
Minimalistic repro can be found there https://github.com/WojciechNagorski/AspDotnet5Issue
The exception can be reproduced using the command:
I created also a test for .NET Core 3.1 that presents that the problem doesn't exist for the old version of .NET.
Description
I just create a new
ASP
project:with almost default startup:
where
SetupValidation()
method is an extension that registers all validators in all assemblies:The last step is the test method where I just create
TestServer
.Exceptions
Further technical details
from sdk 5.0.100-rc.2.20479.15
dotnet --info
Dotnet CLI - 5.0.100-rc.2.20479.15
Resharper 2020.2.4 (doesn't required to reproduce exception)
VisualStudio 2019 Preview 16.8.0 Preview 4.0 (doesn't required to reproduce exception)
The text was updated successfully, but these errors were encountered: