The same way people make their mods dependant on Jotunn, now they can make them dependant on this redistribution so the dll is not repeated all over the codebase.
the issue you are describing is not an issue at all in C#. Each mod has its own scope and knows the specific assemblies it references only, including the version.
Or simply: assemblyA.GetType("type") != assemblyB.GetType("type")
Also, I am not sure how you imagine this to work. Do you expect people to copy the dll into every mods folder ...? Mod authors SHOULD bundle everything their mod needs, so you can move the dll wherever and it will still work.
I 100% agree and I'm curious why they uploaded it. I'm intrigued but confused. Maybe it does something awesome that I would love but I don't know what it does due to the complete lack of a description.
The problem I am describing is called "Dependecy Hell" and is an active problem in the .Net community.
That is false. If that were the case, updating dependencies would render your mod unusable because the versioning it expects would be different.
As far as I understand it, at runtime .Net generates a domain that contains every assembly the application needs. In case there are different versions of the same assembly it will choose the most adequate one, which often is the latest. It is probably fine because this libraries are usually very reliable and stable between versions, but you know what they say, better safe than sorry.
I don't understand why you want users to copy the dll into every mod, since that is exactly what this redistribution aims to avoid.
I use Json in various of my mods and I don't want to ship the Json assemblies with each of them. Now I can just mark this as a dependency and be done with it. Both will use the same version and it won't be repeated all over the codebase.
That is false. If that were the case dependencies wouldn't be a thing, but they are ¯\_(?)_/¯
You could do that before (and after) the existence of this redistribution.
7 comments
the issue you are describing is not an issue at all in C#.
Each mod has its own scope and knows the specific assemblies it references only, including the version.
Or simply:
assemblyA.GetType("type") != assemblyB.GetType("type")
Also, I am not sure how you imagine this to work. Do you expect people to copy the dll into every mods folder ...?
Mod authors SHOULD bundle everything their mod needs, so you can move the dll wherever and it will still work.
Cheers.
That is false. If that were the case, updating dependencies would render your mod unusable because the versioning it expects would be different.
As far as I understand it, at runtime .Net generates a domain that contains every assembly the application needs. In case there are different versions of the same assembly it will choose the most adequate one, which often is the latest. It is probably fine because this libraries are usually very reliable and stable between versions, but you know what they say, better safe than sorry.
I don't understand why you want users to copy the dll into every mod, since that is exactly what this redistribution aims to avoid.
I use Json in various of my mods and I don't want to ship the Json assemblies with each of them. Now I can just mark this as a dependency and be done with it. Both will use the same version and it won't be repeated all over the codebase.
That is false. If that were the case dependencies wouldn't be a thing, but they are ¯\_(?)_/¯
You could do that before (and after) the existence of this redistribution.