On 07.04.2011 14:57, Sermus wrote: > :) > I don't own those assemblies. In such circumstances it would be easier to > rename the assembly file. But i can't do even this (due to the deployment > restrictions of the whole system).
Renaming them on disk won't help either, because the assembly name is set in stone in assembly's metadata. But you still have some options: - The fast and felonious ;) Decompile the assemblies to IL, rename them/add a version attribute. If you're EU citizen, this might be conformable to law, regardless of the license agreement of these assemblies. IANAL, though ;) - The "hamster wheel" enthusiast Use distinct AppDomains per assembly and implement a proxy that creates objects and invokes methods in these AppDomains, if your types are neither MarshalByRefObjects nor [Serializable]. - The "hacker" Hack the runtime to assign those specific assemblies a unique assembly identity (change their version based on their path or something like that). - The über-hacker Provide a patch for the issue :) Robert > > I know i'm asking an annoying question, too many restrictions, but if they > were not here i'd already have a solution in my hands. > > Andrey. > > 2011/4/7 Robert Jordan [via Mono]< > [email protected]> > >> On 07.04.2011 13:06, Sermus wrote: >> >>> Sigh... >>> Again, you're right, but one quite common exception must be considered. >> Two >>> well designed components done by different people often become an ugly >>> system after integrating with each other. This is a situation i'm in now. >> >>> I understand that complaining is the last thing which could make the >>> differerence in this situation, so i'm asking a piece of advice. >>> Is there any way to make it load these assemblies as separate entities? >>> I could suck the files in as byte arrays and then create an assembly from >> >>> the byte array but in this situation they will lose their identity in >> terms >>> of their location. And they have to know where they're located. >> >> Give those assemblies different versions: >> >> [assembly: AssemblyVersion("1.0.0.0")] >> [assembly: AssemblyVersion("1.1.0.0")] >> [assembly: AssemblyVersion("1.2.0.0")] >> ... >> >> Robert >> >> _______________________________________________ >> Mono-list maillist - [hidden >> email]<http://user/SendEmail.jtp?type=node&node=3433212&i=0&by-user=t> >> http://lists.ximian.com/mailman/listinfo/mono-list >> >> >> ------------------------------ >> If you reply to this email, your message will be added to the discussion >> below: >> >> http://mono.1490590.n4.nabble.com/Loading-assemblies-from-different-places-tp3432917p3433212.html >> To unsubscribe from Loading assemblies from different places, click >> here<http://mono.1490590.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3432917&code=YW5kcmV5LnYuZmlsaW1vbm92QGdtYWlsLmNvbXwzNDMyOTE3fDQ2MTg3Nzg3MQ==>. >> >> > > > -- > View this message in context: > http://mono.1490590.n4.nabble.com/Loading-assemblies-from-different-places-tp3432917p3433313.html > Sent from the Mono - General mailing list archive at Nabble.com. > > > > _______________________________________________ > Mono-list maillist - [email protected] > http://lists.ximian.com/mailman/listinfo/mono-list _______________________________________________ Mono-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-list
