Visual Studio - Додайте вихідний код до посилання


75

Мій проект C # посилається на сторонні DLL, для яких я маю вихідний код. Чи можу я якось сказати Visual Studio розташування цього вихідного коду, так що, наприклад, коли я натискаю, F12щоб відкрити визначення методу в DLL, він відкриє вихідний код, замість того щоб відкрити "Клас [від метадані] "код заглушки?


1
Дивіться повторне запитання: stackoverflow.com/questions/5368423/…
Скотт Стаффорд

Відповіді:


28

Якщо ви використовуєте ReSharper , ви можете увімкнути його, перейшовши до ReSharper / Параметри / Зовнішні джерела та перемістившись вгору "Джерела з файлів символів". Потім на вкладці "Джерела з файлів символів" натисніть "Додатково" і там ви зможете зіставити вихідні папки.


16
Що таке "цільова папка" для цього діалогового вікна? У мене просто є DLL і папка джерел, які я хотів би долучити для цілей навігації.
Іен

24

Схоже, відповідь знаходиться внизу цієї сторінки документації MSDN .

Налагоджувач шукає вихідні файли в таких місцях:

  1. Файли, відкриті в IDE екземпляра Visual Studio, який запустив налагоджувач.

  2. Файли в рішенні, відкритому в екземплярі VS.

  3. Каталоги, вказані на сторінці "Загальні властивості" / "Налагодження вихідних файлів" у властивостях рішення.

  4. Інформація про джерело .pdb модуля. Це може бути розташування вихідного файлу, коли був побудований модуль, або це може бути команда для вихідного сервера.

Щоб додати каталог на сторінку налагодження вихідних файлів рішення (крок 3. вище):

Ви можете вказати мережу або локальні каталоги для пошуку вихідних файлів.

  1. Виберіть рішення в Провіднику рішень, а потім виберіть "Властивості" в контекстному меню (тобто контекстне меню, що клацне правою кнопкою миші).

  2. У розділі "Загальні властивості" виберіть "Налагодження вихідних файлів".

  3. Клацніть на піктограму папки. Текст, який можна редагувати, з’являється у списку «Каталоги, що містять вихідний код».

  4. Додайте шлях, який потрібно шукати.

Зверніть увагу, що здійснюється пошук лише у вказаному каталозі. Ви повинні додати записи для будь-яких підкаталогів, які потрібно шукати.

Отже, якщо ви просто хочете один раз налагодити певний файл, не захаращуючи рішення, просто відкрийте цей файл у середовищі Visual Studio IDE; якщо вам потрібно перейти від цього файлу до інших, вам, ймовірно, доведеться також відкрити інші файли у Visual Studio.

Якщо вам часто доводиться налагоджувати вихідні файли поза вашим рішенням, ви можете:

  1. Додайте вихідні файли до одного з існуючих проектів у рішенні або створіть новий проект у рішенні для розміщення вихідних файлів. Це загрожує вашим рішенням / проектом, але оскільки його буде перевірено на вихідний контроль, усі члени команди зможуть автоматично налагоджувати вихідні файли.
  2. Додайте каталоги, що містять вихідний код, до "Налагодження вихідних файлів" рішення. Оскільки ця зміна не перевіряється в елементі керування джерелом, кожен член команди, який хоче налагодити вихідні файли, повинен буде це зробити та додати свої локальні шляхи. Крім того, якщо ви отримуєте код рішення на іншій машині, вам потрібно буде пам’ятати про повторне виконання цього кроку.

5
На жаль, це працює лише у разі налагодження запущеної програми, яка використовує збірку. Те, що Джо шукав, - це спосіб здійснити навігацію кодом (наприклад, знайти визначення, звички тощо) в IDE без запуску коду. Якщо ReSharper вирішив цю проблему, чудово. Я сподіваюся, що новіші версії Visual Studio також мають вбудовану можливість. Але я не можу її знайти. Хтось знає?
Міню

2
Resharper - це єдиний спосіб, який я міг знайти, що робить це. Я вражений тим фактом, що Visual Studio 2015 Enterprise (настільки дорогий компонент програмного забезпечення) не підтримує настільки просту функцію, яка, здається, є лише задумом в середовищі інтегрованих середовищ для розробки корпоративного класу, таких як Eclipse, безкоштовний продукт програмне забезпечення.
netlander

@netlander, чи можете ви надати інструкції щодо цього за допомогою ReSharper ?.
Jaime Hablutzel

9

Одним із способів зробити це було б створити інший проект у своєму рішенні, помістити туди джерело DLL, а потім з основного проекту додати залежність як посилання на проект замість посилання на збірку. Це має дозволити вам переглядати джерело / крок до нього під час налагодження тощо.

Це може бути простіший спосіб зробити це, але я наразі не знаю про це.


11
Це трохи захаращує рішення, і це означає, що я сам складаю сторонні бібліотеки DLL, що відчуває себе трохи дивно / повільніше. Я сподівався, що Visual Studio має еквівалент опції Eclipse "прикріпити джерело" при посиланні на файл JAR.
Джо Дейлі,

1
Так, я знаю, що це менше, ніж ідеально. Якщо хтось інший має краще рішення, мені було б цікаво знати себе.
tzaman

1
Resharper - це єдиний спосіб, яким я міг це зробити, див. Мій коментар вище.
netlander
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.