DLL Versioning Question

Topics: General, Writing modules
Mar 31, 2011 at 4:40 AM

If I create two modules (MyModuleA and MyModuleB) and each references MyCompany.Business.dll 1.0.  

If I then upgrade MyModuleA to version 2.0 and reference MyCompany.Business.dll 2.0 (which is not backwards compatible) but I don't touch MyModuleB, will it still work?

Specific question. I am writing a module that needs SharpZip. If I use a version different from the one Orchard uses in some of its modules, do I risk breaking Orchard?

I know I can test this pretty quickly but figured I'd save myself the trouble and just ask. If not, what are you all doing for branching strategies? Simply assuming that changes to shared libraries will require refactoring of all dependent modules/widgets?

Thanks,
Will

Coordinator
Mar 31, 2011 at 5:09 AM

If the dependencies maintain back compat you're fine. Otherwise you're in trouble. If a library is already used by Orchard, use the same version in your own module.