Eu tenho duas soluções no meu espaço de trabalho, digamos A e B.
A solução A é um projeto mais antigo que terminei de codificar há algum tempo. Na solução B, preciso usar algumas classes da solução A. Para fazer isso, adiciono uma referência à dll de um dos projetos na solução A.
O problema é quando tento depurar. Quero poder entrar no código de A também. O Visual Studio não pode carregar o código para essas classes ("Não há código fonte disponível para o local atual.") E só posso ver a desmontagem, o que não é útil.
A única maneira que conheço para depurar classes da solução A é executando a solução B, desanexe todos os processos (no item de menu Debug) e anexe o processo da solução A.
No entanto, isso é muito inconveniente e só posso depurar A ou B de uma vez.
Existe uma maneira de permitir entrar no código de dlls referenciadas (para as quais eu tenho o código-fonte)?
Solução: Meu erro foi pensar que um projeto só pode fazer parte de uma única solução. De fato, um projeto pode fazer parte de qualquer número de soluções.
Quando precisar fazer referência ao projeto antigo, basta adicionar o projeto à solução. Isso é feito clicando com o botão direito do mouse na nova solução em Solution Explorer> Add> Existing Project.
Em seguida, você poderá adicionar a referência do projeto. Como outros escreveram, você provavelmente deve evitar completamente o uso de referências de DLL ao seu próprio código (ou outro código que você precise alterar e depurar).
Uma referência muito boa sobre como as soluções devem ser projetadas pode ser encontrada no MSDN .