Как сделать свой nuget пакет

Обновлено: 08.07.2024

Всё о PowerShell в Windows и на Linux. Системное администрирование Windows

Разработчики включили в PowerShell новый модуль PackageManagement в Windows 10. PackageManagement (ранее называвшийся OneGet) позволяет устанавливать, управлять и удалять приложения и программы из внешнего (или локального) репозитория, а также управлять списком подключённых репозиториев из консоли PoSh. Другими словами, теперь вы можете устанавливать программы из командной строки в Windows 10/Windows Server 2016, как это делается в Linux, с помощью известной команды apt-get install.

Модуль PackageManagement упрощает установку нового программного обеспечения. Установка сводится к запуску одной команды PowerShell, и пользователю не нужно искать и загружать установочные файлы программного обеспечения в Интернете, что снижает риск загрузки устаревших или заражённых программ. Программное обеспечение устанавливается из надёжного источника. Когда программное обеспечение обновляется в репозитории, оно может автоматически обновляться на клиентах.

Модуль PackageManagement

Модуль PackageManagement уже интегрирован в Windows 10, и для него требуется PowerShell 5 и выше. Чтобы PackageManagement работал под Windows 8.1, сначала необходимо установить Windows Management Framework 5.0. Microsoft также выпустила отдельный модуль PackageManagement для работы в PowerShell v.3 и 4.

Посмотрим список доступных командлетов PowerShell в модуле PackageManagement:

В текущей версии модуля (v 1.4.7) доступны следующие команды:

  • Find-Package — поиск пакета (программы) в доступных репозиториях
  • Find-PackageProvider — поиск провайдеров распространения пакетов
  • Get-Package — показывает список установленных пакетов
  • Get-PackageProvider — выводит список поставщиков пакетов, доступных на компьютере
  • Get-PackageSource — выводит список доступных источников пакетов
  • Import-PackageProvider — добавляет поставщиков пакетов управления пакетами в текущий сеанс
  • Install-Package — устанавливает пакет (программу) на компьютер
  • Install-PackageProvider — устанавливает одного или нескольких поставщиков пакетов управления пакетами.
  • Register-PackageSource — добавляет источник пакета для поставщика
  • Save-Package — сохраняет пакет локально, не устанавливая его
  • Set-PackageSource — устанавливает поставщика в качестве источника пакета
  • Uninstall-Package — удаляет программу (пакет)
  • Unregister-PackageSource — удаляет провайдера из списка источников пакетов


Поставщики пакетов

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


Примечание. В Nano Server есть специальный провайдер NanoServerPackage, о котором пойдёт речь в следующей статье.

Чтобы получить доступ к репозиторию прикладного программного обеспечения, давайте подключим популярный репозиторий программного обеспечения — Chocolatey, содержащий более 4500 различных программ.

Установите нового провайдера, Chocolatey:

Подтвердите установку провайдера, нажав Y.


Сделайте Chocolatey надёжным источником пакетов, чтобы каждый раз не подтверждать установку пакета из этого репозитория.


Убедитесь, что Chocolatey теперь доступен среди репозиториев приложений:


Установка приложений из репозитория Chocolatey

Давайте посмотрим, как установить приложение (пакет) от Chocolatey.


Список всех пакетов, содержащих это ключевое слово, появится в консоли. Нам нужен adobereader (это имя пакета из столбца Name, которое нам нужно использовать).

Запустите установку пакета Adobe Reader:


В верхней части окна PowerShell появится ползунок, указывающий, что пакет Adobe Reader загружается. Сразу после завершения загрузки приложение устанавливается в системе.


Другой пример. Допустим, вам нужен набор инструментов SysInternals. Чтобы не загружать его вручную, найдите в Chocolatey пакет SysInternals и установите его.


Поскольку пакет не требует установки, он сохраняется на вашем компьютере и хранится в папке C:\ProgramData\chocolatey\bin\.


Вы можете установить несколько приложений одновременно, используя одну команду:

Как удалить пакет

Вы также можете удалить пакет, используя всего одну команду. Например, чтобы удалить Adobe Reader, выполните эту команду:

Итак, мы рассмотрели новые способы установки приложений Windows из командной строки PowerShell. В ближайшее время могут появиться графические надстройки для PackageManagement, которые позволят легко управлять установкой/удалением программного обеспечения для обычных пользователей без навыков работы с интерфейсом командной строки.


NuGet пакеты для которых найдется место в каждом проекте

