Click here to Skip to main content
15,887,350 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hi, I am developing a large windows form application. It contains more than 20 Class library. Whenever I made changes on any one of the library function, then I supposed to clean and rebuild all other class library's which refers. Some times I need to delete the reference and supposed to Browse-> Add. It spoils my entire development time. Is there any alternative way to solve it.
My Project Structure:

Solution 'Sample'(20 projects)
Folder_A
AA.dll
BB.dll
XX.dll
Folder_B
AA.dll
BB.dll
XX.dll
Folder_X
AA.dll
BB.dll
XX.dll
Consider .dll as class library project. Each and every one refers other. In this case, if I made any changes ex(Folder_A - AA.dll) then I supposed to delete AA.dll reference form other project and add it again. Some times I am getting confused. Is there any easy way to make it automatically.
Posted
Updated 23-Feb-15 7:03am
v2

1 solution

No, you don't need to clear and rebuild all. The build is incremental, based on time stamps and detection of real change in the sources, unless you explicitly command the full rebuild, instead of build. Besides, C# compilation and build is so fast that it's hard to believe that it really "spoils your entire development time".

Anyway, you can improve it any time by breaking your solution into some separate assemblies. Remember that it's quite easy to do at any later time and change the boundaries between assemblies if your previous decision was not convenient enough. It's the best to keep all projects in one solution and add references by projects, which are more stable and will tolerate more changes in your projects (name, location, signatures). In particular, it eliminates the need for removing a reference and adding it again. All it takes is using public access modifiers for the types and members to be used in another assembly. I would only recommend not doing it completely ad-hoc, but try to plan distinct layers in your solution.

—SA
 
Share this answer
 
v3

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