I have one solution with three projects inside of it. These projects are all meant to be used independently if so desired. To give a clear picture, my projects are as follows:
-
“General” class library project that contains many base abstract classes like “Person” and some Helper classes.
-
“EmployeeManagement” class library project that contains classes like Employee : Person, EmployeeAddressList, and other things related to managing employees.
-
A web application project that references the above two projects to act as a presentation layer/web form. i.e. “editemployees.aspx.cs” for editing existing employee info, etc.
This is all fine and well, but when I make a lot of changes and then push all three projects to their three respective repositories, my co-worker will pull all of my changes from the three repositories, then open the overall solution. Everything is there and intact, but the web application project no longer recognizes the references to General and EmployeeManagement. They are listed in the References folder, but the code itself won’t compile, screaming all sorts of underlined red madness. The simple solution is to remove them from the References folder and then add them again, and like magic, everything just works again.
The questions I have are:
- why does this happen?
- what am I doing wrong? (perhaps the order of my pushing to the repositories or the order of his pulling is off?)
- what can I do to prevent this from happening?
Thanks 🙂
Most likely your directory layout is different than your coworker’s.
Your project looks to small to justify being spread over three repos. You’d better concentrate on the architecture of your software than to make life complicated by overengineered project infrastructure.
Btw. in svn we commit and update 🙂