Go для источника в среде с несколькими решениями в Visual Studio 2019 - PullRequest
0 голосов
/ 06 мая 2020

У нас есть такой сценарий:

У нас есть ~ 100 решений по 10 проектов каждое. Каждое решение копирует свои артефакты (т.е. свои 10 dll) в единую общую папку, например C:\code/assemblies. Если я разработаю что-нибудь для функции X, я открою SolutionX. Источник для всех решений / проектов является локальным в одном Monorepo C:\code.

Во время отладки, когда метод / класс / что-либо реализовано в проекте Y, он открывает соответствующий файл (что приятно). Так что должна быть доступна информация, как добраться до источника.

Но при разработке я не могу перейти к реализации, например, используя F12 («go до определения»), а просто получаю подписи, собранные из мета данные. Я хотел бы получить тот же опыт, что и во время отладки.

Итак, прямо сейчас я открываю код Visual Studio, открываю папку, содержащую исходные коды, и выполняю «поиск в файлах».

Есть лучшие идеи?

Nb Resharper не является допустимым вариантом. Также не очень хорошо работает с Postsharp.

Nb Я не знаю, важно ли это, но все, кроме одного решения, запускают внешнюю программу (оболочку), поскольку все решения, кроме одного, содержат только библиотеки DLL.

Ответы [ 3 ]

0 голосов
/ 17 мая 2020

Я думаю, вам следует проанализировать зависимости проекта (например, с помощью https://www.ndepend.com/docs/visual-studio-dependency-graph) и сгруппировать свои проекты в меньшее количество решений

0 голосов
/ 17 мая 2020

Изменить: я редактирую этот ответ на основе вашего комментария. Я думаю, вы ищете два варианта использования

  1. Загляните в исходный код ссылочных двоичных файлов
  2. Перейдите к источнику, а затем отредактируйте их на месте

Для достижения варианта (1)

В Visual Studio 2019 используйте встроенный декомпилятор, который поможет вам перейти к коду за пределами решения. По состоянию на май 2020 года это экспериментальная функция. По умолчанию она отключена, и вам следует включить ее. После включения навигация F12 будет декомпилирована и позволит вам заглянуть в исходный код.

enter image description here

С другой стороны, чем больше вы расслабляете компиляцию, тем лучше декомпиляция. То есть вы можете отключить оптимизацию (если есть). Это не имеет никакого отношения к параметрам генерации символов.

Если вы используете Visual Studio 2017 (или) меньше, то же самое можно сделать с помощью плагина Telerik Just Decompile (бесплатно). Отметьте функцию Просмотр декомпилированного кода на вкладках

Для достижения варианта (2):

Вы должны ссылаться на исходные файлы, а не на двоичные файлы, потому что вы не получите естественного редактирование на месте со ссылками на двоичные файлы. Всегда будут предостережения, независимо от того, какое решение вы выберете. Ссылка на источник может быть сделана с помощью функции «Добавить как ссылку» в Visual Studio, где исходный код принадлежит одному решению и на него можно ссылаться как на ссылку (что-то вроде ярлыков windows) во всех других решениях. (https://andrewlock.net/including-linked-files-from-outside-the-project-directory-in-asp-net-core/). Если вы ссылаетесь на источник, вам необходимо удалить двоичные ссылки.

И вы также должны решить с архитектурной точки зрения, как это меняет способ разработки и фиксации кода. Смысл ссылок на двоичные файлы - убедиться, что они не редактируются для удобства, но это зависит исключительно от характера команды разработчиков.

Заключение

С точки зрения передовой практики, вам либо нужно ссылаться на двоичные файлы и не разрешать их редактирование (или) вы разрешаете ссылки на источники и редактирование на месте. Но это зависит исключительно от того, чего вы хотите достичь.

0 голосов
/ 12 мая 2020

Я проделал подобное в Старом проекте.

Вы можете использовать Symbol с Visual Studio 2019. Простыми шагами могут быть:

A. Создание символов для проектов:

  1. В обозревателе решений выберите проект.

  2. Выберите значок «Свойства» (или нажмите Alt + Enter ).

  3. На боковой панели выберите Сборка .

  4. В списке Конфигурация выберите Отладка или Release .

  5. Выберите кнопку Advanced .

  6. В режиме отладки В списке информации выберите Full, Pdb-only или Portable.

enter image description here

Для получения дополнительной информации см.

Установить конфигурации отладки и выпуска в Visual Studio

Publi sh символы для отладки

B. Использовать символ в Visual Studio:

  1. В Visual Studio откройте Инструменты> Параметры> Отладка> Символы (или Отладка> Параметры> Символы).

  2. В разделе Расположение файлов символов (.pdb),

    • Чтобы использовать серверы символов Microsoft или сервер символов NuGet.org, установите флажок.

    • Чтобы добавить новое расположение сервера символов,

    Выберите символ + на панели инструментов. Введите URL-адрес (http), сетевой ресурс или локальный путь к серверу символов или расположение символа в текстовом поле. Заполнение выписки поможет вам найти правильный формат. Инструменты - Параметры - Отладка - Страница символов

enter image description here

Подробнее см .:

Настроить расположение символов и варианты загрузки

...