Re: Side-by-side, within an app
- From: Mrinal Kamboj <mrinal.kamboj@xxxxxxxxxx>
- Date: Sat, 16 Jul 2005 20:24:44 +0530
Hi ,
If u would have a peek through link send by me on msdn , then it clearly states about various App. config file parameters to get the required assembly loaded .
I think if u try playing with Assembly Identitiy , Binding Redirect , Code Base and Qualify Assembly , then ur stuff is very much acheivable .
What i think way out is :
1. Load Assembly using Assembly.LoadWithPartialName . 2. Define Qualify Assembly parameter in config file with complete details .
3. Get ur assemblies only in GAC , not in App. directory as it's first place to search otherwise .
4. make sure before ur refer to a different assembly , you change the config file at runtime .
that's what i can gather from MSDN .
Mrinal
Jon Shemitz wrote:
Have you tried loading each plugin into its own AppDomain, where as Jim suggests, each AppDomain has its PrivateBinPath set to the folder of the plugin?
I've told my customer that that's an option, but I'm reluctant to go that route because it will make inter-plugin communication more expensive.
Not to mention that that's a pretty huge change to make when we're already a month past the original date for handing a first version to QA ;-).
| I'm developing an app with a plugin architecture. Currently, all | plugins and all referenced assemblies live in the same directory as | the app itself. | | I'm being asked to move each plugin to its own directory, primarily so | that plugin A can use version X of component library L, while plugin B | can use version Y of the same component library L. That is, each | plugin will have the assemblies it needs (has a compile-time reference | to) in its own directory. | | I'm having some trouble getting this to work. ;-) | | I have a prototype loader that (statically) uses "Library", v1. I have | a prototype 'plugin' that (statically) uses both "Library", v2, and | "PrivateLibrary." When the loader dynamically loads the plugin, | "PrivateLibrary" loads just fine, but only "Library", v1. | | Even if, after loading, I try to load "Library", v2 (both via an | AssemblyName with a Name, Version, and CodeBase, or via a string like | "Library, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null") what | I get back is a reference to "Library", v1. (And this isn't even what | I want - I want loading each plugin to also load the plugin's personal | copy of any libraries (from the same directory as the plugin) without | any special work ... just like "PrivateLibrary" gets loaded.) | | Is what I'm being asked to do even possible? Any pointers will be | greatly appreciated!
.
- Follow-Ups:
- Re: Side-by-side, within an app
- From: Jon Shemitz
- Re: Side-by-side, within an app
- From: Mrinal Kamboj
- Re: Side-by-side, within an app
- References:
- Side-by-side, within an app
- From: Jon Shemitz
- Re: Side-by-side, within an app
- From: Jay B. Harlow [MVP - Outlook]
- Re: Side-by-side, within an app
- From: Jon Shemitz
- Side-by-side, within an app
- Prev by Date: Re: Abnormal Thread Termination
- Next by Date: Re: Side-by-side, within an app
- Previous by thread: Re: Side-by-side, within an app
- Next by thread: Re: Side-by-side, within an app
- Index(es):
Relevant Pages
|