There is a lots of articles on this subject why to set up private nuget server.
They go in detail as to how you would create, manage, and host NuGet packages and NuGet package repositories.
They also explain the enterprise scenarios that can get value out of them.
Everything you see at NuGet.org is available to you free.
But are the few facts to be noted for any project to set up private nuget server Manage Project Libraries with NuGet The problem?
Manage Project Libraries with NuGet The problem with so many libraries out there is sharing them. Sharing and reusing code is a big challenge. Don't believe me? Walk into any mid size to large shop and ask them how many logging libraries they have.
Visit enough companies and you will find a high percentage of in-house logging libraries when good ones NLog, Log4Net and Error Logging Modules and Handlers, or ELMAH already exist. When a developer starts a new project, he faces the empty canvas problem. How can he find these useful libraries? How does he incorporate a library into his current project and manage its dependencies and updates? NuGet is a Visual Studio extension that makes it easy to add, update and remove libraries (deployed as packages) in a Visual Studio project. A NuGet package is a set of files packaged up into a single file with the .nupkg extension using the Open Packaging Conventions (OPC) format.
Refer here to learn more: http://msdn.microsoft.com/en-us/magazine/hh547106.aspx
As mentioned earlier, a NuGet package is an OPC file with a .nupkg file extension. To create a package from the command line you simply call NuGet.exe with the pack command, passing it your .nuspec file:
> NuGet.exe Pack YourPackage.nuspec As with spec, you can run pack against your project file as well. NuGet will build a complete NuGet package based solely on the meta data found within your .csproj or .vbproj file. If you've already created a .nuspec file, pack would use that .nuspec file:
> NuGet.exe pack [path]\MyProject.csproj
Becoming a NuGet author At first glance NuGet might appear to be a tool just for the open source community, NuGet was specifically designed not only to help distribute packages within the open source community, but also to deliver internal packages behind the firewall in an enterprise. This means you can use NuGet in a multifaceted way to install and update packages both from Microsoft and from the open source community at large, as well as your own internal servers. Refer here to learn more:http://msdn.microsoft.com/en-us/magazine/hh708753.aspx
Packing the Package Creating a NuGet Gallery NuGet.org already exists as a public repository for NuGet packages, so you might question the point of hosting a gallery. That's understandable, but what about leverage that ecosystem infrastructure within the walls of your own dev environment? Why not set up your own private gallery not only to facilitate your product's development ecosystem but, better yet, to tie it directly to your build and deployment processes?