Nuget package manager bazen eksik veya bozuk paketler oldugu halde. hicbir seyi yuklemez. Oyle de giciktir.
Su komutu kullanin.
NuGet is the package manager for .NET. It enables developers to create, share, and consume useful .NET libraries. NuGet client tools provide the ability to produce and consume these libraries as “packages”.
- Introduction to NuGetWhat is NuGet?Install NuGet client tools
- Get startedInstall and use a package – dotnet CLIInstall and use a package – Visual StudioCreate a package – dotnet CLICreate a package – Visual StudioCreate a .NET Framework package – Visual Studio
- Consume packagesWorkflow (overview)Find and choose packagesUse Visual StudioUse dotnet CLIUse nuget.exe CLIUse Package Manager Console
- Create packagesWorkflow (overview)Use Visual StudioUse dotnet CLIUse nuget.exe CLIUse MSBuildSupport multiple target frameworks
- Publish packagesPublish to NuGet.orgPublish to a private feed
- NuGet.orgOverviewIndividual accountsOrganizationsAPI keysPublish a package
- Referencedotnet CLInuget.exe CLIPackage referencespack and restore as MSBuild targets.nuspecnuget.configNuGet API
- ResourcesPolicies – NuGetPolicies – NuGet.orgRelease notesFAQ – NuGetFAQ – NuGet.org
An essential tool for any modern development platform is a mechanism through which developers can create, share, and consume useful code. Often such code is bundled into “packages” that contain compiled code (as DLLs) along with other content needed in the projects that consume these packages.
For .NET (including .NET Core), the Microsoft-supported mechanism for sharing code is NuGet, which defines how packages for .NET are created, hosted, and consumed, and provides the tools for each of those roles.
Put simply, a NuGet package is a single ZIP file with the
.nupkg extension that contains compiled code (DLLs), other files related to that code, and a descriptive manifest that includes information like the package’s version number. Developers with code to share create packages and publish them to a public or private host. Package consumers obtain those packages from suitable hosts, add them to their projects, and then call a package’s functionality in their project code. NuGet itself then handles all of the intermediate details.
Because NuGet supports private hosts alongside the public nuget.org host, you can use NuGet packages to share code that’s exclusive to an organization or a work group. You can also use NuGet packages as a convenient way to factor your own code for use in nothing but your own projects. In short, a NuGet package is a shareable unit of code, but does not require nor imply any particular means of sharing.
The flow of packages between creators, hosts, and consumers
In its role as a public host, NuGet itself maintains the central repository of over 100,000 unique packages at nuget.org. These packages are employed by millions of .NET/.NET Core developers every day. NuGet also enables you to host packages privately in the cloud (such as on Azure DevOps), on a private network, or even on just your local file system. By doing so, those packages are available to only those developers that have access to the host, giving you the ability to make packages available to a specific group of consumers. The options are explained on Hosting your own NuGet feeds. Through configuration options, you can also control exactly which hosts can be accessed by any given computer, thereby ensuring that packages are obtained from specific sources rather than a public repository like nuget.org.
Whatever its nature, a host serves as the point of connection between package creators and package consumers. Creators build useful NuGet packages and publish them to a host. Consumers then search for useful and compatible packages on accessible hosts, downloading and including those packages in their projects. Once installed in a project, the packages’ APIs are available to the rest of the project code.
Package targeting compatibility
A “compatible” package means that it contains assemblies built for at least one target .NET framework that’s compatible with the consuming project’s target framework. Developers can create packages that are specific to one framework, as with UWP controls, or they can support a wider range of targets. To maximize a package’s compatibility, developers target .NET Standard, which all .NET and .NET Core projects can consume. This is the most efficient means for both creators and consumers, as a single package (usually containing a single assembly) works for all consuming projects.
Package developers who require APIs outside of .NET Standard, on the other hand, create separate assemblies for the different target frameworks they want to support and include all of those assemblies in the same package (which is called “multi-targeting”). When a consumer installs such a package, NuGet extracts only those assemblies that are needed by the project. This minimizes the package’s footprint in the final application and/or assemblies produced by that project. A multi-targeting package is, of course, more difficult for its creator to maintain.