AdamsLair / duality

a 2D Game Development Framework
https://adamslair.github.io/duality
MIT License
1.41k stars 288 forks source link

Make PackageManager More Reliable Across Various Package Configurations #703

Closed ilexp closed 5 years ago

ilexp commented 5 years ago

Summary

The current PackageManager implementation does not explicitly handle NuGet target framework folders, causing some packages to fail installation in Duality. The PackageManager should be extended to have a clear framework and version preference, leading to more reliable and predictable results for those packages.

How to reproduce

Workaround

Analysis

ilexp commented 5 years ago

Progress

ToDo

ilexp commented 5 years ago

Related: Issue #696

Barsonax commented 5 years ago

Hmm I was under the impression we needed to upgrade nuget in order to support targetframework folders but it seems you have a solution that can do this without upgrading nuget? Nice work!

ilexp commented 5 years ago

Hmm I was under the impression we needed to upgrade nuget in order to support targetframework folders but it seems you have a solution that can do this without upgrading nuget? Nice work!

Limited support only, so you're correct when thinking about the full deal.

What we get is an explicit priority decision between "old" frameworks such as .NET Framework or PCLs profiles, as well as explicit handling of per-framework files within a package. However, new frameworks such as .NET Standard will only show up as "Unsupported, Version 0.0" and while it would be possible to do custom parsing of the lib folder to distinguish them, a NuGet upgrade would solve this properly.

Usually, a .NET Standard library would still be consumable, since as far as I recall the official recommendation is to multi-target most of them with both .NET Standard and the equivalent .NET Framework.

ilexp commented 5 years ago

Progress

ToDo

ilexp commented 5 years ago

Merged and released.