.NET: Microsoft Technologies based on the .NET software framework. Runtime: An environment required to run apps that aren't compiled to machine language.
Hi @Nico-87 ,
Thanks for reaching out.
In practice, the most reliable approach is to restart the app after an update or use a self-contained deployment. This ensures all required DLLs are available and avoids runtime errors.
.NET runtime patch updates can replace older patch folders while an app is running. When your app tried to load System.Security.Cryptography.Algorithms.dll from 8.0.22, that folder had already been removed by the 8.0.23 update.
To prevent or mitigate this:
- Apply .NET servicing updates only when affected applications are stopped or during maintenance windows to avoid missing-file errors. (https://dori-uw-1.kuma-moon.com/en-us/dotnet/core/releases-and-support)
- Catch failures when loading runtime assemblies and prompt users to restart the app. This ensures the process binds to the new runtime instead of failing.
- Ship critical runtime dependencies with your app so it doesn’t rely on the shared system runtime. In a self-contained deployment, your app includes all required .NET files and is isolated from system runtime updates. (https://dori-uw-1.kuma-moon.com/en-us/dotnet/core/deploying/)
Hope this helps! If my answer was helpful - kindly follow the instructions here so others with the same problem can benefit as well.