Документы xml для ссылочных сборок, не скопированные во время публикации - PullRequest
1 голос
/ 07 января 2020

При публикации проекта ASP. NET (NET Framework 4.7.1), ссылающегося на библиотеки классов (проекты) в одном решении, для всех из которых документация XML создается как часть их сборки, только ASP. NET собственный файл документации проекта XML включен в опубликованные выходные данные.

Эти файлы необходимы для документации API с помощью Swashbuckle.

Эта проблема возникает только при публикации sh от VS, не обычные сборки. Я использую VS Professional 2019 v16.4.2.

Как включить файлы документации XML библиотек классов, на которые есть ссылки, как часть публикации sh? Кажется, что так При обычном использовании я чувствую, что упускаю что-то очевидное.

Я пробовал:

  • Включая XML файлы в указанных проектах и ​​помечая их как «Содержимое» и «Копировать всегда» для вывода каталога. Без изменений.
  • Изменение различных настроек publi sh, ни одна из которых, похоже, не влияет на эту

Ответы [ 2 ]

1 голос
/ 30 марта 2020

Существует множество обсуждений по этому вопросу.

См .: https://github.com/dotnet/sdk/issues/795

и следующий вопрос: https://github.com/dotnet/sdk/issues/1458

Но это все еще не фиксированный. Общее обсуждение состоит в том, что эти комментарии xml являются артефактами сборки и не поддерживаются для публикации при публикации. Однако, если использовать swagger и позволить ему использовать файлы xml для генерации документации, дело об опубликовании sh артефактов гораздо сильнее. (Поскольку без этого просто не получается)

Предложенное решение в первом выпуске очень похоже на ваше решение.

1 голос
/ 07 января 2020

Свободно основано на Сэме Стивенсе в блоге Я добавил это в файл проекта, который копирует все xml файлы в папку bin во время публикации sh. Если кто-то придумает более простой подход, не стесняйтесь опубликовать ответ:)

<PropertyGroup>
  <CopyAllFilesToSingleFolderForPackageDependsOn>
    $(CopyAllFilesToSingleFolderForPackageDependsOn);
    CopyXmlDocuments;
  </CopyAllFilesToSingleFolderForPackageDependsOn>
</PropertyGroup>
<Target Name="CopyXmlDocuments">
  <ItemGroup>
    <XmlDocuments Include="$(OutDir)*.xml" />
    <FilesForPackagingFromProject Include="%(XmlDocuments.Identity)">
      <DestinationRelativePath>bin\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
    </FilesForPackagingFromProject>
  </ItemGroup>
</Target>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...