Ayende vs Web Projects: Part N
For the last week of so, my life has been relatively free from annoyances with web projects. I've learned to work around most of the issues, and except from the slow build times (Ctrl+Shift+B is hardwired into my left hand now, and I can't really change it, anyone has a config editor for muscles?) and the slower refactoring times, I'm happy.
I just adore refactoring, and I use it all over the place, and the slowness of refactoring in each and every time I make a change in a solution that includes a web project is pure hell. So I'm facing a big refactoring phase, and I'm not really ready to turn it into half a day looking at a progress bar crawling all over the screen.
I thought to remove the web project from the solution, refactor, and then add the web project back, and fix by hand any errors that I created. Not a problem, right? But the moment I added the web project back into the solution I had to face again all those issues about web projects again. It forgot all about the project references that I added to it (since they are managed in the solution level, and I deleted those when I removed the project). But the highlight moment of the ordeal was when I tried to add the references again.
A short explanation about my project.
- The Web Project needs Project A
- The Web Project needs Project B
- Project A is dependent on Project B
When I tried to add both A & B to the web project, I got an error, saying that project B is already added. The add reference dialog also copy all the dependent dlls to the Web Project Bin, but I'm not sure how it handles this situation. It's a drastic change from the way the rest of the .Net framework works, since it will usually error on situtations like this, where the child project is referenced, but a parent project is not. I understand what is happening behind the scene, I just really don't like it.
In order to add Project B, I needed to remove Project A, add Project B, and then add Project A. By then I was so busy with web project stuff that I totally forgot that I refactored, and I could understood why I was getting build errors. (Worse, for some reason double clicking them didn't brought up the page unless it was already opened).
When I finally did, it was a smack-your-head moment, two minutes fixes, and clean build ever since.
Comments
Comment preview