✅ How does SDK versioning work?
I.E. Version 9 of the .NET SDK supports targeting versions of .NET other than just 9. Which ones? At what point does a target get removed from the latest SDK version? I'm not seeing anything in documentation that really specifies this.
More specifically, I have .NET SDK 9 installed and I'm getting errors trying to build a project that includes .NET 5 in its targets. Does SDK 9 not support .NET 5, or is there some other issue going on? How far back do I need to go in SDKs to get .NET 5 targeting?
56 Replies
alright
and you have ONLY the .NET 9 SDK isntalled?
it's.... not got anything to do with the language
the build is still erroring
no, it's not
Microsoft.Common.CurrentVersion.targets(1259, 5): [MSB3644] The reference assemblies for .NETCore,Version=v5.0 were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at https://aka.ms/msbuild/developerpacksthis is a fresh install from yesterday and I also just installed the .NET 5 SDK as well uhhhh well, yes, but actually no? the solution thinks there should be one, but apparently can't find it yeah, that's accurate, there's definitely no file, and I'm not missing it from source control even more interesting, I don't actually SEE a .NET 5 target at all I suppose I thought UAP was newer than that okay, so wait a minute is it somehow significant that it's asking for ".NETCore" version 5.0 not .NET 5? cause I notice this..... okay, so I think it might be
GitHub
MSBuild 16.7+ No Longer Supports Legacy netcore50 Apps · Issue #58...
Context Due to customers receiving bad error messages when using an older SDK and targeting net5.0, we've decided to improve this error message so that it provides a proper solution to their pr...
and it's definitely the UAP target that's triggering it, yeah
I'm very curious how the maintainers are building this solution if MSBuild stopped supporting this target years ago
maybe I just need a different SDK
I'd been focused on the .NET 5 SDK, but it's not .NET 5 I'm looking for
which SDK do the UAP targets live in?
Unknown User•4w ago
Message Not Public
Sign In & Join Server To View
yeah, exactly
netcore50 is what's being targeted, via uap10
and apparently, I'm missing all the files for that target
Unknown User•4w ago
Message Not Public
Sign In & Join Server To View
ask dotnet/reactive
they target it
uap10.0.18362
I'm assuming I just need to install a proper SDK for that stuff
Unknown User•4w ago
Message Not Public
Sign In & Join Server To View
I'm gonna try the Core 3.1 SDK and then yeah, I'll ask and see if they know
Unknown User•4w ago
Message Not Public
Sign In & Join Server To View
....uap10.0.18362?
among others
Unknown User•4w ago
Message Not Public
Sign In & Join Server To View
¯\_(ツ)_/¯
it's in their solution today
Unknown User•4w ago
Message Not Public
Sign In & Join Server To View
uhhhh
I'm not a business
I'm trying to build the solution
Unknown User•4w ago
Message Not Public
Sign In & Join Server To View
so I can submit a PR
Unknown User•4w ago
Message Not Public
Sign In & Join Server To View
I can proooooooobably just ignore that that target doesn't build
Unknown User•4w ago
Message Not Public
Sign In & Join Server To View
yeah
Unknown User•4w ago
Message Not Public
Sign In & Join Server To View
if nothing else
oh, there's a thought
Unknown User•4w ago
Message Not Public
Sign In & Join Server To View
maybe I can spot the magic in their CI/CD defs
Unknown User•4w ago
Message Not Public
Sign In & Join Server To View
if I can wrap my head around exactly what's going on, I probably will at least open an issue, about whether that target's still needed
or to add some build documentation
their CI/CD seems to be pulling just the .NET 9 and .NET 8 SDKs, let's try that
are you on windows
nope
that is likely why
i assume their CI runs on windows
no, actually
believe it or not, you can build for Windows targets on Linux
just not gonna be able to run 'em
not without reference assemblies
true
which is what gets installed with the SDKs
the SDK knows how to get reference assemblies automatically for normal .NET versions
they actually dont (outside the pack for specifically that runtime version that the SDK is for)
the SDK just knows how to pull them from nuget
including ones for netfx
regardless, building on Linux is not the issue
at least, not fundamentally
their CI/CD runs Linux
Unknown User•4w ago
Message Not Public
Sign In & Join Server To View
well, that is actually on the slate for the next release
Unknown User•4w ago
Message Not Public
Sign In & Join Server To View
they're refactoring the package/publishing structure again
Unknown User•4w ago
Message Not Public
Sign In & Join Server To View
which project are you trying to build
System.Reactive is the one throwing the error
GitHub
Future Rx.NET Packaging · dotnet reactive · Discussion #2038
Update 2025/08/01: please see #2211 for an update on progress, detail on prototypes, and discussion about options now under consideration. We think that it might be necessary to change how Rx.NET i...

their reactive CI is on windows
https://github.com/dotnet/reactive/blob/main/azure-pipelines.rx.yml
actually all of them are?
where did you see the CI being linux
i think targetting UAP for a windows version requires the windows sdk for that version to be installed
https://github.com/dotnet/reactive/blob/main/Rx.NET/Documentation/adr/0003-uap-targets.md
A) I was told they have linux in their pipeline
B) https://github.com/dotnet/reactive/blob/0aa0a00924becfc0892d9ad62c89f82cde1b255a/azure-pipelines.rx.yml#L119
thats post build
the actual build is on windows, this stage downloads the artifacts that were already built
so, the question just goes back to the original one
what do I need to install to get the netcore50 targets
i do not think you can, off of windows
because they seem to rely on stuff in the windows sdk, which is only available on windows
based on reading this project's own documentation, that is

you cant get the second one off of windows
ahaaaaaa
I missed you dropping that link
yep, System.Reactive does that and therefore needs the Windows SDK to build that target
https://github.com/dotnet/reactive/blob/main/Rx.NET/Source/src/System.Reactive/System.Reactive.csproj#L23-L26
you can probably just remove it while you make your change and then see if it builds in CI
¯\_(ツ)_/¯
(it should, if your code compiles for the ns2.0 target)
in theory, I could maybe get a copy of those .winmd files
but yeah, just ignoring the target seems like the way to go
i very much doubt it would be worth it
agreed
thanks for the brain power