SlideShare a Scribd company logo
AMIR BARYLKO &
                      JAMES CHAMBERS
                      NUGET PACKAGE
                        MANAGER




Amir Barylko & James Chambers- Nuget    mavenTHOUGHT Inc.
ABOUT JAMES

  • Microsoft          MVP in Asp.Net/IIS
  • Husband           and father of 3
  • Humanitarian: food, water, JDRF

  • Product & Community Development Manager at
    LogiSense

Amir Barylko & James Chambers- Nuget        mavenTHOUGHT Inc.
ABOUT AMIR

  • Architect

  • Developer

  • Mentor

  • Great       cook
  • Software          Quality Expert at mavenTHOUGHT Inc.

Amir Barylko & James Chambers- Nuget             mavenTHOUGHT Inc.
CONTACT US

  •   Email: james@jameschambers.com
             amir@barylko.com

  •   Twitter: @canadianjames, @abarylko

  •   Slides: http://orthocoders.com/presentations.html




Amir Barylko & James Chambers- Nuget                      mavenTHOUGHT Inc.
12’’ PIZZA ON WHITE



Amir Barylko & James Chambers- Nuget   mavenTHOUGHT Inc.
HOW DO WE
                  SHARE DLLS TODAY?



Amir Barylko & James Chambers- Nuget   mavenTHOUGHT Inc.
SHARED FOLDERS

  • All    the dlls are stored in a particular location
  • All    the projects add the reference to a DLL
  • When   a DLL is updated overwrites the previous
    version



Amir Barylko & James Chambers- Nuget               mavenTHOUGHT Inc.
NO VERSIONING

  • 1.0.0.0

  • Or     just changed with releases
  • Or     nobody cares




Amir Barylko & James Chambers- Nuget    mavenTHOUGHT Inc.
HUGE SOLUTIONS

  • All    the projects share the same solution
  • No      matter cohesion
  • It’s   easier to “debug” (really?)




Amir Barylko & James Chambers- Nuget              mavenTHOUGHT Inc.
BINARIES IN SRC CONTROL

  • The      binaries of the dependencies
  • Are      stored in source control
  • In   order to be able to build every time




Amir Barylko & James Chambers- Nuget            mavenTHOUGHT Inc.
UPDATE DLLS NIGHTMARE

  • Go      to each project and remove the old
  • Then       add the new reference
  • Or     just don’t use versioning (only internal)
  • But     you force everyone to update!


Amir Barylko & James Chambers- Nuget              mavenTHOUGHT Inc.
ADDING REFERENCES

  • Find     and add elmah.dll
  • Find     and add log4net.dll
  • Find     any other dependency
  • Modify        configuration
  • Etc....

Amir Barylko & James Chambers- Nuget   mavenTHOUGHT Inc.
NUGET



Amir Barylko & James Chambers- Nuget           mavenTHOUGHT Inc.
VS EXTENSION

  • Just    install it!




Amir Barylko & James Chambers- Nuget     mavenTHOUGHT Inc.
WHERE ARE THE DLLS?

  • Packages          folder (check it out)




Amir Barylko & James Chambers- Nuget          mavenTHOUGHT Inc.
RESTORE ON BUILD

  • No      need to store Packages folder
  • Just    check “restore on build”
  • If   needed, nuget will download them




Amir Barylko & James Chambers- Nuget        mavenTHOUGHT Inc.
COMMAND SHELL

  • More        flexibility
  • Use      nuget command shell to install, uninstall etc...
  • Auto       complete can be handy
  • Choose          version, etc....


Amir Barylko & James Chambers- Nuget                mavenTHOUGHT Inc.
WHAT ABOUT DEBUGGING?

  • Use      the symbol source Luke!
  • SymbolSource.Server.Basic          can be installed with
    nuget :)




Amir Barylko & James Chambers- Nuget                mavenTHOUGHT Inc.
PUBLISHING

  • Get      an API key from your server
  • nuget       -spec
  • Or Albacore              has a task for it (Yes, ruby and rake,
    get over it)
  • Or     NugetPackageExplorer

Amir Barylko & James Chambers- Nuget                      mavenTHOUGHT Inc.
POST INSTALLATION

  • Install     all dependencies
  • Run      web transforms
  • Run      any other configuration




