-
Notifications
You must be signed in to change notification settings - Fork 4.6k
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
[RC1] Could not load type 'System.Utf8String' from assembly 'System.Utf8String.Experimental #41521
Comments
I hit this too. Also ran into issues with the deprecation of binary formatter, the suggested suppression via |
I believe that is expected. We don’t want experimental types in release builds. They are experimental, not to be released. |
The performance repo should not be building these tests by default, or maybe even not have them at all. |
Closing this issue as per the discussion above this is expected. |
But how can we then use this type in
they have been useful to measure the ARM64 vectorization improvements (cc @carlossanlop @pgovind) and even exposed some regressions (#41388) I am aware of the fact that we won't include them just to make me or a few other |
It might be expected, but the problem still exists and a runtime error that does not contain any explanation is just a very bad user experience. I am reopening so at least a proper error message is added. |
You cannot. The plan for this is to move experiment like this to dotnet/runtimelab and allow you to publish self-contained apps if you want to play with experimental features like Utf8String. |
@adamsitnik why would you expect something different than a TypeLoadException here? The type is missing. We aren’t shipping this package. We definitely don’t want to ship some random prerelease version in corelib... that was a mess with Span in 2.0. I guess we could have a dummy copy of the type that throws an exception in constructor pointing folks to an aka.ms link. Does that meet 5.0 bar at this point? As @jkotas mentioned the POR is for this to come from rubtimelab moving forward. That avoids these types of problems. |
The workhorse method is used by regular UTF8Encoding (UTF8Encoding.GetCharCountFast -> Utf8Utility.GetPointerToFirstInvalidByte -> ASCIIUtility.GetIndexOfFirstNonAsciiByte). This regression should have been caught by UTF8Encoding benchmarks too. If it was not, it suggests we may have a UTF8Encoding coverage hole. |
I am installing a NuGet package, writing code that compiles perfectly fine, and then I am trying to run it. Once I get
If the type has been removed from
This is perfectly fine, but please be clear about this. Give me an error that says it and I won't be creating new issues and wondering whether SDK installer is broken or something was removed, but not 100% removed.
I've sent a PR to address that: dotnet/performance#1491 |
You would get the compiler if you were not referencing old preview version of the experimental package: https://github.com/dotnet/performance/blob/master/src/benchmarks/micro/MicroBenchmarks.csproj#L42 |
That is the |
As far as I know if a newer package existed VS would show a possible update and fail after hitting the update button. Then I could go to the output tab and see the actual error. But it did not and this is why I created this issue |
FWIW I worked around the UTF8String issues by using an older runtime as the BDN host runtime, eg
Seems odd somehow that this works for older runtimes (including net461) and not for 5.0; from what I can tell the sources do get compiled... |
The situation here is that the old preview package does not work anymore and there is no replacement. NuGet has no way to communicate that the package is dead-ended without replacement today. It is a feature request on NuGet - not the first time we have a situation like this.
It is side-effect of the creative way this package is constructed. |
Problem
Unable to use
Utf8String
in 5.0 RC1 SDK (5.0.0-rc.1.20423.8
), it works fine in 6.0 alpha (6.0.100-alpha.1.20428.8
)Repro:
The following code fails when using
5.0.0-rc.1.20423.8
SDK:The problem is currently blocking performance repo from switching to
release/5.0.1xx
channel for downloadingnet5.0
SDK (so far we were usingmaster
channel but it's time to switch to5.0
asmaster
contains now6.0
bits): dotnet/performance#1484@GrabYourPitchforks @eerhardt is there any chance that someone could take a look at this?
/cc @ooooolivia
The text was updated successfully, but these errors were encountered: