Click here to Skip to main content
15,868,419 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi,

I am trying to find out how Orchard CMS install/uninstall a module. (I am trying to develop a plugin base framework).
I have downloaded the Orchard source code and so far it seems it installs a module by using nuget (PackageRepositoryFactory) and copy/unzip the package where it should be.
I can see the list of packeges inside the module folder, and I can see the dll inside each module's bin folder but not in the main application bin folder.

Now, my question is how orchard find the dll's that don't exist inside the application bin folder(main application)?

How does it uninstall a module? (I haven't been able to unload an assembly without killing the Appdomain)

I have't found any trace of using Catelog, Appdomain AssemblyResolve or ... so far!

Please point me to the right direction if I am in the wrong one.

Edited:
OK, It seems Orchard copy the dlls into App_Data\Dependencies folder (set in web.config privatePath). but now how about a dll with different version and same name?

Thank you,
Aidin
Posted
Updated 31-Jul-15 12:37pm
v2

1 solution

Detecting whether a library exists or not is simple, framework would throw an error saying that the library was not found in your environment. Then, Orchard on the front-end shows you error or handles the removal of features from your CMS for which the libraries are not found.

It is similar to showing an error message, instead they remove the function. This makes it better and less annoying than showing an error message to the user, which usually ends up user giving up on your frameworks.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900