Amir Barylko & James Chambers- Nuget   mavenTHOUGHT Inc.
MULTIPLE SERVERS

  • Nuget.org

  • MyGet

  •A     shared folder
  • Your      own local server


Amir Barylko & James Chambers- Nuget    mavenTHOUGHT Inc.
RISKS / DOUBTS



Amir Barylko & James Chambers- Nuget      mavenTHOUGHT Inc.
NO INTERNET

  • Backups

  • Local      feeds
  • Go      home!




Amir Barylko & James Chambers- Nuget     mavenTHOUGHT Inc.
EXPENSIVE UPDATE

  • Update         only when you want
  • Update         all of them together possible
  • Why        force to update if you don’t need to?




Amir Barylko & James Chambers- Nuget               mavenTHOUGHT Inc.
FORCES VERSIONING

  • And       that’s a problem because.... ?




Amir Barylko & James Chambers- Nuget           mavenTHOUGHT Inc.
IF IT WORKS DON’T BREAK IT

  • No      more binaries in source control
  • Clear       dependency management
  • Less     coupling
  • Follow        a standard
  • Less     headaches!
Amir Barylko & James Chambers- Nuget          mavenTHOUGHT Inc.
CONTACT US

  •   Email: james@jameschambers.com
             amir@barylko.com

  •   Twitter: @canadianjames, @abarylko

  •   Slides: http://orthocoders.com/presentations.html




Amir Barylko & James Chambers- Nuget                      mavenTHOUGHT Inc.

More Related Content

What's hot

WebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSM
WebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSMWebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSM
WebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSM
Barbara Bermes
 
28 ways To Create Awesome Blog Content with an iPhone
28 ways To Create Awesome Blog Content with an iPhone28 ways To Create Awesome Blog Content with an iPhone
28 ways To Create Awesome Blog Content with an iPhone
Converse Digital | Digital Strategy Advisors
 
Flexible web publishing with Expression Engine
Flexible web publishing with Expression EngineFlexible web publishing with Expression Engine
Flexible web publishing with Expression Engine
Harvard Web Working Group
 
Yeoman - Santa Barbara JavaScript Meetup
Yeoman - Santa Barbara JavaScript MeetupYeoman - Santa Barbara JavaScript Meetup
Yeoman - Santa Barbara JavaScript Meetup
Tim Doherty
 
CPL12-Agile-planning
CPL12-Agile-planningCPL12-Agile-planning
CPL12-Agile-planning
Amir Barylko
 
WordPress Rest API
WordPress Rest APIWordPress Rest API
WordPress Rest API
Brian Layman
 
Enabling your DevOps culture with AWS-webinar
Enabling your DevOps culture with AWS-webinarEnabling your DevOps culture with AWS-webinar
Enabling your DevOps culture with AWS-webinar
Aaron Walker
 
Wrapping with PhoneGap
Wrapping with PhoneGapWrapping with PhoneGap
Wrapping with PhoneGap
Karl Bunyan
 
State of Drupal keynote, DrupalCon Austin
State of Drupal keynote, DrupalCon AustinState of Drupal keynote, DrupalCon Austin
State of Drupal keynote, DrupalCon Austin
Dries Buytaert
 
A Holistic Approach to HTML5 Game Design & Development
A Holistic Approach to HTML5 Game Design & DevelopmentA Holistic Approach to HTML5 Game Design & Development
A Holistic Approach to HTML5 Game Design & Development
Karl Bunyan
 
Optimizing Responsive Websites for Users and Search Engines
Optimizing Responsive Websites for Users and Search Engines Optimizing Responsive Websites for Users and Search Engines
Optimizing Responsive Websites for Users and Search Engines
Rob Johnson
 
Flexing Your WordPress Themes
Flexing Your WordPress ThemesFlexing Your WordPress Themes
Flexing Your WordPress Themes
Tim Blodgett
 
Atmosphere Conference 2015: DevOps sum is greater than its parts
Atmosphere Conference 2015: DevOps sum is greater than its partsAtmosphere Conference 2015: DevOps sum is greater than its parts
Atmosphere Conference 2015: DevOps sum is greater than its parts
PROIDEA
 
Ohio Devfest - Visual Analysis with GCP
Ohio Devfest - Visual Analysis with GCPOhio Devfest - Visual Analysis with GCP
Ohio Devfest - Visual Analysis with GCP
Wesley Workman
 
Social dev camp_2011
Social dev camp_2011Social dev camp_2011
Social dev camp_2011
Craig Ulliott
 
Building a massively scalabale cloud service from grounds up
Building a massively scalabale cloud service from grounds upBuilding a massively scalabale cloud service from grounds up
Building a massively scalabale cloud service from grounds up
Baruch Sadogursky
 
1st conference 2015 devops
1st conference 2015   devops1st conference 2015   devops
1st conference 2015 devops
Andy Marks
 

What's hot (20)

WebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSM
WebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSMWebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSM
WebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSM
 
28 ways To Create Awesome Blog Content with an iPhone
28 ways To Create Awesome Blog Content with an iPhone28 ways To Create Awesome Blog Content with an iPhone
28 ways To Create Awesome Blog Content with an iPhone
 
Flexible web publishing with Expression Engine
Flexible web publishing with Expression EngineFlexible web publishing with Expression Engine
Flexible web publishing with Expression Engine
 
Multisite for the Masses
Multisite for the MassesMultisite for the Masses
Multisite for the Masses
 
Yeoman - Santa Barbara JavaScript Meetup
Yeoman - Santa Barbara JavaScript MeetupYeoman - Santa Barbara JavaScript Meetup
Yeoman - Santa Barbara JavaScript Meetup
 
Esn satellite agm13
Esn satellite agm13Esn satellite agm13
Esn satellite agm13
 
CPL12-Agile-planning
CPL12-Agile-planningCPL12-Agile-planning
CPL12-Agile-planning
 
WordPress Rest API
WordPress Rest APIWordPress Rest API
WordPress Rest API
 
Enabling your DevOps culture with AWS-webinar
Enabling your DevOps culture with AWS-webinarEnabling your DevOps culture with AWS-webinar
Enabling your DevOps culture with AWS-webinar
 
Wrapping with PhoneGap
Wrapping with PhoneGapWrapping with PhoneGap
Wrapping with PhoneGap
 
Andrew bond icera
Andrew bond iceraAndrew bond icera
Andrew bond icera
 
State of Drupal keynote, DrupalCon Austin
State of Drupal keynote, DrupalCon AustinState of Drupal keynote, DrupalCon Austin
State of Drupal keynote, DrupalCon Austin
 
A Holistic Approach to HTML5 Game Design & Development
A Holistic Approach to HTML5 Game Design & DevelopmentA Holistic Approach to HTML5 Game Design & Development
A Holistic Approach to HTML5 Game Design & Development
 
Optimizing Responsive Websites for Users and Search Engines
Optimizing Responsive Websites for Users and Search Engines Optimizing Responsive Websites for Users and Search Engines
Optimizing Responsive Websites for Users and Search Engines
 
Flexing Your WordPress Themes
Flexing Your WordPress ThemesFlexing Your WordPress Themes
Flexing Your WordPress Themes
 
Atmosphere Conference 2015: DevOps sum is greater than its parts
Atmosphere Conference 2015: DevOps sum is greater than its partsAtmosphere Conference 2015: DevOps sum is greater than its parts
Atmosphere Conference 2015: DevOps sum is greater than its parts
 
Ohio Devfest - Visual Analysis with GCP
Ohio Devfest - Visual Analysis with GCPOhio Devfest - Visual Analysis with GCP
Ohio Devfest - Visual Analysis with GCP
 
Social dev camp_2011
Social dev camp_2011Social dev camp_2011
Social dev camp_2011
 
Building a massively scalabale cloud service from grounds up
Building a massively scalabale cloud service from grounds upBuilding a massively scalabale cloud service from grounds up
Building a massively scalabale cloud service from grounds up
 
1st conference 2015 devops
1st conference 2015   devops1st conference 2015   devops
1st conference 2015 devops
 

Similar to Nuget

prdc10-Bdd-real-world
prdc10-Bdd-real-worldprdc10-Bdd-real-world
prdc10-Bdd-real-worldAmir Barylko
 
Page objects pattern
Page objects patternPage objects pattern
Page objects pattern
Amir Barylko
 
Page-objects-pattern
Page-objects-patternPage-objects-pattern
Page-objects-pattern
Amir Barylko
 
why-tdd
why-tddwhy-tdd
why-tdd
Amir Barylko
 
