Is there a way to have 2 different versions of the CSLA .net framework active and used for ONE windows application? We have an older app that is using the 1.5 version and we will be adding and porting code to this baseline and would like to use the latest CSLA .net framework. I have tried to have the references there in the sol'n/project but the namespace is the same for the 2 different versions and the build will not work as it gets confused on which is which....
All help greatly appreciated...
You're going to have several issues, the first of which (compiler confusion) you've already seen. That's potentially fixable, though the fix isn't pretty. Basically, you have to pick one version of CSLA and re-namespace the whole thing. Aside from creating a non-standard CSLA implementation, the choice is not easy - do you re-namespace 4.0, thus causing all your future work to be "wrong"; or do you re-namespace 1.5, thus forcing you to go back and fix all your existing code? The former choice (re-namespacing 4.0) could make more work for you later, if you choose to go back and fix your 4.0 namespaces once all vestiges of 1.5 are gone. The latter forces you to do that work up-front. I wouldn't recommend re-namespacing 4.0 and leaving it, since that will just make more work later.
Of larger concern is that I'm pretty sure .NET won't run different versions of the framework in the same AppDomain. Given that the latest version targets .NET 4, while 1.5 targets 1.0 (or is it 1.1?), that presents a problem. You probably could re-compile 1.5 targeting .NET 4, but I don't know what might break, or work way differently than you expect it to.
Ultimately, all the work you will have to do just to get the two versions to co-exist is probably not worth it. You'll have to change so much of your BO code in the jump from 1.5 to 4 anyway that you're likely not saving yourself all that much (it's not so much a port as a re-write.) Trying to have some sort of "bridge" where you have code in both versions is likely going to be a nightmare to try and maintain, because the two frameworks do things so differently.
Copyright (c) Marimer LLC