Skip to content
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

Enable using package lock files for NuGet restore #12654

Closed
wants to merge 4 commits into from

Conversation

lahma
Copy link
Contributor

@lahma lahma commented Oct 16, 2022

Originally found this while testing #12589 .

While the current dependencies file states desired versions, it could resolve to different dependency graphs (versions) depending on when restore is done. By enabling repeatable package restores, builds should be locked to given versions and also allow unambiguous caching of NuGet references.

With this PR, proposing to enable lock file usage by default and committing lock files to VCS, just like it's done for Node dependencies.

@lahma
Copy link
Contributor Author

lahma commented Oct 16, 2022

I also enabled RestoreLockedMode which basically means that if one wants to update a package, the commit must also include updated lock.json files or otherwise build will spit out an error. Same as with NPM - they need to be in sync.

@jptissot
Copy link
Member

Could we simply add a package.lock.json file for the main projects instead of each in the solution ?

@lahma
Copy link
Contributor Author

lahma commented Oct 18, 2022

I think we would lose the certainty by having some projects having undeterministic dependencies. Of course, separating delivered projects from test/support would make sense. Might be easier with targeted Directory.Build.props, I'm not familiar enough with the build system. The general Dependencies.props seems to guide the whole system.

Copy link
Member

@Piedone Piedone left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I sincerely apologize for us taking so much time here. I checked out the PR, going over old ones, and this would be quite useful.

Is this something you'd like to revisit any time soon or should we close? This would need to be updated with the latest main.

When addressing review feedback, please adhere to the following:

  • Apply code suggestions directly so the reviewer doesn't have to eyeball the changes. These resolve themselves after applying them, that's fine.
  • Don't resolve other conversations so it's easier to track for the reviewer. Then, the reviewer will resolve them.
  • Feel free to mark conversations that you addressed to keep track of them with an emoji or otherwise, just don't resolve them.
  • Please keep conversations happening in line comment in those convos, otherwise communication will be a mess. If you have trouble finding them, see this video.
  • Please click "Re-request review" in the top-right corner for each reviewer when you're ready for another round of review, so they know that you're done.

@@ -17,6 +17,10 @@
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>

<EnableLockFiles Condition="$(MSBuildProjectDirectory.Contains('.Tests.')) == false and $(MSBuildProjectDirectory.Contains('.Targets')) == false">true</EnableLockFiles>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not use lock files for these projects?

Comment on lines +21 to +22
<RestorePackagesWithLockFile Condition="$(EnableLockFiles) == 'true'">true</RestorePackagesWithLockFile>
<RestoreLockedMode Condition="$(EnableLockFiles) == 'true' and '$(ContinuousIntegrationBuild)' == 'true'">true</RestoreLockedMode>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Link to some docs about both of these properties, please.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these files automatically managed during a NuGet version update when one updates packages locally in the solution or is there anything special to be done? If the latter, please add docs about it to Dependencies.props.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do I understand correctly that these can't be DRYd anymore, not to have hundreds of files?

@kevinchalet
Copy link
Member

FWIW, most of the projects I've worked on that were using lock files have stopped using them:

  • NuGet.org doesn't allow deleting packages or re-uploading a package with the same version, so you can't end up in a situation where the graph changes because an intermediate package was updated, unless you're using custom sources that allow that (e.g MyGet).
  • Sources mismatch is better handled using source mapping, which is more complete and better from a security perspective.
  • Floating versions is not something we use (or anyone should be using 😄)
  • The only risk is when an intermediate package version is not immediately available and NuGet has to choose a higher version: if the exact version is later uploaded, there's a risk the graph will change. But in practice, it's really a corner case 😅

IMHO, the very few advantages it offers are not enough to justify the EXTREME noise it generates (not to mention the very high risk of merge conflicts in PRs, specially here with our "one PR per dependency change" policy).

@lahma
Copy link
Contributor Author

lahma commented Mar 14, 2024

@kevinchalet makes excellent points above so I'm closing this. Maybe better in enterprise setting where we also generate license information reports which are tightly tied to versions.

@lahma lahma closed this Mar 14, 2024
@Piedone
Copy link
Member

Piedone commented Mar 14, 2024

That's a good perspective! My concern that this fixes is mostly about our dependencies using floating versions.

