Nupkg как добавить в visual studio code
После установки ссылаться на пакет в коде можно с помощью using , где соответствует используемому пакету. После указания ссылки можно обращаться к пакету посредством его интерфейса API.
Предварительные требования
- Использование Visual Studio 2019 с рабочей нагрузкой "Разработка классических приложений .NET".
Создание проекта
Visual Studio создает проект, который можно найти в Обозревателе решений. Дополнительные сведения см. в разделе Сведения об Обозревателе решений.
Добавление пакета NuGet Newtonsoft.Json
Для установки пакета можно использовать диспетчер пакетов NuGet или консоль диспетчера пакетов. При установке пакета NuGet регистрирует зависимость в файле проекта или файле packages.config (в зависимости от формата проекта). Дополнительные сведения см. в разделе Обзор использования пакетов и рабочий процесс.
Диспетчер пакетов NuGet
В обозревателе решений щелкните правой кнопкой мыши узел Ссылки и выберите пункт Управление пакетами NuGet.
См. подробнее о диспетчере пакетов NuGet в руководстве по установке пакетов и управлении ими с помощью Visual Studio.
Примите все запросы касательно лицензии.
(Только в Visual Studio 2017.) Если вам будет предложено выбрать формат управления пакетом, выберите PackageReference в файле проекта.
В запросе на проверку изменений нажмите кнопку ОК.
Консоль диспетчера пакетов
Последовательно выберите Сервис Диспетчер пакетов NuGet Консоль диспетчера пакетов.
После открытия консоли убедитесь, что в раскрывающемся списке Проект по умолчанию показан проект, в который требуется установить пакет. Если в решении всего лишь один проект, он автоматически выбран.
Введите команду Install-Package Newtonsoft.Json (см. сведения о ней в Install-Package Newtonsoft.Json ). В окне консоли отображаются выходные данные команды. Ошибки обычно означают, что пакет не совместим с целевой платформой проекта.
Использование интерфейса API Newtonsoft.Json в приложении
Добавив пакет Newtonsoft.Json в проект, вы можете вызывать его метод JsonConvert.SerializeObject для преобразования объекта в удобную для восприятия строку.
Откройте файл MainWindow.xaml и замените существующий элемент Grid следующим кодом:
Откройте файл MainWindow.xaml.cs (который находится в обозревателе решений в узле MainWindow.xaml ) и вставьте в класс MainWindow следующий код.
Несмотря на то что вы добавили пакет Newtonsoft.Json в проект, JsonConvert подчеркивается красной волнистой линией, так как оператор using требуется в верхней части файла кода.
Выполните сборку и запустите приложение, нажав клавишу F5 или выбрав команду Отладка Начать отладку.
10 Answers 10
Menu Tools → Options → Package Manager
Give a name and folder location. Click OK. Drop your NuGet package files in that folder.
Go to your Project in Solution Explorer, right click and select "Manage NuGet Packages". Select your new package source.
Actually, I have done step 1 a few times. But my package is not showing up in step 2, when I open up to view Installed packages, Updates or Recent packages.
On my screen, I only have "All" under "Installed packages" not the "NuGet offical package source", not my custom "newNuget", they are missing.
I am using vs2010. Trying to download and install latest nuget from their homepage just now. Download click next next. then error. M$ as expected, there is a link of known issues, checked that, says signature mismatch then I need to uninstall the existing nuget and it is easy fix. fine, do that. When I restart computer and do install again, same error comes back, signature mismatch. so now I am stuck with the old version gone, new version doesn't want to install.
Problem fixed. I uninstalled nuget from windows -> control panel. It didn't work that way. I needed to start up VS and go into Tools->Extension Manager . then hit uninstall nuget from there. Restarted VS. Then went to install nuget again, it worked. Now, the local nupkg files are showing up, too (edit: they are in the Online tab, not the Installed tab, my mistake in the picture I post). Thanks for the help :)
I don't have enough reputation to comment yet - but to answer Michael in the accepted answer comments about VS2015 still wanting to go online. I had the same issue, but in the options, if you untick all the online sources it works for the offline ones. nuget Options pic
You can also use the Package Manager Console and invoke the Install-Package cmdlet by specifying the path to the directory that contains the package file in the -Source parameter:
Yes. The -Source option is available in nuget.exe as well. For example: nuget install SomePackage -Source C:\PathToThePackageDir
You might need to specify the -IncludePrerelease flag as well. Otherwise, if the package version has a dash-suffix (e.g "-beta1"), Install-Package won't find it.
For .nupkg files I like to use:
@RenniePet that worked for me in VS2017 (but I had already placed my .nupkg under the same directory every other packages were stored)
It is not working for me, I am using VS2013 Version 12.0.21..5 and Nuget package manager 2.12.0.817 :(
For Visual Studio 2017 and its new .csproj format
You can no longer just use Install-Package to point to a local file. (That's likely because the PackageReference element doesn't support file paths; it only allows you to specify the package's Id.)
You first have to tell Visual Studio about the location of your package, and then you can add it to a project. What most people do is go into the NuGet Package Manager and add the local folder as a source (menu Tools → Options → NuGet Package Manager → Package Sources). But that means your dependency's location isn't committed (to version-control) with the rest of your codebase.
Local NuGet packages using a relative path
This will add a package source that only applies to a specific solution, and you can use relative paths.
You need to create a nuget.config file in the same directory as your .sln file. Configure the file with the package source(s) you want. When you next open the solution in Visual Studio 2017, any .nupkg files from those source folders will be available. (You'll see the source(s) listed in the Package Manager, and you'll find the packages on the "Browse" tab when you're managing packages for a project.)
Here's an example nuget.config to get you started:
Backstory
My use case for this functionality is that I have multiple instances of a single code repository on my machine. There's a shared library within the codebase that's published/deployed as a .nupkg file. This approach allows the various dependent solutions throughout our codebase to use the package within the same repository instance. Also, someone with a fresh install of Visual Studio 2017 can just checkout the code wherever they want, and the dependent solutions will successfully restore and build.
How can I install a Nuget Package in Visual Studio Code? I know in Visual Studio, we can do this through the Nuget Package Manager console, but how do I do it in VS Code?
12 Answers 12
From the command line or the Terminal windows in vs code editor dotnet add package Newtonsoft.Json
That unfortunately does not support search or auto-complete. That is, you have to know the exact package name spelling.
Edit: From the comments below:
22 June 2019: "This extension is now unpublished from Marketplace. You can choose to uninstall it." 2¢. – ruffin Jun 22 '19 at 13:23
You can use the NuGet Package Manager extension.
After you've installed it, to add a package, press Ctrl+Shift+P, and type >nuget and press Enter:
Type a part of your package's name as search string:
Choose the package:
And finally the package version (you probably want the newest one):
22 June 2019: "This extension is now unpublished from Marketplace. You can choose to uninstall it." 2¢.
You can do it easily using "vscode-nuget-package-manager". Go to the marketplace and install this. After That
1) Press Ctrl+P or Ctrl+Shift+P (and skip 2)
3) Then select "Nuget Package Manager:Add Package"
4) Enter package name Ex: Dapper
5) select package name and version
Nuget Gallery provides a GUI similar to the full Visual Studio. See below.
How To Use:
- Install Nuget Gallery from extension marketplace.
- Launch from the menu bar View > Command Palette or ⇧⌘P (Ctrl+Shift+P on Windows and Linux). Type Nuget: Open Gallery .
- The GUI above is displayed. You can filter just like in regular Visual Studio.
- Make sure the .csproj file checkbox is selected, select version from dropdown, and click install button.
UPDATE
Earlier versions, as noted in the comments, had an issue where the .csproj checkbox was not visible when a package in the csproj file was missing a version number like below.
This has been fixed in newer versions of the extension so if you have an older version with this issue, please update it to the latest version.
Hi @woter324, the problem of the checkbox not showing was identified as some packages in the .csproj not having version numbers. See issue comment. I've updated my answer to include that.
Open extensions menu (Ctrl+Shift+X), and search .NuGet Package Manager.
Example for .csproj file
Just get package name and version number from NuGet and add to .csproj then save. You will be prompted to run restore that will import new packages.
True, but VS Code is free (and really meant as an editor) so I'm not complaining. It would be different if I had to do this in VS.
No, I actually utilize Visual Studio 2010 & 2015. Prefer 2010 though. All my real coding is also stored in Git repositories. VS Code is more to play around with on my Ubuntu system.
> To install new package:
- Open your project workspace in VSCode
- Open the Command Palette (Ctrl+Shift+P)
- Select > Nuget Package Manager GUI
- Click Install New Package
For update/remove the packages click Update/Remove Packages
- Install NuGet Package Manager
- Ctrl+Shift+P on Windows or Command+Shift+P on Mac
- Search for NuGet Package Manager: Add Package
- Enter package name i.e. AutoMapper
- Select package & version
- Restore if needed
Modify your project.json or *.csproj file. Add a dependency entry with the name of the package and the version desired.
The answers above are good, but insufficient if you have more than 1 project (.csproj) in the same folder.
First, you easily add the "PackageReference" tag to the .csproj file (either manually, by using the nuget package manager or by using the dotnet add package command).
But then, you need to run the "restore" command manually so you can tell it which project you are trying to restore (if I just clicked the restore button that popped up, nothing happened). You can do that by running:
Если вы используете Visual Studio для Mac, ознакомьтесь с этими сведениями о создании пакета NuGet или примените средства CLI dotnet.
Предварительные требования
При необходимости установите CLI dotnet .
Создание проекта библиотеки классов
В Visual Studio выберите Файл Создать > Проект, разверните узел >, выберите шаблон "Библиотека классов (.NET Standard)", присвойте проекту имя AppLogger и нажмите кнопку >.
Щелкните правой кнопкой мыши полученный файл проекта и выберите пункт Сборка, чтобы убедиться, что проект создан правильно. Библиотека DLL находится в папке Debug (или папке Release, если вы используете конфигурацию выпуска для сборки).
В реальном пакете NuGet вы можете реализовать множество полезных возможностей, с помощью которых другие пользователи могут создавать приложения. Однако в этом пошаговом руководстве вы не будете писать дополнительный код, так как библиотеки классов из шаблона достаточно для создания пакета. Тем не менее, вы можете использовать функциональный код для пакета:
Настройка свойств пакета
Щелкните правой кнопкой мыши проект в обозреватель решений и выберите команду меню Свойства, а затем выберите вкладку Пакет.
Если пакет будет общедоступным, обратите особое внимание на свойство Теги, так как они помогают найти ваш пакет и понять его назначение.
Присвойте пакету уникальный идентификатор и заполните нужные свойства. Сведения о сопоставлении свойств MSBuild (проект в стиле SDK) со свойствами в NUSPEC-файле см. в разделе о целевых объектах пакета. Описание свойств см. в справочнике по NUSPEC-файлу. Все свойства добавляются в манифест .nuspec , который Visual Studio создает для проекта.
Необходимо присвоить пакету идентификатор, который будет уникальным на сайте nuget.org или другом используемом узле. При работе с этим руководством мы рекомендуем добавить к имени слово "Sample" или "Test", так как позже, после публикации, пакет станет общедоступным (хотя маловероятно, что кто-то будет его использовать).
Необязательно. Чтобы просматривать свойства непосредственно в файле проекта, щелкните правой кнопкой мыши проект в обозревателе решений и выберите Edit AppLogger.csproj (Изменить AppLogger.csproj).
Этот параметр доступен для проектов, использующих атрибут стиля пакета SDK, только в версиях начиная с Visual Studio 2017. Если у вас другой сценарий, щелкните проект правой кнопкой мыши и выберите пункт Выгрузить проект. Затем щелкните правой кнопкой мыши выгруженный проект и выберите команду изменения AppLogger.csproj.
Выполнение команды pack
Выберите конфигурацию Выпуск.
Щелкните проект правой кнопкой мыши в окне обозревателя решений и выберите команду Паковать:
(Необязательно) Создание пакета при сборке
Вы можете настроить в Visual Studio автоматическое создание пакета NuGet при сборке проекта.
В обозревателе решений щелкните правой кнопкой мыши проект и выберите пункт Свойства.
На вкладке Пакет выберите Создать пакет NuGet при сборке.
При автоматическом создании пакета время на упаковку увеличивает время сборки проекта.
(Необязательно) Упаковка с помощью MSBuild
В качестве альтернативы команде меню Pack в NuGet 4.x+ и MSBuild 15.1+ можно использовать целевой объект , когда проект содержит необходимые данные о пакете. Откройте командную строку, перейдите в папку проекта и запустите приведенную ниже команду. (В общем случае следует запустить Командную строку разработчика для Visual Studio из меню "Пуск", так как в этом случае настраиваются все необходимые пути для MSBuild.)
Дополнительные сведения см. в разделе Создание пакета с помощью MSBuild.
Публикация пакета
Получение ключа API
Выберите свое имя пользователя (в правом верхнем углу), а затем щелкните Ключи API.
После создания ключа выберите Копировать для получения ключа доступа, который требуется в интерфейсе командной строки:
Всегда держите свой ключ API в секрете! Рассматривайте свой ключ API как пароль, позволяющий любому пользователю управлять пакетами от вашего имени. Вам следует удалить или повторно создать свой ключ API, если он был случайно раскрыт.
Сохраните ключ в безопасном расположении, так как у вас больше не будет возможности скопировать ключ. Если вы вернетесь на страницу ключа API, вам понадобится повторно создать ключ, чтобы скопировать его. Кроме того, вы можете удалить ключ API, если больше не хотите отправлять пакеты.
Определение области позволяет создавать отдельные ключи API для разных целей. Ключи имеют срок действия. Кроме того, их можно привязать к определенным пакетам (или стандартным маскам). Каждый ключ также привязан к конкретным операциям: отправка новых пакетов и обновлений, отправка только обновлений или удаление из списка. Используя определение области, вы можете создавать ключи API разным пользователям, которые управляют пакетами организации. Это позволит предоставлять им только нужные разрешения. См. подробнее о ключах API в определении области.
Публикация с помощью CLI dotnet или CLI nuget.exe
Этот шаг — рекомендуемая альтернатива использования nuget.exe .
Перед публикацией пакета сначала нужно открыть командную строку.
Перейдите в папку, содержащую файл .nupkg .
Выполните следующую команду, указав имя пакета (уникальный идентификатор пакета) и заменив значение ключа ключом API:
dotnet отображает результаты публикации:
Дополнительные сведения см. в статье о команде dotnet nuget push.
Эту команду можно использовать вместо dotnet.exe .
Откройте командную строку и перейдите к папке с файлом .nupkg .
Выполните следующую команду, указав имя пакета (уникальный идентификатор пакета) и заменив значение ключа ключом API:
nuget.exe отображает результаты публикации:
Ознакомьтесь со сведениями о команде nuget push.
Ошибки публикации
Ошибки в результатах выполнения команды push обычно указывают на неполадку. Например, вы забыли обновить номер версии проекта и пытаетесь опубликовать пакет, который уже существует.
Ошибки также возникают при попытке опубликовать пакет с использованием идентификатора, который уже имеется на узле. Например, имя AppLogger уже существует. В этом случае команда push выдает следующую ошибку:
Управление опубликованным пакетом
Если при работе с этим пошаговым руководством был создан пакет, который не представляет пользы (например, пакет, созданный с использованием пустой библиотеки классов), следует исключить его из списка, чтобы он не отображался в результатах поиска:
Найдите пакет, который требуется исключить из списка, в разделе Published (Опубликованное) и щелкните значок корзины справа:
На следующей странице снимите флажок List (package-name) in search results (Вывести (имя пакета) в результатах поиска) и щелкните Save (Сохранить).
Добавление файла сведений и других файлов
Чтобы напрямую указать файлы, включаемые в пакет, измените файл проекта и используйте свойство content :
В корень пакета будет включен файл с именем readme.txt . Visual Studio отображает содержимое этого файла в виде обычного текста сразу после установки пакета напрямую. (Файлы сведений не отображаются для пакетов, устанавливаемых как зависимости.) Например, вот как выглядит файл сведений для пакета HtmlAgilityPack:
Обычное добавление файла readme.txt в корень проекта не приведет к включению его в итоговый пакет.
Once installed, refer to the package in code with using where is specific to the package you're using. Once the reference is made, you can call the package through its API.
Prerequisites
Create a project
Visual Studio creates the project, which can be found in Solution Explorer. For more information, see Learn about Solution Explorer.
Add the Newtonsoft.Json NuGet package
To install the package, you can use either the NuGet Package Manager or the Package Manager Console. When you install a package, NuGet records the dependency in either your project file or a packages.config file (depending on the project format). For more information, see Package consumption overview and workflow.
NuGet Package Manager
In Solution Explorer, right-click References and choose Manage NuGet Packages.
Choose "nuget.org" as the Package source, select the Browse tab, search for Newtonsoft.Json, select that package in the list, and select Install:
If you want more information on the NuGet Package Manager, see Install and manage packages using Visual Studio.
Accept any license prompts.
(Visual Studio 2017 only) If prompted to select a package management format, select PackageReference in project file:
If prompted to review changes, select OK.
Package Manager Console
Select the Tools > NuGet Package Manager > Package Manager Console menu command.
Once the console opens, check that the Default project drop-down list shows the project into which you want to install the package. If you have a single project in the solution, it is already selected.
Enter the command Install-Package Newtonsoft.Json (see Install-Package). The console window shows output for the command. Errors typically indicate that the package isn't compatible with the project's target framework.
If you want more information on the Package Manager Console, see Install and manage packages using Package Manager Console.
Use the Newtonsoft.Json API in the app
With the Newtonsoft.Json package in the project, you can call its JsonConvert.SerializeObject method to convert an object to a human-readable string.
Open MainWindow.xaml and replace the existing Grid element with the following:
Open the MainWindow.xaml.cs file (located in Solution Explorer under the MainWindow.xaml node), and insert the following code inside the MainWindow class:
Even though you added the Newtonsoft.Json package to the project, red squiggles appears under JsonConvert because you need a using statement at the top of the code file:
Build and run the app by pressing F5 or selecting Debug > Start Debugging:
Select on the button to see the contents of the TextBlock replaced with some JSON text:
Читайте также: