Link to home
Start Free TrialLog in
Avatar of FIM2003
FIM2003Flag for United States of America

asked on

Modifying and Debugging BLL/DAL

I am trying to find a logic error in an existing project and have eliminated all possibilities in the project itself. I need to be able to debug and modify the BLL in order to find and fix the problem.

Having never worked with these before, I am completely in the dark on how to pull them onto my test server and attach them to the version of the project I've been modifying.

I've found lots of information on how to create new ones, but I don't see how to pull the source code out, modify it, recompile and attach it to the test project. Much LESS how to debug it! :)

Appreciate your help!
Avatar of Rajkumar Gs
Rajkumar Gs
Flag of India image

If you want to debug into the source code in BLL/DAL dll, add reference to the dll of that project (BLL & DAL) directly from the location inside its source code folder. Whenever you make a change in BLL or DAL just right-click the reference DLL and select 'Update Reference'. this will update the dll from the source code folder that project.

You can also debug into the source code of BLL/DAL, if you do in this manner. I worked in this way in my first project.

Raj
Another way is to add three project into one solution file.
1. GUI
2. BLL
3. DAL
Add reference in the way I suggested above. This will be more easier, so that you have to open only one solution to view all the three projects

Hope it is clear
Raj
Avatar of FIM2003

ASKER

So for either of these ideas, do I have to recompile? I've never worked with DLL's and haven't a clue. The source code I have is NOT the actual BLL/DAL files, but the actual c# that is running. I thought there was a compilation step that turned them into the references.

Also, the location of them would change with that. Update references fixes that?
Usually, you will find symbol files (.pdb) with the dlls and exes. Visual studio should find them automatically but there are ways to give it hints. You will need the pdbs if BLL & DAL are in separate solutions.

What I usually do is put a break point in the exe source where it is calling into BLL. When the debugger hits the breakpoint, step into the method. it should automatically open the BLL source file.

And you should not need to recompile.
Avatar of FIM2003

ASKER

Maybe I'm not being clear. I have NO experience with this at ALL.

I don't see HOW to point it to an edited version of the BLL/DAL Right now, it points to the production version and without recreating from scratch, I don't see how to make it choose one where I have made changes to the source code. I just have the source code so I can look at what it is doing, but it is just that - C# source code. No pdb or anything. So from my main project, how would I do that? Update Reference would just update the production version which hasn't changed (and CAN'T yet).

>> So for either of these ideas, do I have to recompile?

In case of 1st suggestion - http:#33737083
If there is any change in BLL or DAL project, you need to first open that project in Visual Studio and compile it. This will update the DLL related to that project after compilation. After this in your main project (GUI) you have to right-click the DLL of BLL / DAL and Click 'Update Reference'. This will update the DLL of BLL / DAL with the latest version of DLL from the location you added reference to this project.

In case of 2nd suggestion - http:#33737092
Since these three projects are in a single solution, NO need to compile BLL / DAL separately. It will automatically recompile the DLL of them, if there is any change to source code.

>> The source code I have is NOT the actual BLL/DAL files, but the actual c# that is running

I am not clear! Do you mean that you have the source code, not DLL files ?
>>  I thought there was a compilation step that turned them into the references.

As per my knowledge there is NO compilation step to turn the BLL/DAL project's DLL into reference.
ASKER CERTIFIED SOLUTION
Avatar of Rajkumar Gs
Rajkumar Gs
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of FIM2003

ASKER

Thanks! I FINALLY got it to point there! Removing it first helped - I kept trying to just CHANGE the direction. Now cross your fingers I can get it working!!!