Александр Алексеев

Наряду с тем, что Xamarin предлагает множество элементов управления и функциональных возможностей в Xamarin.Forms, здесь всегда имеется что-нибудь, нуждающиеся в улучшении.

К счастью, за Xamarin стоит очень активное сообщество, которое постоянно обеспечивает пользователей этой платформы всеми необходимыми плагинами. Ниже Вы найдёте перечень тех плагинов, которые я использую практически в каждом своём проекте (в различных комбинациях).

Если я забыл упомянуть о чем-то важном, и Вы можете порекомендовать какой-либо плагин, которым часто пользуйтесь, пожалуйста, дайте мне знать!

Xamarin.Plugins.Settings

Этот плагин от Джеймса Монтемагно предлагает кросс-платформенные (пользовательские) параметры настройки. Он поддерживает простые типы (цепочки, целочисленные переменные, булевские значения и т. д.) и доступен как для двух общих проектов, так и для PCL. Для использования PCL, вам нужно установить пакет NuGet на обеих Ваших PCL-проектах, равно как и на клиентских проектах.

Процедура установки является крайне простой и хорошо описана на домашней странице, а также в текстовом файле, который поставляется вместе с NuGet.

Плагин доступен для iOS, Android и Windows.

Xamarin.Plugins.Connectivity

Следующий плагин в нашем обзоре тоже за авторством Джеймса (первый был описан выше), тут следует отметить: за что бы он не брался, плоды его трудов неизменно оказывается достойным нашего внимания, так что имейте это в виду на будущие.

Этот плагин обеспечивает Вас всем, что Вам может потребоваться в отношении подключения к сети. Вы можете проверять наличие у вас соединения с интернетом, пинг до определенного сервера, а также получать оповещения в случае возникновения любых изменений в параметрах подключения к сети. Для использования PCL, вам нужно установить пакет NuGet на обеих Ваших PCL-проектах, равно как и на клиентских проектах.

Плагин доступен для iOS, Android и Windows.

FreshMvvm

Этот плагин не занимает много места, кроме того, он прост в использовании, а также данный MVVM-фреймворк прекрасно дополняет уже имеющиеся MVVM-возможности Xamarin.Forms. Он поддерживает ViewModel — ViewModel-навигацию, автоматически осуществляет связку BindingContext и событий страниц, обеспечивая простой IoC-контейнер с внедрение зависимости через конструктор и многое другое!

FreshMvvm был создан благодаря усилиям Майкла Ридланда, консультанта и наиболее ценного специалиста Xamarin, который также будет рад рассмотреть Ваши предложения.

Плагин доступен для iOS, Android и Windows.

FreshEssentials

Этот плагин опять от Майкла, и он также предлагает Вам пакет основных тем NuGet. Он помогает более просто делать то, что Вы, вероятно, делайте в ручном режиме в большинстве Ваших приложений Xamarin.Forms.

Кроме того, в случае с iOS он обеспечивает Вас BindablePicker, InverseBooleanConverter и SegmentedButton. Вероятно, с течением времени его возможности будут расширены.

PropertyChanged.Fody

Теперь сделать INotifyPropertyChanged очень просто!

Больше нет необходимости в реализации одного и того же интерфейса во всех классах и многократном повторении одинаковых действий.

С помощью этого пакета вы можете просто добавить функциональность propertychanged с атрибутом класса! А также вы можете приписать свои свойства, чтобы получить больше контроля, когда срабатывает propertychanged. Все основные операции будут выполняться автоматически во время компиляции!

Между тем это не ограничивает Xamarin, но приходится очень кстати!

FFImageLoading

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

Плагин доступен для iOS, Android и Windows.

Она очень проста в использовании, и, кстати, в случае с Android-проектами не забудьте поставить соответствующий инициализатор!

Плагин доступен для iOS, Android и UWP. Частичная реализация поддержки Windows 8/8.1 может быть добавлена, если осуществить запрос на включение кода.

Refit

Если Вы уже давно занимаетесь разработкой каких-либо приложений, то Вы, вероятно, привыкли обращаться к REST API-интерфейсам. Несмотря на то что все они различаются, способы взаимодействия и обращения с ними являются очень похожими, и поэтому Вам приходится задействовать одну и ту же функциональность множество раз. Хватит! С помощью этой библиотеки REST обращения к классу генерируется автоматически!

Polly

