Closed 3F closed 2 years ago
Because, for example, VS 16.6.3 can't process the following:
<package id="ILAsm" version="4.700.1" />
<package id="ILAsm" version="4.700.2" />
Either fails for opening manager in IDE or even crashed menu item :)
Therefore, any possible adding should be considered as /no more than one/ for the same id.
Rebased onto f5374f8675eef82eba16b176a1f01efeb0104547
Finally pushed some implementation (based on my https://github.com/3F/MvsSln/issues/27#issuecomment-650455307)
A small changes to the original design:
Removed methods:
- IPackagesConfig.LoadOrNew() - IPackagesConfig.Load()
PackagesConfigOptions was introduced instead.
Added:
+ IPackageInfo.Remove() - actually just for the convenience. Will be invoked IPackagesConfig.Remove() related method. + IPackageInfo.VersionParsed - same, For the better performance it will be initialized only on the first access. Thread-safe.
Not yet fully tested. Need to cover the remaining parts. Play before merge!
Closes #28 Related #27
This also will add support for GetNuTool compatible packages
In particular, the following format https://github.com/3F/GetNuTool#format-of-packages-list
Not yet implemented. Currently, I think IPackagesConfig and IPackageInfo fully represents design of the future logic.