+ All Categories
Home > Documents > DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

Date post: 13-Jan-2016
Category:
Upload: ernest-mckinney
View: 215 times
Download: 0 times
Share this document with a friend
40
NuGet for The Enterprise .NET Package Management Scott Hanselman Principal Program Manager Microsoft DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav
Transcript
Page 1: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

NuGet for The Enterprise.NET Package Management

Scott HanselmanPrincipal Program ManagerMicrosoft

DEV338

Microsoft Community

DevUG Rijeka

Hrvoje HudoletnjakStratusNav

Page 2: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

2

Page 3: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

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

Page 4: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

Make using OSS as easy as “Add Reference”

Page 5: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

Make using software as easy as “Add Reference”

Page 6: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

How do we do that?

Page 7: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

BUILD UP THE DEVELOPERECOSYSTEM

Page 8: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

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

Page 9: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

Like all good stories, it

starts with a Google search

Page 10: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

Like all good stories, it

starts with a Bing

search

Page 11: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

So far so good in this case.

Page 12: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

This looks right

Page 13: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.
Page 14: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

?Turns out, this is the right one.

Page 15: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

Looks right to me,

I guess.

Page 16: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.
Page 17: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.
Page 18: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

Before we extract it, we need to visit

the Properties

Page 19: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

Don’t forget this!

Page 20: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.
Page 21: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.
Page 22: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

Extract assemblies to a folder within

the solution directory

Page 23: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.
Page 24: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.
Page 25: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.
Page 26: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

Need to add the correct

configuration to web.config

Page 27: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.
Page 28: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

Finally! It works!

Page 29: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

that‘s for a single assembly!

Page 30: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

What Happens When I’m Ready For Build V2?

Page 31: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

we can do much better!

Page 32: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

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

Page 33: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

What about big boring companies?

Page 34: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

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.

Page 35: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

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.

Page 36: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

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.

Page 37: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

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

Page 38: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

PILE OF DEMOS!NuGet

Page 39: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

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

Page 40: DEV338 Microsoft Community DevUG Rijeka Hrvoje Hudoletnjak StratusNav.

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


Recommended