I'm totally new to stackexchange and i'm in this beautiful informative place for one problem. I'm a .net programmer and i need to write a program that reads a shapefile and performs routing operation. I'm looking for an open source solution. Is there any idea?
Small advice: use A* algorithm instead of Dijkstra, with a decent heuristic you'll get much better performance.
If the open source requirement isn't too strict (you already seem to accept Arcgis as part of the solution), you can also look at our RW Net solution (www.routeware.dk). It is a .NET component, which will import SHP files and let you do routing calculations. No need for adding fnode/tnode fields, since the component handles that internally.