C
C#4w ago
JakenVeina

✅ 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
JakenVeina
JakenVeinaOP4w ago
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/developerpacks
this 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
<TargetFrameworks>netstandard2.0;net472;uap10.0.18362;net6.0;net6.0-windows10.0.19041</TargetFrameworks>
<TargetFrameworks>netstandard2.0;net472;uap10.0.18362;net6.0;net6.0-windows10.0.19041</TargetFrameworks>
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.....
Universal Windows Platform uap [uap10.0]
uap10.0 [win10] [netcore50]
Universal Windows Platform uap [uap10.0]
uap10.0 [win10] [netcore50]
okay, so I think it might be
JakenVeina
JakenVeinaOP4w ago
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&#39;ve decided to improve this error message so that it provides a proper solution to their pr...
JakenVeina
JakenVeinaOP4w ago
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
Unknown User4w ago
Message Not Public
Sign In & Join Server To View
JakenVeina
JakenVeinaOP4w ago
yeah, exactly netcore50 is what's being targeted, via uap10 and apparently, I'm missing all the files for that target
Unknown User
Unknown User4w ago
Message Not Public
Sign In & Join Server To View
JakenVeina
JakenVeinaOP4w ago
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
Unknown User4w ago
Message Not Public
Sign In & Join Server To View
JakenVeina
JakenVeinaOP4w ago
I'm gonna try the Core 3.1 SDK and then yeah, I'll ask and see if they know
Unknown User
Unknown User4w ago
Message Not Public
Sign In & Join Server To View
JakenVeina
JakenVeinaOP4w ago
....uap10.0.18362? among others
Unknown User
Unknown User4w ago
Message Not Public
Sign In & Join Server To View
JakenVeina
JakenVeinaOP4w ago
¯\_(ツ)_/¯ it's in their solution today
Unknown User
Unknown User4w ago
Message Not Public
Sign In & Join Server To View
JakenVeina
JakenVeinaOP4w ago
uhhhh I'm not a business I'm trying to build the solution
Unknown User
Unknown User4w ago
Message Not Public
Sign In & Join Server To View
JakenVeina
JakenVeinaOP4w ago
so I can submit a PR
Unknown User
Unknown User4w ago
Message Not Public
Sign In & Join Server To View
JakenVeina
JakenVeinaOP4w ago
I can proooooooobably just ignore that that target doesn't build
Unknown User
Unknown User4w ago
Message Not Public
Sign In & Join Server To View
JakenVeina
JakenVeinaOP4w ago
yeah
Unknown User
Unknown User4w ago
Message Not Public
Sign In & Join Server To View
JakenVeina
JakenVeinaOP4w ago
if nothing else oh, there's a thought
Unknown User
Unknown User4w ago
Message Not Public
Sign In & Join Server To View
JakenVeina
JakenVeinaOP4w ago
maybe I can spot the magic in their CI/CD defs
Unknown User
Unknown User4w ago
Message Not Public
Sign In & Join Server To View
JakenVeina
JakenVeinaOP4w ago
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
Aaron
Aaron4w ago
are you on windows
JakenVeina
JakenVeinaOP4w ago
nope
Aaron
Aaron4w ago
that is likely why i assume their CI runs on windows
JakenVeina
JakenVeinaOP4w ago
no, actually believe it or not, you can build for Windows targets on Linux just not gonna be able to run 'em
Aaron
Aaron4w ago
not without reference assemblies
JakenVeina
JakenVeinaOP4w ago
true which is what gets installed with the SDKs
Aaron
Aaron4w ago
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
JakenVeina
JakenVeinaOP4w ago
regardless, building on Linux is not the issue at least, not fundamentally their CI/CD runs Linux
Unknown User
Unknown User4w ago
Message Not Public
Sign In & Join Server To View
JakenVeina
JakenVeinaOP4w ago
well, that is actually on the slate for the next release
Unknown User
Unknown User4w ago
Message Not Public
Sign In & Join Server To View
JakenVeina
JakenVeinaOP4w ago
they're refactoring the package/publishing structure again
Unknown User
Unknown User4w ago
Message Not Public
Sign In & Join Server To View
Aaron
Aaron4w ago
which project are you trying to build
JakenVeina
JakenVeinaOP4w ago
System.Reactive is the one throwing the error
JakenVeina
JakenVeinaOP4w ago
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...
Aaron
Aaron4w ago
No description
Aaron
Aaron4w ago
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
Aaron
Aaron4w ago
thats post build the actual build is on windows, this stage downloads the artifacts that were already built
JakenVeina
JakenVeinaOP4w ago
so, the question just goes back to the original one what do I need to install to get the netcore50 targets
Aaron
Aaron4w ago
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
Aaron
Aaron4w ago
No description
Aaron
Aaron4w ago
you cant get the second one off of windows
JakenVeina
JakenVeinaOP4w ago
ahaaaaaa I missed you dropping that link
Aaron
Aaron4w ago
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)
JakenVeina
JakenVeinaOP4w ago
in theory, I could maybe get a copy of those .winmd files but yeah, just ignoring the target seems like the way to go
Aaron
Aaron4w ago
i very much doubt it would be worth it
JakenVeina
JakenVeinaOP4w ago
agreed thanks for the brain power

Did you find this page helpful?