Как XML-комментарии работают между проектами в одном решении

Я настраиваю xml-комментарии через свойства проекта в решении. Я хочу, чтобы эти комментарии были видны в другом проекте в том же решении. Однако ссылки на проект и xml в bin рядом с .exe недостаточно.

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

У меня есть дерево проектов, например:

Решение:

| --- ProjectA (отсылка к проекту B)

| --- ProjectB (с некоторыми сводными комментариями, созданными при сборке)

Я использую методы из B, работающие как служебные методы в проекте A, но я не вижу сводку из xml. Когда я вызываю такой метод, как _something.doAFlip(), при вызове класса и метода нет описания, хотя он предоставляется вместе с .dll в bin / netframework и т. Д. С именем: myassembly.dll и myassembly.xml вместе.


person Przemysław Lunic    schedule 16.05.2019    source источник
comment
Вы используете визуальную студию, какую версию? Вам вообще не нужно добавлять ссылки на файлы папки bin (и определенно не на XML-документ). Просто добавьте ProjectReference к другому проекту в решении и убедитесь, что ваш проект имеет <GenerateDocumentationFile>true</GenerateDocumentationFile> (если формат csproj 2017).   -  person Thomas N    schedule 16.05.2019
comment
Проект A имеет ссылку на B следующим образом: <ItemGroup> <ProjectReference Include="..\xx\ProjectA.csproj" /> </ItemGroup> И Project B имеет этот сгенерированный файл документации, который создает документацию, но, хотя он создается правильно (как я думаю и вижу), он не отображается в intellisense в ProjectA при использовании методов вне Project B. Версия VS: 15.8.2   -  person Przemysław Lunic    schedule 16.05.2019
comment
Я вижу в корзине Project a, что скопированы ProjectB.dll и ProjectB.xml, но я все равно не вижу Intellisense в методах. Есть идеи, почему?   -  person Przemysław Lunic    schedule 16.05.2019
comment
Не должно быть никаких причин, по которым он не отображается. Правильно ли это отображается в проекте B? если вы наводите курсор на методы, вы видите xmldoc?   -  person Thomas N    schedule 16.05.2019
comment
да, он правильно отображается в ProjectB   -  person Przemysław Lunic    schedule 16.05.2019
comment
@ThomasN Я опубликовал ответ ниже, если вам интересно. Совершил глупую ошибку: P   -  person Przemysław Lunic    schedule 17.05.2019
comment
Ах, легко, кажется странным, xmldoc обычно просто работает.   -  person Thomas N    schedule 18.05.2019


Ответы (1)


Подводя итог, проблема не заключалась в комментариях XML. Пока у вас есть одно решение и несколько проектов внутри VS должны автоматически загружать все комментарии из сводок без создания документов.

Проблема заключалась в самом классе, методе и интерфейсе, а также в отсутствии ReSharper. Пока я вводил зависимости в ProjectA из ProjectB, я вводил интерфейсы, а не методы. В моем проекте не было комментариев к интерфейсам, были прокомментированы только методы и классы. После добавления комментариев к интерфейсам и функциям внутри интерфейса я теперь могу их правильно видеть после внедрения в ProjectA :)

person Przemysław Lunic    schedule 17.05.2019