PRDC11-tdd-common-mistakes
PRDC11-tdd-common-mistakesPRDC11-tdd-common-mistakes
PRDC11-tdd-common-mistakes
Amir Barylko
 
2012 regina TC - 103 quality driven
2012 regina TC - 103 quality driven2012 regina TC - 103 quality driven
2012 regina TC - 103 quality driven
Amir Barylko
 
Engage 2016 - Adm01 - Back from the Dead: When Bad Code Kills a Good Server
Engage 2016 - Adm01 - Back from the Dead: When Bad Code Kills a Good ServerEngage 2016 - Adm01 - Back from the Dead: When Bad Code Kills a Good Server
Engage 2016 - Adm01 - Back from the Dead: When Bad Code Kills a Good Server
Bill Malchisky Jr.
 
Open source libraries and tools
Open source libraries and toolsOpen source libraries and tools
Open source libraries and toolsAmir Barylko
 
DevTeach12-Capybara
DevTeach12-CapybaraDevTeach12-Capybara
DevTeach12-Capybara
Amir Barylko
 
Adopting SystemVerilog/OVM
Adopting SystemVerilog/OVM Adopting SystemVerilog/OVM
Adopting SystemVerilog/OVM DVClub
 
Agile requirements
Agile requirementsAgile requirements
Agile requirements
Amir Barylko
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable product
Julian Simpson
 
Cloud conference - mongodb
Cloud conference - mongodbCloud conference - mongodb
Cloud conference - mongodb
Mitch Pirtle
 
Inside Wordnik's Architecture
Inside Wordnik's ArchitectureInside Wordnik's Architecture
Inside Wordnik's Architecture
Tony Tam
 
What is this cloud thing?
What is this cloud thing?What is this cloud thing?
What is this cloud thing?
Andrew Eisenberg
 
DevTeach12-betterspecs
DevTeach12-betterspecsDevTeach12-betterspecs
DevTeach12-betterspecs
Amir Barylko
 
YEG-Agile-planning
YEG-Agile-planningYEG-Agile-planning
YEG-Agile-planning
Amir Barylko
 
Running MongoDB in the Cloud
Running MongoDB in the CloudRunning MongoDB in the Cloud
Running MongoDB in the Cloud
Tony Tam
 
Death to Manual Deployments
Death to Manual DeploymentsDeath to Manual Deployments
Death to Manual Deployments
IBM UrbanCode Products
 

Similar to Nuget (20)

prdc10-Bdd-real-world
prdc10-Bdd-real-worldprdc10-Bdd-real-world
prdc10-Bdd-real-world
 
Page objects pattern
Page objects patternPage objects pattern
Page objects pattern
 
Page-objects-pattern
Page-objects-patternPage-objects-pattern
Page-objects-pattern
 
why-tdd
why-tddwhy-tdd
why-tdd
 
YEG-UG-Capybara
YEG-UG-CapybaraYEG-UG-Capybara
YEG-UG-Capybara
 
PRDC11-tdd-common-mistakes
PRDC11-tdd-common-mistakesPRDC11-tdd-common-mistakes
PRDC11-tdd-common-mistakes
 
2012 regina TC - 103 quality driven
2012 regina TC - 103 quality driven2012 regina TC - 103 quality driven
2012 regina TC - 103 quality driven
 
Engage 2016 - Adm01 - Back from the Dead: When Bad Code Kills a Good Server
Engage 2016 - Adm01 - Back from the Dead: When Bad Code Kills a Good ServerEngage 2016 - Adm01 - Back from the Dead: When Bad Code Kills a Good Server
Engage 2016 - Adm01 - Back from the Dead: When Bad Code Kills a Good Server
 
Open source libraries and tools
Open source libraries and toolsOpen source libraries and tools
Open source libraries and tools
 
DevTeach12-Capybara
DevTeach12-CapybaraDevTeach12-Capybara
DevTeach12-Capybara
 
Adopting SystemVerilog/OVM
Adopting SystemVerilog/OVM Adopting SystemVerilog/OVM
Adopting SystemVerilog/OVM
 
Agile requirements
Agile requirementsAgile requirements
Agile requirements
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable product
 
Cloud conference - mongodb
Cloud conference - mongodbCloud conference - mongodb
Cloud conference - mongodb
 
Inside Wordnik's Architecture
Inside Wordnik's ArchitectureInside Wordnik's Architecture
Inside Wordnik's Architecture
 
What is this cloud thing?
What is this cloud thing?What is this cloud thing?
What is this cloud thing?
 
DevTeach12-betterspecs
DevTeach12-betterspecsDevTeach12-betterspecs
DevTeach12-betterspecs
 
YEG-Agile-planning
YEG-Agile-planningYEG-Agile-planning
YEG-Agile-planning
 
Running MongoDB in the Cloud
Running MongoDB in the CloudRunning MongoDB in the Cloud
Running MongoDB in the Cloud
 
Death to Manual Deployments
Death to Manual DeploymentsDeath to Manual Deployments
Death to Manual Deployments
 

More from Amir Barylko

Functional converter project
Functional converter projectFunctional converter project
Functional converter project
Amir Barylko
 
Elm: delightful web development
Elm: delightful web developmentElm: delightful web development
Elm: delightful web development
Amir Barylko
 
Dot Net Core
Dot Net CoreDot Net Core
Dot Net Core
Amir Barylko
 
No estimates
No estimatesNo estimates
No estimates
Amir Barylko
 
User stories deep dive
User stories deep diveUser stories deep dive
User stories deep dive
Amir Barylko
 
Coderetreat hosting training
Coderetreat hosting trainingCoderetreat hosting training
Coderetreat hosting training
Amir Barylko
 
There's no charge for (functional) awesomeness
There's no charge for (functional) awesomenessThere's no charge for (functional) awesomeness
There's no charge for (functional) awesomeness
Amir Barylko
 
What's new in c# 6
What's new in c# 6What's new in c# 6
What's new in c# 6
Amir Barylko
 
Productive teams
Productive teamsProductive teams
Productive teams
Amir Barylko
 
Who killed object oriented design?
Who killed object oriented design?Who killed object oriented design?
Who killed object oriented design?
Amir Barylko
 
From coach to owner - What I learned from the other side
From coach to owner - What I learned from the other sideFrom coach to owner - What I learned from the other side
From coach to owner - What I learned from the other side
Amir Barylko
 
Communication is the Key to Teamwork and productivity
Communication is the Key to Teamwork and productivityCommunication is the Key to Teamwork and productivity
Communication is the Key to Teamwork and productivity
Amir Barylko
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
Amir Barylko
 
Refactoring
RefactoringRefactoring
Refactoring
Amir Barylko
 
Agile requirements
Agile requirementsAgile requirements
Agile requirements
Amir Barylko
 
Agile teams and responsibilities
Agile teams and responsibilitiesAgile teams and responsibilities
Agile teams and responsibilities
Amir Barylko
 
Refactoring
RefactoringRefactoring
Refactoring
Amir Barylko
 
Beutiful javascript with coffeescript
Beutiful javascript with coffeescriptBeutiful javascript with coffeescript
Beutiful javascript with coffeescriptAmir Barylko
 
Rich UI with Knockout.js & Coffeescript
Rich UI with Knockout.js & CoffeescriptRich UI with Knockout.js & Coffeescript
Rich UI with Knockout.js & CoffeescriptAmir Barylko
 

More from Amir Barylko (20)

Functional converter project
Functional converter projectFunctional converter project
Functional converter project
 
Elm: delightful web development
Elm: delightful web developmentElm: delightful web development
Elm: delightful web development
 
Dot Net Core
Dot Net CoreDot Net Core
Dot Net Core
 
No estimates
No estimatesNo estimates
No estimates
 
User stories deep dive
User stories deep diveUser stories deep dive
User stories deep dive
 
Coderetreat hosting training
Coderetreat hosting trainingCoderetreat hosting training
Coderetreat hosting training
 
There's no charge for (functional) awesomeness
There's no charge for (functional) awesomenessThere's no charge for (functional) awesomeness
There's no charge for (functional) awesomeness
 
What's new in c# 6
What's new in c# 6What's new in c# 6
What's new in c# 6
 
Productive teams
Productive teamsProductive teams
Productive teams
 
Who killed object oriented design?
Who killed object oriented design?Who killed object oriented design?
Who killed object oriented design?
 
From coach to owner - What I learned from the other side
From coach to owner - What I learned from the other sideFrom coach to owner - What I learned from the other side
From coach to owner - What I learned from the other side
 
Communication is the Key to Teamwork and productivity
Communication is the Key to Teamwork and productivityCommunication is the Key to Teamwork and productivity
Communication is the Key to Teamwork and productivity
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
 
Refactoring
RefactoringRefactoring
Refactoring
 
Agile requirements
Agile requirementsAgile requirements
Agile requirements
 
Agile teams and responsibilities
Agile teams and responsibilitiesAgile teams and responsibilities
Agile teams and responsibilities
 
Refactoring
RefactoringRefactoring
Refactoring
 
Beutiful javascript with coffeescript
Beutiful javascript with coffeescriptBeutiful javascript with coffeescript
Beutiful javascript with coffeescript
 
Sass & bootstrap
Sass & bootstrapSass & bootstrap
Sass & bootstrap
 
Rich UI with Knockout.js & Coffeescript
Rich UI with Knockout.js & CoffeescriptRich UI with Knockout.js & Coffeescript
Rich UI with Knockout.js & Coffeescript
 

Recently uploaded

Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 

Recently uploaded (20)

Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 

Nuget

  • 1. AMIR BARYLKO & JAMES CHAMBERS NUGET PACKAGE MANAGER Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 2. ABOUT JAMES • Microsoft MVP in Asp.Net/IIS • Husband and father of 3 • Humanitarian: food, water, JDRF • Product & Community Development Manager at LogiSense Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 3. ABOUT AMIR • Architect • Developer • Mentor • Great cook • Software Quality Expert at mavenTHOUGHT Inc. Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 4. CONTACT US • Email: james@jameschambers.com amir@barylko.com • Twitter: @canadianjames, @abarylko • Slides: http://orthocoders.com/presentations.html Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 5. 12’’ PIZZA ON WHITE Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 6.
  • 7. HOW DO WE SHARE DLLS TODAY? Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 8. SHARED FOLDERS • All the dlls are stored in a particular location • All the projects add the reference to a DLL • When a DLL is updated overwrites the previous version Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 9. NO VERSIONING • 1.0.0.0 • Or just changed with releases • Or nobody cares Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 10. HUGE SOLUTIONS • All the projects share the same solution • No matter cohesion • It’s easier to “debug” (really?) Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 11. BINARIES IN SRC CONTROL • The binaries of the dependencies • Are stored in source control • In order to be able to build every time Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 12. UPDATE DLLS NIGHTMARE • Go to each project and remove the old • Then add the new reference • Or just don’t use versioning (only internal) • But you force everyone to update! Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 13. ADDING REFERENCES • Find and add elmah.dll • Find and add log4net.dll • Find any other dependency • Modify configuration • Etc.... Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 14. NUGET Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 15. VS EXTENSION • Just install it! Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 16. WHERE ARE THE DLLS? • Packages folder (check it out) Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 17. RESTORE ON BUILD • No need to store Packages folder • Just check “restore on build” • If needed, nuget will download them Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 18. COMMAND SHELL • More flexibility • Use nuget command shell to install, uninstall etc... • Auto complete can be handy • Choose version, etc.... Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 19. WHAT ABOUT DEBUGGING? • Use the symbol source Luke! • SymbolSource.Server.Basic can be installed with nuget :) Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 20. PUBLISHING • Get an API key from your server • nuget -spec • Or Albacore has a task for it (Yes, ruby and rake, get over it) • Or NugetPackageExplorer Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 21. POST INSTALLATION • Install all dependencies • Run web transforms • Run any other configuration Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 22. MULTIPLE SERVERS • Nuget.org • MyGet •A shared folder • Your own local server Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 23. RISKS / DOUBTS Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 24. NO INTERNET • Backups • Local feeds • Go home! Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 25. EXPENSIVE UPDATE • Update only when you want • Update all of them together possible • Why force to update if you don’t need to? Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 26. FORCES VERSIONING • And that’s a problem because.... ? Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 27. IF IT WORKS DON’T BREAK IT • No more binaries in source control • Clear dependency management • Less coupling • Follow a standard • Less headaches! Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.
  • 28. CONTACT US • Email: james@jameschambers.com amir@barylko.com • Twitter: @canadianjames, @abarylko • Slides: http://orthocoders.com/presentations.html Amir Barylko & James Chambers- Nuget mavenTHOUGHT Inc.