Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как я могу собрать пакет nuget из project.json?

Автор вопроса: neleusОтветов: 1

Я ищу самый простой способ создания пакета nuget из моих источников. У меня есть Visual Studio 2015 Update 3, и в моем решении есть проект библиотеки классов .NET Core (на основе project.json). Я пытаюсь создать пакет из этого проекта. В настоящее время для этого я создал файл .nuspec и отредактировал его вручную, т.е. скопировал все зависимости, перечисленные в моем файле project.json.

Есть ли лучший способ, кроме создания и редактирования файла .nuspec вручную? Если я внесу изменения в project.json, я также должен отразить их в файле .nuspec, что звучит странно.

Кстати, этот guide у меня не работает, потому что нет флажка "Производить выходные данные при сборке"

а>

Хотя Microsoft ASP.NET и веб-инструменты установлены

введите здесь описание изображения

Я что-то упускаю?

nugetnuget-packagevisual-studio-2015

Ответы

Ответ 1 · рейтинг 2 · Sanket

Это шаги, которые мы выполнили в нашем проекте для создания пакета NuGet:

1. Загрузите Nuget.exe и поместите его в папку, где находится файл .csproj.

2. Откройте cmd и введите nuget spec. Будет создан файл с расширением .nuspec.

3.Откройте созданный файл и добавьте тег:

<files> <file src="..\..\SomeRoot\**\*.*" target="libs\net461" /> </files>

4.Выполните nuget pack A.csproj -IncludeReferencedProjects в cmd. Создается файл с расширением .nupkg.

5. Перейти в визуальную студию. В настройках диспетчера пакетов NuGet добавьте "Источники пакетов" и укажите путь, по которому существуют ваши файлы .nupkg и .nuspec.

6. Закройте диспетчер пакетов Nuget и снова откройте его. Теперь вы можете найти его в созданном источнике пакета на вкладке просмотра.

Примечание. Ваш файл .nuspec должен выглядеть так:

<?xml version="1.0"?>
<package  xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <metadata  xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
    <id>ABC.XYZ.FL</id>
    <version>1.0.0.0</version>
    <title>ABC.XYZ.FL</title>
    <authors>ABC</authors>
    <owners>ABC</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Framework that will be used to create objects in XYZ world</description>
    <releaseNotes>Summary of changes made in this release of the package.</releaseNotes>
    <copyright>2016</copyright>
    <tags>ABC.XYZ.FL</tags>
  </metadata>
  <files>
    <file src="bin\Debug\*.dll" target="lib\net461" />
  </files>
</package>

Следующие ссылки содержат дополнительные сведения о создании пакета nuget и его локальном размещении:

https://docs.nuget.org/create/creating-and-publishing-a-package

https://docs.nuget.org/create/hosting-your-own-nuget-feeds

https://docs.nuget.org/consume/nuget-config-file

Посмотрите, поможет ли это.


ИЗМЕНИТЬ:

Вот пример команды dotnet pack для справки:

"scripts": {
  "postcompile": [
    "dotnet pack --no-build --configuration %compile:Configuration%"
  ]
}

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы