Tengo dos soluciones en mi espacio de trabajo, digamos A y B.
La solución A es un proyecto anterior que terminé de codificar hace algún tiempo. En la solución B, necesito usar algunas clases de la Solución A. Para hacerlo, agrego una referencia a la dll de uno de los proyectos en la solución A.
El problema es cuando intento depurar. Quiero poder entrar en el código de A también. Visual Studio no puede cargar el código para estas clases ("No hay código fuente disponible para la ubicación actual") y solo puedo ver el desmontaje, lo que no es útil.
La única forma en que sé depurar clases de la solución A es ejecutando la solución B, desconectar todos los procesos (en el elemento del menú Depurar) y adjuntar el proceso de la solución A.
Sin embargo, esto es muy inconveniente y solo puedo depurar A o B a la vez.
¿Hay alguna manera de permitir entrar en el código de dlls referenciados (para lo cual sí tengo el código fuente)?
Solución: Mi error fue pensar que un proyecto solo puede ser parte de una única solución. De hecho, un proyecto puede ser parte de cualquier cantidad de soluciones.
Cuando necesite hacer referencia al proyecto anterior, simplemente debe agregar el proyecto a la solución. Esto se hace haciendo clic derecho en la nueva solución en el Explorador de soluciones> Agregar> Proyecto existente.
Luego, podrá agregar la referencia del proyecto. Como otros escribieron, probablemente debería evitar por completo el uso de referencias dll a su propio código (u otro código que necesite cambiar y depurar).
Se puede encontrar una muy buena referencia sobre cómo se deben diseñar las soluciones en MSDN .