How to keep version locked on Microsoft.NETCore.App.Runtime.win-x64 in .Net 6 API - nuget

We have an .Net 6 API.
We have our own Nuget server to ensure we have backup of used Nuget packages so we always are sure we can run our CI chain.
After the upgrade to .Net 6, then every time MS publishes a new version of any of these three assemblies then our CI builds fail, because our NuGet server doesn't have the new version.
Microsoft.NETCore.App.Runtime.win-x64
Microsoft.AspNetCore.Runtime.win-x64
Microsoft.WindowsDesktop.Runtime.win-x64
Latest with 6.0.8. We then have to download the new packages to our Nuget server and then everything works.
In general I would like us to keep on known versions all the time, and only change referenced package version on purpose - and not just because developers publish new versions.
But I can't find any explicit references to these three packages.
Does anyone know where they come from - and more importantly - are there any way to lock our solution to use e.g. 6.0.8, until we decide to upgrade next time?
Best regards
/Anders

Related

Azure DevOps: What do I need to build .Net 6 solutions?

We have an on-premises Azure DevOps 2019 server, with build pipelines for numerous .Net 4.x solutions that our small team maintains using VS2019.
The team is about to upgrade to VS2022, and at some point I would like to migrate some solutions to .Net 6. Can DevOps 2019 build .Net 6 solutions, and if so what changes are needed to support this (such as presumably installing VS2022 on the server)?
Will those solutions' build pipelines require any changes or should they continue to work as-is? They don't contain anything too clever, with steps such as: NuGet restore, build solution, run unit tests, NuGet pack & push. (The build pipelines are managed via the web GUI, not YAML, if that makes a difference).
Some solutions will remain .Net 4.x, so the server will still need to support (build) these.
You should just need two things:
First you have to install the corresponding SDK for building the apps (see sdk download - Build apps - SDK) on your build-agents.
(Optional) Add or modify your set SDK Task in your pipelines (see use dotnet core task).
One more hint, you don't need to install a whole VS on the server. The Build-Tools are enough (VS2022 Buildtools preview).

Nuget Package Compatibility and Upgrades

My company has internal components that we deliver via internal NuGet. Now i want to make a Version 5.X of these components which will be breaking a lot from the 4.X versions.
However now if my colleagues browse for updates, the Nuget browser would recommend these new packages.
What i would prefer: If example 4.6 is installed, it would take the highest 4.X version but not 5.0 or above. Making packages for the 5.X path under completely different names would be annoying when the developer choses to upgrade.
Is there a way to mark nuget packages to do something like that? If that's not clear, tell me and i try to clarify.
If your projects are using packages.config, you can use allowedVersions: https://learn.microsoft.com/en-us/nuget/reference/packages-config#schema
There's no way to do this if your project uses PackageReference, but you can upvote (👍) this isse: https://github.com/NuGet/Home/issues/9082

How often does NuGet package gets updated?

I'm using NuGet to manage libraries used in my solution. But I wonder how often the libraries inside NuGet gets updated. For example, on 10 April 2019, jQuery 3.4.0 has been released, but as of today, the latest jQuery package on NuGet is more than 1 year old.
3.3.1 2,970,912 1/22/2018
I need to manually download the jQuery library from their website in order to use the latest version, but this beats the advantage of using NuGet. So my question is that how often is this updated? Is someone from Microsoft needs to add the library manually every time? Or does the library developer has to push the updates to NuGet (and I wonder why they have not done so if this is the case - now is more than 2 weeks after release date)?

How long is a package in NuGet available?

We use various packages of NuGet in our company for productive applications. But we do not know how long a particular version of a package is available.
We do not want to include the packages in the source control system.
To be precise. If our source code is older than 10 years, is then a package in a particular version still available?
With NuGet.org you can delist a NuGet package but not permanently delete it. Delisting removes it from the search results but it is still available for NuGet package restore.
That being said the NuGet team can permanently delete NuGet packages in exceptional circumstances. This has happened at least once, as far as I am aware, when Oracle asked the NuGet team to remove some NuGet packages that were using their software or could be mistaken as being supported by Oracle.
So in practice the NuGet packages will be available as long as NuGet.org is still around. However it is hard to predict what will be happening in 10 years time.
No one knows exactly how long a package is available. When a new version comes out, sometimes the old version is still available and sometimes it's not. AFAIK, they don't have a release schedule, so no one is ever sure when a new version is available until very close to the release date.

Upgrading EF7 to beta 6

I'm currently using EF7 - beta4 and would like to use beta6. I know I'm playing with fire by using nightlies, but has anyone else done this and have been able to build after upgrading?
I've added the nightly nuget repository: https://www.myget.org/F/aspnetvnext/api/v2/ but when ever I upgrade a package it totally trashes all of .net in both DNX 4.5.1 and DNX Core 5. Now I'm not crazy enough to do this in a working project, so I'm testing this out in new empty mvc project and when I attempt to build I get in excess of 2000 errors from everything.
Has anyone else attempted this and if so how does one get around all the errors?
The nightly builds are highly unstable. Here are some pointers for working on the bleeding edge of ASP.NET.
Reset all packages. Sometimes nightly builds break other packages. Delete project.lock.json and delete all packages (~/.dnx/packages/). Reinstalling may help you get a coherent set.
Upgrade DNX. dnvm upgrade -u. This installs the latest, unstable version of DNX.
Submit issues. If it's breaking for you, it may not just be you.
Pay attention to the ASP.NET on GitHub. Nightly builds are usually only a few days behind the latest changes to the dev branch. We are working fast, and breaking things.
If stability is important, stick to the Nuget.org betas. Beta5 was just released yesterday, and has been more thoroughly vetted for stability.
Watch the Announcements repository to receive a heads-up on breaking changes.