CSLA Project in your solution or just DLL?

CSLA Project in your solution or just DLL?

Old forum URL: forums.lhotka.net/forums/t/4780.aspx


reagan123 posted on Thursday, May 01, 2008

Just curious.  For those using CSLA, do you have the actual CSLA project in your solution where your able to step into it or do you just reference the dll since nothing should change anyway?

Thanks for any feedback.

skagen00 replied on Thursday, May 01, 2008

We just have the DLL and PDB and it does not prohibit us from stepping into CSLA when debugging.

JoeFallon1 replied on Thursday, May 01, 2008

FYI.

Rocky has recommended several times that you should always build the CSLA.dll in a stand alone project and then just add it to your business app project.

If you include CSLA in your business app as a project then you are asking for trouble.

Joe

 

reagan123 replied on Thursday, May 01, 2008

Thanks for the replies everyone.  We were planning on doing what you stated Joe... I was just seeing if there is any reason not to do it that way.

Thanks again!

SouthSpawn replied on Thursday, May 01, 2008

Joe,
 
For the sake of asking.

Why is it bad to add the actual project to your solution?

I have done this, and I haven't had any trouble at all.
I don't make any chances to the CSLA code, so nothing is really effected at all.
 
What am I not thinking of?

Thanks,
Mark

RockfordLhotka replied on Friday, May 02, 2008

The primary issue you'll run into is with various controls. Many times if you change Csla.dll and are using controls (Windows, Web, WPF) you'll have to close and re-open VS (or at least your solution) to get the controls to load from the new assembly. This can cause some serious issues and destabilization of VS sometimes.

Additionally, it is just a best practice to treat external components as being, well, external.

Personally I always build Csla.dll (and any other external assemblies/controls) and put the assembly into a folder in my solution, and then I add that folder to source control. So the binary is in source control and my projects reference that binary.

Especially in a team setting this is good, because it requires a concious effort to change a library/component that is shared by everyone. Makes life a lot simpler!

Copyright (c) Marimer LLC