DevToys-app / DevToys

A Swiss Army knife for developers.
https://devtoys.app/
MIT License
27.41k stars 1.47k forks source link

Extension assembly isolation #1430

Open veler opened 3 weeks ago

veler commented 3 weeks ago

Current behavior

DevToys relies on some dependencies, such as NuGet.Versioning, version 6.9.

If I create a DevToys extension that relies on a different version of NuGet.Versioning, such as 5.0 or 6.11, it is ignored, and instead, the version 6.9 is used.

This causes a major problem when an extension tries to invoke a feature from 6.11 that does not exist in 6.9.

See discussion here: https://github.com/DevToys-app/DevToys/discussions/1333#discussioncomment-11053480

How to reproduce it (as minimally and precisely as possible)

Create a DevToys extension that uses Nuget.Versioning version 6.11.

Expected behavior

it should uses the NuGet version I used in my extension

Screenshots

image

image

Workaround

Use the same version than DevToys.

Affected platforms

No response

Affected DevToys kind

DevToys (app with GUI)

DevToys Version

2.0.5.0

Relevant Assets/Logs

No response

jerone commented 1 week ago

Sadly the fix was reverted in #1449 as it was not compatible for all platforms.

Can we reopen this issue and is there a potential different fix?

Is this even an issue for Mac?

veler commented 5 days ago

Indeed, sorry about that. It was causing a regression on Mac so I quickly reverted the change. And yes, this issue also applies on Mac and Linux.