Polly — это библиотека, которая поднимает обработку исключений на новый уровень! Вы можете с лёгкостью многократно осуществлять процесс повторения, а затем, после небольшой паузы, делать повторение вновь, определять политику и все это при функциональном синтаксисе! Это бывает очень полезным, если у Вас не всегда стабильное соединение, и Вам требуется часто запускать функцию повторения, прежде чем передавать ошибку пользователю.

Этот плагин доступен для всех платформ, а также десктопных приложений.

Вероятно, существует ещё какие-либо плагины, о которых я забыл упомянуть или с которыми я незнаком. Пожалуйста, дайте мне знать, если Вы можете чем-то дополнить эту статью, чтобы я мог изложить эти новые сведения в следующем посте и тем самым сделать нашу работу немного легче!

От себя: Я согласен с автором в последнем абзаце поэтому если ты знаешь какие-либо еще полезные пакеты, плагины или компоненты, то делись ими в комментариях и я обязательно сделаю статью с подборкой из присланных ссылок. Давай вместе упростим друг другу разработку.

Автор: Gerald Versluis
Источник: Блог автора

Я установил установщик пакета из инструменты->Расширения и обновления .
Я пытался найти в меню инструментов, не мог найти установить пакет nuget вариант.
Также, если я щелкну правой кнопкой мыши на проекте, есть опция Пакет быстрой установки, Там я заполняю пакет nuget, который хочу добавить в свой проект (в моем случае openBLAS), и он говорит: Visual Studio необходимо перезагрузить .

Я работаю в консольном приложении Visual C ++ win32 и пытаюсь найти менеджер пакетов nuget и для других проектов.

Я перезапустил свою визуальную студию и даже мой компьютер, но все еще не мог найти его.
Пожалуйста помоги!

Решение

Он не установлен по умолчанию (насколько я знаю), вы должны выбрать его в установщике Visual Studio вручную.

Сначала откройте установщик Visual Studio (например, через Инструменты-> Получить инструменты и возможности …). Измените ваш установленный продукт. Вы можете найти Менеджер пакетов NuGet под Отдельные компоненты Вкладка.

Другие решения

Не можете найти менеджер пакетов nuget в Visual Studio 2017?

Начиная с NuGet 4.0 в Visual Studio 2017, диспетчер пакетов NuGet будет поставляться как часть Visual Studio, а более новые версии не будут доступны для загрузки из галереи расширений VS. Обновления NuGet будут загружаться автоматически вместе с другими обновлениями Visual Studio.

Так Расширение NuGet Package Manager уже встроено в Visual Studio 2017, его не нужно устанавливать или обновлять.

После установки Visual Studio 2017 вы можете напрямую использовать менеджер пакетов nuget. Щелкните правой кнопкой мыши на проекте, есть опция Менеджер пакетов NuGet …, в Просматривать там заполнили пакет nuget openBLAS, затем выберите версию пакета и установите его:

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

Кроме того, вы также можете установить пакет nuget с помощью команд NuGet непосредственно в Visual Studio, для получения более подробной информации вы можете обратиться к Документация NuGet .

date

14.03.2017

user

itpro

directory

PowerShell, Windows 10

comments

комментариев 10

В состав Windows 10 разработчики включили новый PowerShell модуль с именем PackageManagement. Модуль PackageManagement (ранее назывался OneGet) позволяет из консоли PoSh устанавливать, управлять и удалять приложения и программы из некого внешнего (или локального) репозитория, а также управлять списком подключенных репозиториев. Проще говоря, в Windows 10/ Windows Server 2016 появилась возможность устанавливать программы из командной строки по аналогии с известной командой Linux apt-get install.

Модуль менеджера пакетов PackageManagement позволяет существенно упростить процедуру установки нового ПО. Вся установка по сути сводиться к выполнению одной команды PowerShell, и, самое главное, пользователю не нужно самостоятельно искать в интернете и выкачивать дистрибутивы софта, рискуя скачать устаревшую или зараженную версию. Установка проводится из доверенного источника программ. При обновлении программного обеспечения в репозитории, оно может быть автоматически обновлено на клиентах.

Модуль PackageManagement

Модуль PackageManagement уже встроен в Windows 10, а для его работы требуется PowerShell 5. Поэтому для работы менеджера пакетов в Windows 8.1 нужно сначала установить Windows Management Framework 5.0. Также Microsoft выпустила отдельный модуль для работы менеджера пакетов и на PowerShell версий 3 и 4.

Выведем список доступных командлетов PowerShell в модуле PackageManagement:

Get-Command -Module PackageManagement

В текущей версии модуля (v 1.0.0.1) имеются такие команды:

  • Find-Package — поиск пакета (программы) в доступных репозиториях
  • Get-Package — получить список установленных пакетов
  • Get-PackageProvider — список провайдеров (поставщиков пакетов), доступных на компьютере
  • Get-PackageSource — список доступных источников пакетов
  • Install-Package — установить пакет (программу) на компьютере
  • Register-PackageSource — добавить источник пакетов для провайдера

Командлеты модуля Powershell PackageManagement

Провайдеры пакетов

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

Примечание. В Nano Server есть специальный еще провайдер NanoServerPackage, о нем в следующей статье.

Чтобы получить доступ к каталогу прикладного ПО, подключим популярный репозитарий ПО – Chocolatey, содержащий на данный момент более 4500 различных программ.

Установим новый провайдер Chocolatey:

Подтвердим установку провайдера, нажав Y.

Установка провайдера chocolatey

Сделаем Chocolatey доверенным источником пакетов, чтобы каждый раз при установке пакета не приходилось подтверждать установку.

Set-PackageSource -Name chocolatey -Trusted

Убедимся, что Chocolatey теперь присутствует среди доступных репозитариев приложений:

Get-PackageSource

Установка приложений из репозитория Chocolatey

Рассмотрим теперь, как установить приложение (пакет) из репозитория Chocolatey.

Репозиторий приложений Chocolatey

Также можно найти и установить нужное приложение прямо из консоли PowerShell. Например, для просмотра pdf файлов нам понадобилось установить приложение Adobe Acrobat Reader. Т.к. мы не знаем полного названия приложения, для его установки нам нужно получить имя пакета в каталоге. Выполним поиск в репозитории по ключевому слову ‘adobe’:

Find-Package -Name *adobe* -Source Chocolatey

В консоли появится список всех пакетов по данному ключу. Нам нужен пакет adobereader (нужно использовать именно имя пакета из столбца Name).

Запускаем установку пакета Adobe Reader:

Install-Package -Name adobereader -ProviderName Chocolatey

Установка пакета adobereader из репозитория Chocolatey

Вверху окна PowerShell появится ползунок, свидетельствующий о начале загрузки пакета Adobe Reader. Сразу после окончания загрузки, приложение установится в системе.

acrobat- eader dc в windows 10

Еще один пример. Допустим, нам понадобилось иметь на компьютере набор утилит SysInternals. Чтобы не качать его вручную, найдем пакет SysInternals в репозитарии Chocolatey и установим его.

Find-Package -Name Sysinternals | Install-Package

Т.к. пакет не требует установки, он сохраняется на компьютер и хранится в каталоге C:\Chocolatey\lib\. В нашем примере это каталог C:\Chocolatey\lib\sysinternals.2016.11.18\tools

Установка sysinternals из каталога Chocolatey

Сразу несколько приложений можно установить всего одной командой:

Find-Package -Name firefox, winrar, notepadplusplus, putty, dropbox | Install-Package

Удаление пакета

Удаление приложения на компьютере выполняется также одной командой. К примеру, для удаления Adobe Reader, выполните команду:

Итак, мы рассмотрели новые возможности установки приложений в Windows из командной строки PowerShell. В ближайшем будущем, вероятно, появятся графические надстройки над модулем PackageManagement, позволяющие легко управлять установкой/удалением ПО и простым пользователям без навыков работы с CLI.

Microsoft Logo

Gray Pipe

Приносим извинения. Запрошенное содержимое было удалено. Вы будете автоматически перенаправлены через 1 секунду.

Спрашивающий

Общие обсуждения

Это несколько различных проектов нужно по отдельности компилировать, а затем выдёргивать из каждой dll-ки?

  • Изменен тип Maksim Marinov Microsoft contingent staff, Moderator 4 марта 2021 г. 13:51 тема неактивна

Все ответы

Ознакомьтесь с Nugitizer, может подойдет:

При старом типе проекта или если это вовсе не msbuild, да, нужно вручную компоновать dll-ки в несколько подкаталогов в /lib, и потом паковать это командной строкой.

Допустим, а как быть с совместимостью с net451?

Изначально библиотеку писал под netstandard2.1, в рамках проекта было установлено несколько системных пакетов, теперь получаю ошибки следующего вида:

Даже если я введу в коде логическое управление кодом на основе платформы, то как быть со связкой зависимостей?

Читайте также: