dev338 microsoft community devug rijeka hrvoje hudoletnjak stratusnav
Post on 13-Jan-2016
215 Views
Preview:
TRANSCRIPT
NuGet for The Enterprise.NET Package Management
Scott HanselmanPrincipal Program ManagerMicrosoft
DEV338
Microsoft Community
DevUG Rijeka
Hrvoje HudoletnjakStratusNav
2
CastleN
Hib
ern
ate
log4net
NUnit
Elm
ah
Nin
ject
Antlr
Iesi Collections
jQuery
New
tonso
ft.Jso
n
Moq
FluentNHibernate
AutoMapperStructureMap
NLog
Autofac
Facebook SDKRx
RhinoMocks
MvcContrib
51Degrees.mobiD
otN
etO
pen
Au
th
Com
mon
.Log
gin
g
MvvmLight
BBCode
Mvc
Mai
ler
xuni
t
Flu
entV
alid
atio
n
Ham
moc
k
SharpZipLib
FluentHtml-ciMachine.Specifications
jQuery.Validation
WatiN
Htm
lAgi
lityP
ack
Simple.Data.Core
CLEditor
Simple.Data.CoreAltairis.Web.Security
UrlShortener.HelperiT
extS
harp
QuickGraph
DotNetZip
FakeItEasy
PublishSettingsGenerator
Spa
rk
NSubstitute
RavenDB
Luce
ne
AutoPoco
RestSharp
Should
postalnservicebus
reac
tive
ui-c
ore
linq
.js
fast
erfle
ct
combres
TweetSharp
MvcSiteMapProvider
Ad
am.J
SG
en
era
tor
Flu
en
tAss
ert
ion
s
Bootstrapper
AzureToolkit
ErikEJ.SqlCeMembership
Make using OSS as easy as “Add Reference”
Make using software as easy as “Add Reference”
How do we do that?
BUILD UP THE DEVELOPERECOSYSTEM
Adding a library to a project
What is the experience to add an existing 3rd Party or open source library to a project today?Let’s take a look
Like all good stories, it
starts with a Google search
Like all good stories, it
starts with a Bing
search
So far so good in this case.
This looks right
?Turns out, this is the right one.
Looks right to me,
I guess.
Before we extract it, we need to visit
the Properties
Don’t forget this!
Extract assemblies to a folder within
the solution directory
Need to add the correct
configuration to web.config
Finally! It works!
that‘s for a single assembly!
What Happens When I’m Ready For Build V2?
we can do much better!
Our NuGet Agenda
Basics: What it can doMaking Packages & PublishingCommand-line vs. UIExamples from Simple to Advanced
Conventions, Transforms and Preprocessing, PowerShell
NuGet Servers of all SizesNuGet and Source ControlNuGet and Continuous Integration Extreme Examples
What about big boring companies?
What problem are we trying to solve?
Sharing business level components among teams.Sharing best practices among teams.Build productivity helpers on top of existing Out of the Box, Open Source or 3rd party tools and libraries.Setup configuration that is specific to the enterprise environment.
How is this solved today
File shares with folders full of assemblies or downloaded 3rd party installers.Tribal knowledgeSparse documentation in wikis or email threads.Pulled from existing source code trees within the company.
How does NuGet help?
Provides a central location to store this knowledge, in the form of code, assemblies, configuration, and automation scripts.Provides concrete solutions rather than guidance, policies, or abstract standards.
Continuous Integration
Create a second Repository for CI builds.Automate the NuGet Package creation from your CI builds to publish to the CI RepositoryAutomatically increment your version numbers in your assemblies and NuGets
PILE OF DEMOS!NuGet
Development
NuGet is an OuterCurve Foundation ProjectHosted on http://nuget.codeplex.comExternal contributions allowed
Several external core contributorsMonthly point release cadenceLarge uptake so far: http://stats.nuget.org
Web Track Resources
http://www.asp.net/http://www.silverlight.net/http://www.microsoft.com/web/gallery/http://www.iis.net/http://weblogs.asp.net/Scottgu/http://www.hanselman.com
top related