Как я могу установить пакет nuget с xmldocument - PullRequest
0 голосов
/ 13 июля 2020

Мой проект зависит от некоторых модулей (пакетов nuget), и у меня есть пакет xml документа в пакетах.

Когда я устанавливаю-упаковываю их, файлы xmldocument модулей не находятся в моей папке. Я переименовал файл .nupkg в .zip , разархивировал его,. xml (xmldocument) находится в zip-пакете.

Как я могу установить. xml документация в моей основной папке проекта?

Обновление :

Мой проект основан на Abp (abp.io), я закончил основные модули и собрал базовый проект as pnet для ссылки на модули. поскольку проект содержит WebApi, я хочу получить некоторый модуль xmlDocument, затем информация о swagger, потому что проект содержит WebApi, я хочу получить некоторый xmlDocument модуля, затем Информация о чванстве будет идеальной.

Теперь, мой способ - использовать событие пост-сборки, обновлять файлы. xml в папке. Это может решить мою проблему, но я хочу увидеть идею, могу использовать ее справочные пакеты напрямую.

1 Ответ

1 голос
/ 14 июля 2020

Как я могу установить пакет nuget с xmldocument

Фактически, документ xml может находиться в папке lib в папке nuget.nupkg. Однако он импортируется только в выходную папку проекта фреймворка net с packages.config форматом управления nuget.

Если вы устанавливаете свой пакет nuget с помощью PackageReference в рамках проекта net или установите его в новый проект sdk (Net Core или Net Standard), файл документа xml не будет выводиться в папку bin проекта.

Итак Я предполагаю, что ваш основной проект - это основной проект net.

Также , существует открытая проблема с github , которая отражает это странное поведение xxx.pdb и файл xxx.xml.

Поэтому я предлагаю вам использовать узел Content и ContentFiles , который подходит для установки этого файла xml документа во все типы проектов.

Добавьте этот узел в свой файл xxx.csproj проекта стандартной библиотеки классов net:

<ItemGroup>
      <Content Include="xxxx\<project_name>.xml" (the path of the xml document file) Pack="true" PackagePath="content\any\any;contentFiles\any\any\;;">
      <PackageCopyToOutput>true</PackageCopyToOutput>         
      </Content>
  </ItemGroup>

Затем вы можете упаковать этот проект nuget (щелкните правой кнопкой мыши проект -> Pack ) и при установке этого пакета в новом проекте он будет выводить файл документа в выходной папке основного проекта во время процесса сборки.

...