This project is read-only.

How to build the Bio Framework?

Dec 30, 2013 at 3:10 PM
I am trying to build the Bio Framework so I can debug a class inherited from AmbiguousDnaAlphabet.

I have tried to add a solution and project from the Framework code that was added when I installed .NET Bio, but I cannot find project and solution files for the entire Framework.

I have also tried to follow the instructions in "Onboarding using Visual Studio with .NET Bio.docx" to connect to Team Foundation Server. But, the provided address, https://tfs09.codeplex.com, does not seem to be active.

What am I doing wrong?
Dec 30, 2013 at 3:20 PM
Assuming you did a full install, the source code will be in "C:\Program Files (x86)\.NET Bio\1.1\SDK\Framework". However it's not buildable from there - first because it's read-only, and second because I don't think all the solution and csproj files are installed. The source there is really for reference purposes so you can debug your code which is what it sounds like you want to do.

You should be able to place a breakpoint in any of your source files, or in the source code found above - the .PDB files are included in the distribution (and in Nuget which I pointed you to in the other post) which is all you need to debug through the source. There's no need to rebuild the libraries for that. Set your break point and when the system prompts you for the source file, navigate to the Program Files folder and all should be good from that point forward.

However, if you WANT to rebuild it, just go to the "Source Code" tab on bio.codeplex.com and use the "Download" link in the header there - this will download a .zip of the latest source tree. You don't need the TFS support unless you become a contributor at some point - that's only necessary to commit things back to the tree.

I hope that helps!

mark



Dec 30, 2013 at 5:26 PM
I tried putting a breakpoint in DnaAlphabet.MapAmbiguousNucleotide() located in "C:\Program Files (x86).NET Bio\1.1\SDK\Framework". This did not trip when I executed MapAmbiguousNucleotide() from a class I wrote that is derived from AmbiguousDnaAlphabet. It also would not step into this method.

I don't understand what would tell Visual Studio that either the .dll in "C:\Program Files (x86).NET Bio\1.1\SDK\Framework..." or the one that I got from NuGet (which is currently referenced in my project) is associated with that source file. And, I have not seen any .PDB file at all.

I apologize if I am missing something that should be obvious. I am primarily a geneticist and secondarily a programmer.
Dec 30, 2013 at 5:43 PM
Ah, sorry - I just checked and it looks like the PDB files are NOT in the download. That's unfortunate - I'll log a bug on that because they should be. The presence of the PDB files would tell VS to prompt you for the source file and it would be aware of the link once you loaded a source file matching a definition in the PDB.

I downloaded the latest tree and build the Core libraries; here's the DLLs and PDBs for Bio.dll and Bio.IO.dll in both release and debug form. Just copy all the files from either folder into your project (replacing the existing copies) and then you should be able to debug from your code.


Alternatively, you can do exactly what I did -- click the "Download" link off the Source Code tab from bio.codeplex.com and then build the Bio.Core solution.

mark




Dec 31, 2013 at 8:10 PM
Mark:

Thanks, I got your alternative method to work.

A few points in case others have the same problem:

I was not able to open the solution files with Visual Studio 2010 Professional. I downloaded Visual Studio Express 2013 and (after some confusing dialogs from Microsoft about Visual Studio Online) I was able to build the Bio and BioCore solutions.

In order to debug through this code, it seems necessary to remove any previous references to the Bio dll's (such as from NuGet) and add new references to the newly built dll's. This is obvious unless you don't know to do it.

Thanks again for your help.

Mark