E.g. we use AWSSDK.S3 which defines its dependencies as AWSSDK.Core version [3.7.106.32, 4.0.0). We thus used 3.7.302.16 two days ago, but yesterday they released 3.7.302.17, and new restores will use that. This might have unintended side effects. My understanding is that package lock files fix this and tie it to e.g. 3.7.302.16, no? Like here.

@kevinchalet
Copy link
Member

kevinchalet commented Mar 14, 2024

E.g. we use AWSSDK.S3 which defines its dependencies as AWSSDK.Core version [3.7.106.32, 4.0.0). We thus used 3.7.302.16 two days ago, but yesterday they released 3.7.302.17, and new restores will use that.

This is not the behavior you should be seeing: NuGet always enforces a "lowest version possible" policy by default (and AFAICT, OrchardCore doesn't opt in a different DependencyVersion behavior).

So when referencing AWSSDK.S3 3.7.104.11, the selected package version for the transitive AWSSDK.Core package should be 3.7.106.32, even if (a lot of) newer versions have since been released since by Amazon.

@kevinchalet
Copy link
Member

Here's the complete list of dependencies - transitive packages included - I'm getting for OrchardCore.Cms.Web on main:

Le projet 'OrchardCore.Cms.Web' a les références de package suivantes
   [net8.0]: 
   Package transitif                                                                    Résolu         
   > AngleSharp                                                                         1.0.7          
   > AngleSharp.Css                                                                     1.0.0-alpha-99 
   > AWSSDK.Core                                                                        3.7.106.32     
   > AWSSDK.Extensions.NETCore.Setup                                                    3.7.7          
   > AWSSDK.S3                                                                          3.7.104.11     
   > AWSSDK.SecurityToken                                                               3.7.101.60     
   > Azure.Communication.Email                                                          1.0.1          
   > Azure.Core                                                                         1.37.0         
   > Azure.Extensions.AspNetCore.DataProtection.Blobs                                   1.3.3          
   > Azure.Identity                                                                     1.10.4         
   > Azure.Search.Documents                                                             11.5.1         
   > Azure.Security.KeyVault.Certificates                                               4.5.1          
   > Azure.Security.KeyVault.Secrets                                                    4.5.0          
   > Azure.Storage.Blobs                                                                12.19.1        
   > Azure.Storage.Common                                                               12.18.1        
   > BouncyCastle.Cryptography                                                          2.3.0          
   > Castle.Core                                                                        5.1.1          
   > Dapper.StrongName                                                                  2.1.21         
   > DocumentFormat.OpenXml                                                             3.0.1          
   > DocumentFormat.OpenXml.Framework                                                   3.0.1          
   > Elasticsearch.Net                                                                  7.17.5         
   > Esprima                                                                            3.0.4          
   > Fluid.Core                                                                         2.6.0          
   > GeoAPI                                                                             1.7.5          
   > GeoAPI.CoordinateSystems                                                           1.7.5          
   > GeoAPI.Core                                                                        1.7.5          
   > GraphQL                                                                            7.8.0          
   > GraphQL-Parser                                                                     8.4.2          
   > GraphQL.Analyzers                                                                  7.8.0          
   > GraphQL.DataLoader                                                                 7.8.0          
   > GraphQL.MicrosoftDI                                                                7.8.0          
   > GraphQL.SystemTextJson                                                             7.8.0          
   > HtmlSanitizer                                                                      8.1.844-beta   
   > Irony.Core                                                                         1.0.7          
   > J2N                                                                                2.0.0          
   > Jint                                                                               3.0.1          
   > libphonenumber-csharp                                                              8.13.31        
   > Lucene.Net                                                                         4.8.0-beta00016
   > Lucene.Net.Analysis.Common                                                         4.8.0-beta00016
   > Lucene.Net.Queries                                                                 4.8.0-beta00016
   > Lucene.Net.QueryParser                                                             4.8.0-beta00016
   > Lucene.Net.Sandbox                                                                 4.8.0-beta00016
   > Lucene.Net.Spatial                                                                 4.8.0-beta00016
   > MailKit                                                                            4.4.0          
   > Markdig                                                                            0.36.0         
   > Microsoft.AspNetCore.Authentication.Facebook                                       8.0.3          
   > Microsoft.AspNetCore.Authentication.Google                                         8.0.3          
   > Microsoft.AspNetCore.Authentication.JwtBearer                                      8.0.0          
   > Microsoft.AspNetCore.Authentication.MicrosoftAccount                               8.0.3          
   > Microsoft.AspNetCore.Authentication.OpenIdConnect                                  8.0.3          
   > Microsoft.AspNetCore.Authentication.Twitter                                        8.0.3          
   > Microsoft.AspNetCore.Cryptography.Internal                                         8.0.3          
   > Microsoft.AspNetCore.DataProtection                                                8.0.3          
   > Microsoft.AspNetCore.DataProtection.Abstractions                                   8.0.3          
   > Microsoft.AspNetCore.DataProtection.StackExchangeRedis                             8.0.3          
   > Microsoft.AspNetCore.Mvc.Razor.Extensions                                          6.0.0          
   > Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation                                  8.0.3          
   > Microsoft.AspNetCore.Razor.Language                                                6.0.0          
   > Microsoft.Bcl.AsyncInterfaces                                                      6.0.0          
   > Microsoft.Bcl.TimeProvider                                                         8.0.1          
   > Microsoft.CodeAnalysis.Analyzers                                                   3.3.2          
   > Microsoft.CodeAnalysis.Common                                                      4.0.0          
   > Microsoft.CodeAnalysis.CSharp                                                      4.0.0          
   > Microsoft.CodeAnalysis.Razor                                                       6.0.0          
   > Microsoft.CSharp                                                                   4.6.0          
   > Microsoft.Data.SqlClient                                                           5.1.4          
   > Microsoft.Data.SqlClient.SNI.runtime                                               5.1.1          
   > Microsoft.Data.Sqlite                                                              8.0.0          
   > Microsoft.Data.Sqlite.Core                                                         8.0.0          
   > Microsoft.Extensions.AmbientMetadata.Application                                   8.3.0          
   > Microsoft.Extensions.Azure                                                         1.7.2          
   > Microsoft.Extensions.Caching.Abstractions                                          8.0.0          
   > Microsoft.Extensions.Caching.Memory                                                8.0.0          
   > Microsoft.Extensions.Caching.StackExchangeRedis                                    8.0.3          
   > Microsoft.Extensions.Compliance.Abstractions                                       8.3.0          
   > Microsoft.Extensions.Configuration                                                 8.0.0          
   > Microsoft.Extensions.Configuration.Abstractions                                    8.0.0          
   > Microsoft.Extensions.Configuration.Binder                                          8.0.1          
   > Microsoft.Extensions.DependencyInjection                                           8.0.0          
   > Microsoft.Extensions.DependencyInjection.Abstractions                              8.0.1          
   > Microsoft.Extensions.DependencyInjection.AutoActivation                            8.3.0          
   > Microsoft.Extensions.DependencyModel                                               8.0.0          
   > Microsoft.Extensions.DiagnosticAdapter                                             3.1.32         
   > Microsoft.Extensions.Diagnostics                                                   8.0.0          
   > Microsoft.Extensions.Diagnostics.Abstractions                                      8.0.0          
   > Microsoft.Extensions.Diagnostics.ExceptionSummarization                            8.3.0          
   > Microsoft.Extensions.FileProviders.Abstractions                                    8.0.0          
   > Microsoft.Extensions.Hosting.Abstractions                                          8.0.0          
   > Microsoft.Extensions.Http                                                          8.0.0          
   > Microsoft.Extensions.Http.Diagnostics                                              8.3.0          
   > Microsoft.Extensions.Http.Polly                                                    8.0.1          
   > Microsoft.Extensions.Http.Resilience                                               8.3.0          
   > Microsoft.Extensions.Logging                                                       8.0.0          
   > Microsoft.Extensions.Logging.Abstractions                                          8.0.1          
   > Microsoft.Extensions.Logging.Configuration                                         8.0.0          
   > Microsoft.Extensions.ObjectPool                                                    8.0.3          
   > Microsoft.Extensions.Options                                                       8.0.2          
   > Microsoft.Extensions.Options.ConfigurationExtensions                               8.0.0          
   > Microsoft.Extensions.Primitives                                                    8.0.0          
   > Microsoft.Extensions.Resilience                                                    8.3.0          
   > Microsoft.Extensions.Telemetry                                                     8.3.0          
   > Microsoft.Extensions.Telemetry.Abstractions                                        8.3.0          
   > Microsoft.Identity.Abstractions                                                    5.1.0          
   > Microsoft.Identity.Client                                                          4.59.0         
   > Microsoft.Identity.Client.Extensions.Msal                                          4.56.0         
   > Microsoft.Identity.Web                                                             2.17.1         
   > Microsoft.Identity.Web.Certificate                                                 2.17.1         
   > Microsoft.Identity.Web.Certificateless                                             2.17.1         
   > Microsoft.Identity.Web.Diagnostics                                                 2.17.1         
   > Microsoft.Identity.Web.TokenAcquisition                                            2.17.1         
   > Microsoft.Identity.Web.TokenCache                                                  2.17.1         
   > Microsoft.IdentityModel.Abstractions                                               7.4.0          
   > Microsoft.IdentityModel.JsonWebTokens                                              7.4.0          
   > Microsoft.IdentityModel.Logging                                                    7.4.0          
   > Microsoft.IdentityModel.LoggingExtensions                                          7.4.0          
   > Microsoft.IdentityModel.Protocols                                                  7.4.0          
   > Microsoft.IdentityModel.Protocols.OpenIdConnect                                    7.4.0          
   > Microsoft.IdentityModel.Tokens                                                     7.4.0          
   > Microsoft.IdentityModel.Validators                                                 7.4.0          
   > Microsoft.IO.RecyclableMemoryStream                                                3.0.0          
   > Microsoft.NETCore.Platforms                                                        1.1.0          
   > Microsoft.NETCore.Targets                                                          1.1.0          
   > Microsoft.SqlServer.Server                                                         1.0.0          
   > Microsoft.Win32.Primitives                                                         4.3.0          
   > Microsoft.Win32.SystemEvents                                                       6.0.0          
   > MimeKit                                                                            4.4.0          
   > MiniProfiler.AspNetCore                                                            4.3.8          
   > MiniProfiler.AspNetCore.Mvc                                                        4.3.8          
   > MiniProfiler.Shared                                                                4.3.8          
   > MySqlConnector                                                                     2.3.0          
   > Namotion.Reflection                                                                3.1.1          
   > NCrontab                                                                           3.3.3          
   > NEST                                                                               7.17.5         
   > NETStandard.Library                                                                1.6.1          
   > NetTopologySuite                                                                   1.15.0         
   > NetTopologySuite.CoordinateSystems                                                 1.15.0         
   > NetTopologySuite.Core                                                              1.15.0         
   > Newtonsoft.Json                                                                    13.0.3         
   > NJsonSchema                                                                        11.0.0         
   > NJsonSchema.Annotations                                                            11.0.0         
   > NLog                                                                               5.2.8          
   > NLog.Extensions.Logging                                                            5.3.8          
   > NLog.Web.AspNetCore                                                                5.3.8          
   > NodaTime                                                                           3.1.11         
   > Npgsql                                                                             7.0.6          
   > OpenIddict.Abstractions                                                            5.3.0          
   > OpenIddict.Core                                                                    5.3.0          
   > OpenIddict.Server                                                                  5.3.0          
   > OpenIddict.Server.AspNetCore                                                       5.3.0          
   > OpenIddict.Server.DataProtection                                                   5.3.0          
   > OpenIddict.Validation                                                              5.3.0          
   > OpenIddict.Validation.AspNetCore                                                   5.3.0          
   > OpenIddict.Validation.DataProtection                                               5.3.0          
   > OpenIddict.Validation.SystemNetHttp                                                5.3.0          
   > OrchardCore.Translations.All                                                       1.8.0          
   > OrchardCore.Translations.ar                                                        1.8.0          
   > OrchardCore.Translations.cs                                                        1.8.0          
   > OrchardCore.Translations.de                                                        1.8.0          
   > OrchardCore.Translations.el                                                        1.8.0          
   > OrchardCore.Translations.es                                                        1.8.0          
   > OrchardCore.Translations.fa                                                        1.8.0          
   > OrchardCore.Translations.fi                                                        1.8.0          
   > OrchardCore.Translations.fr                                                        1.8.0          
   > OrchardCore.Translations.it                                                        1.8.0          
   > OrchardCore.Translations.ja                                                        1.8.0          
   > OrchardCore.Translations.mk                                                        1.8.0          
   > OrchardCore.Translations.pl                                                        1.8.0          
   > OrchardCore.Translations.pt-BR                                                     1.8.0          
   > OrchardCore.Translations.ru                                                        1.8.0          
   > OrchardCore.Translations.sv                                                        1.8.0          
   > OrchardCore.Translations.tr                                                        1.8.0          
   > OrchardCore.Translations.vi                                                        1.8.0          
   > OrchardCore.Translations.zh-CN                                                     1.8.0          
   > OrchardCore.Translations.zh-Hans                                                   1.8.0          
   > OrchardCore.Translations.zh-Hant                                                   1.8.0          
   > OrchardCore.Translations.zh-TW                                                     1.8.0          
   > Parlot                                                                             0.0.24         
   > PdfPig                                                                             0.1.8          
   > Pipelines.Sockets.Unofficial                                                       2.2.8          
   > Polly                                                                              7.2.4          
   > Polly.Core                                                                         8.3.0          
   > Polly.Extensions                                                                   8.3.0          
   > Polly.Extensions.Http                                                              3.0.0          
   > Polly.RateLimiting                                                                 8.3.0          
   > runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl           4.3.0          
   > runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl          4.3.0          
   > runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl          4.3.0          
   > runtime.native.System                                                              4.3.0          
   > runtime.native.System.IO.Compression                                               4.3.0          
   > runtime.native.System.Net.Http                                                     4.3.0          
   > runtime.native.System.Security.Cryptography.Apple                                  4.3.0          
   > runtime.native.System.Security.Cryptography.OpenSsl                                4.3.0          
   > runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl      4.3.0          
   > runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl      4.3.0          
   > runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple            4.3.0          
   > runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl          4.3.0          
   > runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl             4.3.0          
   > runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl       4.3.0          
   > runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl       4.3.0          
   > runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl       4.3.0          
   > Shortcodes                                                                         1.3.3          
   > SixLabors.ImageSharp                                                               3.1.3          
   > SixLabors.ImageSharp.Web                                                           3.1.1          
   > Spatial4n                                                                          0.4.1.1        
   > SQLitePCLRaw.bundle_e_sqlite3                                                      2.1.6          
   > SQLitePCLRaw.core                                                                  2.1.6          
   > SQLitePCLRaw.lib.e_sqlite3                                                         2.1.6          
   > SQLitePCLRaw.provider.e_sqlite3                                                    2.1.6          
   > StackExchange.Redis                                                                2.7.33         
   > System.AppContext                                                                  4.3.0          
   > System.Buffers                                                                     4.5.1          
   > System.Collections                                                                 4.3.0          
   > System.Collections.Concurrent                                                      4.3.0          
   > System.Collections.Immutable                                                       8.0.0          
   > System.ComponentModel                                                              4.3.0          
   > System.ComponentModel.Primitives                                                   4.3.0          
   > System.Configuration.ConfigurationManager                                          6.0.1          
   > System.Console                                                                     4.3.0          
   > System.Data.Common                                                                 4.3.0          
   > System.Diagnostics.Debug                                                           4.3.0          
   > System.Diagnostics.DiagnosticSource                                                8.0.0          
   > System.Diagnostics.EventLog                                                        6.0.0          
   > System.Diagnostics.StackTrace                                                      4.3.0          
   > System.Diagnostics.Tools                                                           4.3.0          
   > System.Diagnostics.Tracing                                                         4.3.0          
   > System.Drawing.Common                                                              6.0.0          
   > System.Dynamic.Runtime                                                             4.3.0          
   > System.Formats.Asn1                                                                8.0.0          
   > System.Globalization                                                               4.3.0          
   > System.Globalization.Calendars                                                     4.3.0          
   > System.Globalization.Extensions                                                    4.3.0          
   > System.IdentityModel.Tokens.Jwt                                                    7.4.0          
   > System.IO                                                                          4.3.0          
   > System.IO.Compression                                                              4.3.0          
   > System.IO.Compression.ZipFile                                                      4.3.0          
   > System.IO.FileSystem                                                               4.3.0          
   > System.IO.FileSystem.AccessControl                                                 5.0.0          
   > System.IO.FileSystem.Primitives                                                    4.3.0          
   > System.IO.Hashing                                                                  6.0.0          
   > System.IO.Packaging                                                                8.0.0          
   > System.IO.Pipelines                                                                5.0.1          
   > System.Linq                                                                        4.3.0          
   > System.Linq.Async                                                                  6.0.1          
   > System.Linq.Expressions                                                            4.3.0          
   > System.Memory                                                                      4.5.4          
   > System.Memory.Data                                                                 1.0.2          
   > System.Net.Http                                                                    4.3.0          
   > System.Net.Primitives                                                              4.3.0          
   > System.Net.Sockets                                                                 4.3.0          
   > System.Numerics.Vectors                                                            4.5.0          
   > System.ObjectModel                                                                 4.3.0          
   > System.Reflection                                                                  4.3.0          
   > System.Reflection.Emit                                                             4.3.0          
   > System.Reflection.Emit.ILGeneration                                                4.3.0          
   > System.Reflection.Emit.Lightweight                                                 4.3.0          
   > System.Reflection.Extensions                                                       4.3.0          
   > System.Reflection.Metadata                                                         5.0.0          
   > System.Reflection.Primitives                                                       4.3.0          
   > System.Reflection.TypeExtensions                                                   4.3.0          
   > System.Resources.ResourceManager                                                   4.3.0          
   > System.Runtime                                                                     4.3.0          
   > System.Runtime.Caching                                                             6.0.0          
   > System.Runtime.CompilerServices.Unsafe                                             6.0.0          
   > System.Runtime.Extensions                                                          4.3.0          
   > System.Runtime.Handles                                                             4.3.0          
   > System.Runtime.InteropServices                                                     4.3.0          
   > System.Runtime.InteropServices.RuntimeInformation                                  4.3.0          
   > System.Runtime.Numerics                                                            4.3.0          
   > System.Runtime.Serialization.Primitives                                            4.3.0          
   > System.Security.AccessControl                                                      6.0.0          
   > System.Security.Cryptography.Algorithms                                            4.3.0          
   > System.Security.Cryptography.Cng                                                   5.0.0          
   > System.Security.Cryptography.Csp                                                   4.3.0          
   > System.Security.Cryptography.Encoding                                              4.3.0          
   > System.Security.Cryptography.OpenSsl                                               4.3.0          
   > System.Security.Cryptography.Pkcs                                                  8.0.0          
   > System.Security.Cryptography.Primitives                                            4.3.0          
   > System.Security.Cryptography.ProtectedData                                         6.0.0          
   > System.Security.Cryptography.X509Certificates                                      4.3.0          
   > System.Security.Cryptography.Xml                                                   8.0.0          
   > System.Security.Permissions                                                        6.0.0          
   > System.Security.Principal.Windows                                                  5.0.0          
   > System.Text.Encoding                                                               4.3.0          
   > System.Text.Encoding.CodePages                                                     8.0.0          
   > System.Text.Encoding.Extensions                                                    4.3.0          
   > System.Text.Encodings.Web                                                          8.0.0          
   > System.Text.Json                                                                   8.0.3          
   > System.Text.RegularExpressions                                                     4.3.0          
   > System.Threading                                                                   4.3.0          
   > System.Threading.Channels                                                          4.7.1          
   > System.Threading.RateLimiting                                                      8.0.0          
   > System.Threading.Tasks                                                             4.3.0          
   > System.Threading.Tasks.Extensions                                                  4.5.4          
   > System.Threading.Tasks.Parallel                                                    4.3.0          
   > System.Threading.Timer                                                             4.3.0          
   > System.Windows.Extensions                                                          6.0.0          
   > System.Xml.ReaderWriter                                                            4.3.0          
   > System.Xml.XDocument                                                               4.3.0          
   > TimeZoneConverter                                                                  6.1.0          
   > YesSql                                                                             5.0.0-beta-0002
   > YesSql.Abstractions                                                                5.0.0-beta-0002
   > YesSql.Core                                                                        5.0.0-beta-0002
   > YesSql.Filters.Abstractions                                                        5.0.0-beta-0002
   > YesSql.Filters.Query                                                               5.0.0-beta-0002
   > YesSql.Provider.MySql                                                              5.0.0-beta-0002
   > YesSql.Provider.PostgreSql                                                         5.0.0-beta-0002
   > YesSql.Provider.Sqlite                                                             5.0.0-beta-0002
   > YesSql.Provider.SqlServer                                                          5.0.0-beta-0002
   > ZString                                                                            2.5.1          

@Piedone
Copy link
Member

Piedone commented Mar 18, 2024

Ah OK, good, thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants