Mam dwa rozwiązania w moim obszarze roboczym, powiedzmy A i B.
Rozwiązanie A to starszy projekt, którego kodowanie zakończyłem jakiś czas temu. W rozwiązaniu B potrzebuję niektórych klas z rozwiązania A. Aby to zrobić, dodaję odwołanie do biblioteki dll jednego z projektów w rozwiązaniu A.
Problem pojawia się, gdy próbuję debugować. Chcę mieć również możliwość wejścia do kodu A. Visual Studio nie jest w stanie załadować kodu dla tych klas („Brak kodu źródłowego dla bieżącej lokalizacji”) i mogę tylko wyświetlić dezasemblację, która nie jest przydatna.
Jedynym sposobem, w jaki znam, aby debugować klasy z rozwiązania A, jest uruchomienie rozwiązania B, odłączenie wszystkich procesów (w pozycji menu Debugowanie) i dołączenie procesu do rozwiązania A.
Jest to jednak bardzo niewygodne i mogę jednocześnie debugować tylko A LUB B.
Czy istnieje sposób, aby zezwolić na przejście do kodu bibliotek DLL, do których istnieją odwołania (dla których mam kod źródłowy)?
Rozwiązanie: Mój błąd polegał na tym, że myślałem, że projekt może być tylko częścią jednego rozwiązania. W rzeczywistości projekt może być częścią dowolnej liczby rozwiązań.
Gdy potrzebujesz odwołać się do starego projektu, po prostu dodaj projekt do rozwiązania. Odbywa się to, klikając prawym przyciskiem myszy nowe rozwiązanie w Eksploratorze rozwiązań> Dodaj> istniejący projekt.
Następnie będziesz mógł dodać odwołanie do projektu. Jak napisali inni, prawdopodobnie powinieneś całkowicie unikać używania odwołań dll do własnego kodu (lub innego kodu, który możesz potrzebować zmienić i debugować).
Bardzo dobre odniesienie do tego, jak należy projektować rozwiązania, można znaleźć w witrynie MSDN .