Создать пакет Nuget из DLL

Я хочу создать пакет NuGet, который добавляет несколько файлов DLL в качестве ссылок на мой проект.

У меня есть папка с 10 DLL-файлами.

Когда я устанавливаю это через nuget, я хочу, чтобы эти файлы были добавлены в ссылки проекта.

2 ответа

Решение

Я хочу создать пакет nuget, который добавляет несколько.dll в качестве ссылок на мой проект.

Я хотел бы дать вам два решения для достижения этой цели:

Во-первых, используйте NuGet Package Explorer:

  1. Скачайте NuGet Package Explorer.
  2. Откройте NuGet Package Explorer, выберите создать новый пакет.
  3. Добавьте папку lib на вкладку содержимого и добавьте файл dll
  4. Сохраните пакет и установите его в проект, проверьте, нет ли в нем ссылок.

Графический интерфейс NuGet Package Explorer

Во-вторых, как упоминал Лекс Ли, мы могли бы использовать.nuspec для упаковки сборок:

  1. Загрузите nuget.exe.
  2. Создать новый проект.
  3. Откройте cmd и переключитесь на nuget.exe
  4. Используйте командную строку: nuget spec "PathOfProject\TestDemo.csproj"
  5. Открой TestDemo.csproj.nuspec файл и изменить его и добавить сборки в виде файла; ниже мой файл.nuspec:

    <?xml version="1.0"?>
    <package>
      <metadata>
        <id>TestDemo</id>
        <version>1.0.0</version>
        <authors>Tester</authors>
        <owners>Tester</owners>
        <requireLicenseAcceptance>false</requireLicenseAcceptance>
        <description>TestDemo</description>
        <releaseNotes>Summary of changes made in this release of the package.</releaseNotes>
        <copyright>Copyright 2017</copyright>
        <tags>Tag1 Tag2</tags>
      </metadata>
      <files>
        <file src="MultipleDll\*.*" target="lib\net461" />
      </files>
    </package>
    
  6. Используйте команду pack: nuget pack TestDemo.csproj.nuspec

  7. Откройте пакет TestDemo с помощью NuGet Package Explorer.

NuGet Package Explorer - встроенный вывод пакета

Надеюсь, это поможет вам.

Я думаю, что лучший способ создания пакетов NuGet - использовать nuget.exe. Сначала загрузите и установите nuget.exe ( https://www.nuget.org/downloads), затем перейдите в папку вашего проекта, нажмите shift + правый клик для отображения командной строки, после чего напишите

nuget spec

После этой команды у вас будет файл.nuspec, откройте его в редакторе и отредактируйте Id,author и т. Д. Наиболее важной частью является тег files после закрытого тега метаданных. Здесь вы можете определить все dll следующим образом:

<files>
    <file src="bin\Release\YourDll.dll" target="lib"></file>
  </files>

Наконец, вы можете создать файл.nupkg с помощью этой команды в cmd:

nuget pack 'Your nuspec file name'

Посетите ( https://www.youtube.com/watch?v=8KdnrRm8jTA) Это видео очень полезное и понятное руководство.

Если вы хотите сделать это через Visual Studio или dotnet, вы можете отредактировать файл csproj, добавить ItemGroup для включения dll, как показано ниже: Это упакует другие dll вместе с dll вашего текущего проекта в пакет nuget.

<ItemGroup>
    <Content Include="<path to other dll>">
        <Pack>true</Pack>
        <PackagePath>lib\$(TargetFramework)</PackagePath>
    </Content>
</ItemGroup>
Другие вопросы по тегам