SlideShare a Scribd company logo
Who needsVisual Studio?
.NET Core on Linux
Chris Gomez
@SpaceShot
www.chrisgomez.com
chris@chrisgomez.com
Who needsVisual Studio?
.NET Core on Linux
Chris Gomez
@SpaceShot
www.chrisgomez.com
chris@chrisgomez.com
Chris Gomez
•First software was in BASIC on DOS 2.1
•Writing software professionally onWindows platforms
since 1993
•Microsoft MVP inVisual StudioTools and Development
Technologies
•Publishing and Deployment Examples
•Contributor to the StaticVoid Podcast
www.staticvoidpodcast.com
Agenda
•What is .NET Core?
•Acquiring .NET Core
•Development Experience
•Publishing and Deployment Examples
What is .NET Core?
.NET Core is a new platform
• Cross platform implementation
• Windows
• Linux distributions
• Mac
• Current support for x64 CPUs
• X86 supported onWindows
• ARM64 and ARM32 in progress
What is .NET Core?
.NET Core is:
• Bias towards platform agnostic
• Console and ASP.NET models today
• Open Source
• Contribute to code or documentation
https://github.com/dotnet
• Language Support: C# and F# now
• Visual Basic listed as future support
What is .NET Core?
Introducing .NET Standard - http://bit.ly/2pEk7bI
We already have many “.NETs”
What is .NET Core?
.NET Core does not:
• Meld into your machine like .NET Framework
• Require in-place upgrade for every “app” running on a server
• Include .NET Core in your app
• Install side-by-side on machine
• Implement everything you remember from .NET Framework
• Example: Code Access Security,WPF, WCF
What about .NET Framework?
• .NET Framework 4.6.2 released in August 20161
• .NET Framework 4.7 released in April 20172
.NET Framework continues a framework forWindows.
1 https://blogs.msdn.microsoft.com/dotnet/2016/08/02/announcing-net-framework-4-6-2
2 https://blogs.msdn.microsoft.com/dotnet/2017/04/05/announcing-the-net-framework-4-7/
What is ASP.NET Core?
• ASP.NET Core is an open source and cross platform framework
https://github.com/aspnet
• ASP.NET Core MVC – Building presentation layers andWeb APIs
https://docs.microsoft.com/aspnet/core/mvc
• Entity Framework Core – Cross platform data access
https://docs.microsoft.com/ef/core/
.NET Framework
Windows
.NET Core
Windows, Linux, Mac
ASP.NET Core
Runs on .NET Framework / .NET Core
ASP.NET
Runs on .NET Framework
Prerequisites
(Options to get you going)
• Virtual Machine
• VirtualBox
• Hyper-V
• Or use your Mac
• Or use Linux on the metal
• You can do all this onWindows, too.
Prerequisites
• Nodejs and NPM
• Prerequisite forYeoman and other NPM installable tools
• Yeoman (yo) – Scaffolding for apps
• generator-aspnet (yeoman generator)
• Info: https://github.com/omnisharp/generator-aspnet
• Bower – Client side package restore
• Yeoman uses bower: npm install –g bower
Acquiring .NET Core
http://dot.net -The Home for .NET
Acquiring .NET Core
https://www.microsoft.com/net/core
Acquiring .NET Core
“HelloWorld” on .NET Core
Whole Process:Three minutes
Tooling Options for Linux
• Visual Studio Code
• OmniSharp
• Bring your favorite editor: http://www.omnisharp.net/
• JetBrains Rider
• Prerequisites:
Mono (mono-complete)
MSBuild (msbuild)
GettingVisual Studio Code
Get the C# extension
Demo
Development Experience
Creating New Projects
• dotnet command
https://docs.microsoft.com/en-us/dotnet/articles/core/tools/dotnet
• Bring projects over fromVisual Studio
• JetBrains Rider
https://www.jetbrains.com/rider/
• Yeoman Generator
https://github.com/OmniSharp/generator-aspnet
Survey of Cloud Options
• Amazon Web Services
• Deploying an ASP.NET CoreApplication with AWS Elastic Beanstalk
http://amzn.to/2oTcDCk
• Creating .NET Core AWS Lambda Projects withoutVisual Studio
http://amzn.to/2qzUKEO
Survey of Cloud Options
• Google Cloud Platform
• Scott Hanselman tries GCP with ASP.NET Core
http://bit.ly/2p45Y4m
• Google Cloud Platform Blog – Managing containerized ASP.NET Core
apps with Kubernetes
http://bit.ly/2pB9c0n
Survey of Cloud Options
• Containers
• Docker
Installation on Linux: http://dockr.ly/2p1wJFB
Demo
Publishing and Creating Docker Images
Summary
• .NET Core
• Lightweight
• Less Intrusive
• Cross-Platform
• Acquiring .NET Core
• Ubuntu Linux: apt-get
• Development Experience
• Visual Studio Code
• Publishing and Deployment Example
Further Study
Kathleen Dollard
An independent look at the arc of .NET
https://www.youtube.com/watch?v=X9dFBt31UVw
Jon Galloway
Getting the best out of ASP.NETCore in Azure
https://www.youtube.com/watch?v=BzSAXSxytpQ
Further Study
Jeff Fritz
Advanced .NET Core and .NET Standard in 2017
http://bit.ly/2p580Aw
Steve Lasker and Glenn Condron
DeployingASP.Net Core applications using
Docker Containers
http://bit.ly/2qs1GI2
Who needsVisual Studio?
.NET Core on Linux
Chris Gomez
@SpaceShot
www.chrisgomez.com
chris@chrisgomez.com
Ad

More Related Content

What's hot (20)

DockerCon US 2015 - Engine Breakout Session
DockerCon US 2015 - Engine Breakout SessionDockerCon US 2015 - Engine Breakout Session
DockerCon US 2015 - Engine Breakout Session
Arnaud Porterie
 
Docker multi-stage build
Docker multi-stage buildDocker multi-stage build
Docker multi-stage build
Alexei Ledenev
 
Cross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet coreCross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet core
Swaminathan Vetri
 
Sutol 2016 - Automation is developer's friend
Sutol 2016 - Automation is developer's friendSutol 2016 - Automation is developer's friend
Sutol 2016 - Automation is developer's friend
mpradny
 
DockerCon SF 2015: Getting Started w/ Docker
DockerCon SF 2015: Getting Started w/ DockerDockerCon SF 2015: Getting Started w/ Docker
DockerCon SF 2015: Getting Started w/ Docker
Docker, Inc.
 
.Net Core
.Net Core.Net Core
.Net Core
Software Infrastructure
 
JRuby deployments
JRuby deploymentsJRuby deployments
JRuby deployments
berninme
 
Juc boston2014.pptx
Juc boston2014.pptxJuc boston2014.pptx
Juc boston2014.pptx
Brandon Mueller
 
Migrating .NET Application to .NET Core
Migrating .NET Application to .NET CoreMigrating .NET Application to .NET Core
Migrating .NET Application to .NET Core
Baris Ceviz
 
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
dotCloud
 
DockerCon SF 2015: Orchestration for Devs (machine + compose)
DockerCon SF 2015:  Orchestration for Devs (machine + compose)DockerCon SF 2015:  Orchestration for Devs (machine + compose)
DockerCon SF 2015: Orchestration for Devs (machine + compose)
Docker, Inc.
 
Qt5 on ti processors
Qt5 on ti processorsQt5 on ti processors
Qt5 on ti processors
Prabindh Sundareson
 
Net core
Net coreNet core
Net core
Damir Dobric
 
Auto-scaled Concourse CI on AWS w/o BOSH
Auto-scaled Concourse CI on AWS w/o BOSHAuto-scaled Concourse CI on AWS w/o BOSH
Auto-scaled Concourse CI on AWS w/o BOSH
佑介 九岡
 
Big Boards & docker
Big Boards & dockerBig Boards & docker
Big Boards & docker
Wim Van Leuven
 
dotnetsheff: Continuous delivery with Team City and Octopus Deploy
dotnetsheff: Continuous delivery with Team City and Octopus Deploydotnetsheff: Continuous delivery with Team City and Octopus Deploy
dotnetsheff: Continuous delivery with Team City and Octopus Deploy
Kevin Kuszyk
 
Sandbox CI/CD Environments for Everyone [BADCamp 2018]
Sandbox CI/CD Environments for Everyone [BADCamp 2018]Sandbox CI/CD Environments for Everyone [BADCamp 2018]
Sandbox CI/CD Environments for Everyone [BADCamp 2018]
Leonid Makarov
 
Git+jenkins+rex presentation
Git+jenkins+rex presentationGit+jenkins+rex presentation
Git+jenkins+rex presentation
Dwi Sasongko Supriyadi
 
Smarter deployments with octopus deploy
Smarter deployments with octopus deploySmarter deployments with octopus deploy
Smarter deployments with octopus deploy
Thibaud Gravrand
 
CI/CD for Asp.net core apps using Docker
CI/CD for Asp.net core apps using DockerCI/CD for Asp.net core apps using Docker
CI/CD for Asp.net core apps using Docker
Swaminathan Vetri
 
DockerCon US 2015 - Engine Breakout Session
DockerCon US 2015 - Engine Breakout SessionDockerCon US 2015 - Engine Breakout Session
DockerCon US 2015 - Engine Breakout Session
Arnaud Porterie
 
Docker multi-stage build
Docker multi-stage buildDocker multi-stage build
Docker multi-stage build
Alexei Ledenev
 
Cross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet coreCross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet core
Swaminathan Vetri
 
Sutol 2016 - Automation is developer's friend
Sutol 2016 - Automation is developer's friendSutol 2016 - Automation is developer's friend
Sutol 2016 - Automation is developer's friend
mpradny
 
DockerCon SF 2015: Getting Started w/ Docker
DockerCon SF 2015: Getting Started w/ DockerDockerCon SF 2015: Getting Started w/ Docker
DockerCon SF 2015: Getting Started w/ Docker
Docker, Inc.
 
JRuby deployments
JRuby deploymentsJRuby deployments
JRuby deployments
berninme
 
Migrating .NET Application to .NET Core
Migrating .NET Application to .NET CoreMigrating .NET Application to .NET Core
Migrating .NET Application to .NET Core
Baris Ceviz
 
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
dotCloud
 
DockerCon SF 2015: Orchestration for Devs (machine + compose)
DockerCon SF 2015:  Orchestration for Devs (machine + compose)DockerCon SF 2015:  Orchestration for Devs (machine + compose)
DockerCon SF 2015: Orchestration for Devs (machine + compose)
Docker, Inc.
 
Auto-scaled Concourse CI on AWS w/o BOSH
Auto-scaled Concourse CI on AWS w/o BOSHAuto-scaled Concourse CI on AWS w/o BOSH
Auto-scaled Concourse CI on AWS w/o BOSH
佑介 九岡
 
dotnetsheff: Continuous delivery with Team City and Octopus Deploy
dotnetsheff: Continuous delivery with Team City and Octopus Deploydotnetsheff: Continuous delivery with Team City and Octopus Deploy
dotnetsheff: Continuous delivery with Team City and Octopus Deploy
Kevin Kuszyk
 
Sandbox CI/CD Environments for Everyone [BADCamp 2018]
Sandbox CI/CD Environments for Everyone [BADCamp 2018]Sandbox CI/CD Environments for Everyone [BADCamp 2018]
Sandbox CI/CD Environments for Everyone [BADCamp 2018]
Leonid Makarov
 
Smarter deployments with octopus deploy
Smarter deployments with octopus deploySmarter deployments with octopus deploy
Smarter deployments with octopus deploy
Thibaud Gravrand
 
CI/CD for Asp.net core apps using Docker
CI/CD for Asp.net core apps using DockerCI/CD for Asp.net core apps using Docker
CI/CD for Asp.net core apps using Docker
Swaminathan Vetri
 

Similar to Who Needs Visual Studio? (20)

Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
CodeFest
 
Open source and cross platform .net
Open source and cross platform .netOpen source and cross platform .net
Open source and cross platform .net
Ibon Landa
 
Unikernel User Summit 2015: Getting started in unikernels using the rump kernel
Unikernel User Summit 2015: Getting started in unikernels using the rump kernelUnikernel User Summit 2015: Getting started in unikernels using the rump kernel
Unikernel User Summit 2015: Getting started in unikernels using the rump kernel
The Linux Foundation
 
ASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bits
Ken Cenerelli
 
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & Infrastructure
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & InfrastructureWest Coast DevCon 2014: Build Automation - Epic’s Build Tools & Infrastructure
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & Infrastructure
Gerke Max Preussner
 
Getting Started with Node.js
Getting Started with Node.jsGetting Started with Node.js
Getting Started with Node.js
Justin Reock
 
ASP.NET 5 - Microsoft's Web development platform reimagined
ASP.NET 5 - Microsoft's Web development platform reimaginedASP.NET 5 - Microsoft's Web development platform reimagined
ASP.NET 5 - Microsoft's Web development platform reimagined
Alex Thissen
 
(WPF + WinForms) * .NET Core = Modern Desktop
(WPF + WinForms) * .NET Core = Modern Desktop(WPF + WinForms) * .NET Core = Modern Desktop
(WPF + WinForms) * .NET Core = Modern Desktop
Claire Novotny
 
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ..."Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
Edge AI and Vision Alliance
 
Docker presentation for sharing
Docker presentation   for sharingDocker presentation   for sharing
Docker presentation for sharing
Waruna Viraj Perera
 
.NET - The Current Spectrum
.NET -  The Current Spectrum.NET -  The Current Spectrum
.NET - The Current Spectrum
Rasik Bihari Tiwari
 
OpenStack - JobShop @Iași, 2016
OpenStack - JobShop @Iași, 2016OpenStack - JobShop @Iași, 2016
OpenStack - JobShop @Iași, 2016
Alexandru Coman
 
321 codeincontainer brewbox
321 codeincontainer brewbox321 codeincontainer brewbox
321 codeincontainer brewbox
Lino Telera
 
Docker With Asp.net Core
Docker With Asp.net CoreDocker With Asp.net Core
Docker With Asp.net Core
Fatih Şimşek
 
Setting up development environment for building SharePoint Framework solution...
Setting up development environment for building SharePoint Framework solution...Setting up development environment for building SharePoint Framework solution...
Setting up development environment for building SharePoint Framework solution...
Waldek Mastykarz
 
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
Amazon Web Services Korea
 
SPUnite17 Setting Up Development Environment
SPUnite17 Setting Up Development EnvironmentSPUnite17 Setting Up Development Environment
SPUnite17 Setting Up Development Environment
NCCOMMS
 
.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop Development.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop Development
Mirco Vanini
 
Upgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleetUpgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleet
Davide Cavalca
 
Container Orchestration for .NET Developers
Container Orchestration for .NET DevelopersContainer Orchestration for .NET Developers
Container Orchestration for .NET Developers
Mike Melusky
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
CodeFest
 
Open source and cross platform .net
Open source and cross platform .netOpen source and cross platform .net
Open source and cross platform .net
Ibon Landa
 
Unikernel User Summit 2015: Getting started in unikernels using the rump kernel
Unikernel User Summit 2015: Getting started in unikernels using the rump kernelUnikernel User Summit 2015: Getting started in unikernels using the rump kernel
Unikernel User Summit 2015: Getting started in unikernels using the rump kernel
The Linux Foundation
 
ASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bits
Ken Cenerelli
 
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & Infrastructure
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & InfrastructureWest Coast DevCon 2014: Build Automation - Epic’s Build Tools & Infrastructure
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & Infrastructure
Gerke Max Preussner
 
Getting Started with Node.js
Getting Started with Node.jsGetting Started with Node.js
Getting Started with Node.js
Justin Reock
 
ASP.NET 5 - Microsoft's Web development platform reimagined
ASP.NET 5 - Microsoft's Web development platform reimaginedASP.NET 5 - Microsoft's Web development platform reimagined
ASP.NET 5 - Microsoft's Web development platform reimagined
Alex Thissen
 
(WPF + WinForms) * .NET Core = Modern Desktop
(WPF + WinForms) * .NET Core = Modern Desktop(WPF + WinForms) * .NET Core = Modern Desktop
(WPF + WinForms) * .NET Core = Modern Desktop
Claire Novotny
 
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ..."Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
Edge AI and Vision Alliance
 
OpenStack - JobShop @Iași, 2016
OpenStack - JobShop @Iași, 2016OpenStack - JobShop @Iași, 2016
OpenStack - JobShop @Iași, 2016
Alexandru Coman
 
321 codeincontainer brewbox
321 codeincontainer brewbox321 codeincontainer brewbox
321 codeincontainer brewbox
Lino Telera
 
Docker With Asp.net Core
Docker With Asp.net CoreDocker With Asp.net Core
Docker With Asp.net Core
Fatih Şimşek
 
Setting up development environment for building SharePoint Framework solution...
Setting up development environment for building SharePoint Framework solution...Setting up development environment for building SharePoint Framework solution...
Setting up development environment for building SharePoint Framework solution...
Waldek Mastykarz
 
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
AWS Innovate: Moving Microsoft .Net applications one container at a time - Da...
Amazon Web Services Korea
 
SPUnite17 Setting Up Development Environment
SPUnite17 Setting Up Development EnvironmentSPUnite17 Setting Up Development Environment
SPUnite17 Setting Up Development Environment
NCCOMMS
 
.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop Development.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop Development
Mirco Vanini
 
Upgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleetUpgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleet
Davide Cavalca
 
Container Orchestration for .NET Developers
Container Orchestration for .NET DevelopersContainer Orchestration for .NET Developers
Container Orchestration for .NET Developers
Mike Melusky
 
Ad

More from Christopher Gomez (6)

React Faceoff at Philly.NET
React Faceoff at Philly.NETReact Faceoff at Philly.NET
React Faceoff at Philly.NET
Christopher Gomez
 
Azure Web Apps - Introduction
Azure Web Apps - IntroductionAzure Web Apps - Introduction
Azure Web Apps - Introduction
Christopher Gomez
 
Mastering git
Mastering gitMastering git
Mastering git
Christopher Gomez
 
Practical Git - Philly.NET Code Camp
Practical Git - Philly.NET Code CampPractical Git - Philly.NET Code Camp
Practical Git - Philly.NET Code Camp
Christopher Gomez
 
Practical Git - NYC Code Camp
Practical Git - NYC Code CampPractical Git - NYC Code Camp
Practical Git - NYC Code Camp
Christopher Gomez
 
The Realtime Web: Stateful and Programmable
The Realtime Web: Stateful and ProgrammableThe Realtime Web: Stateful and Programmable
The Realtime Web: Stateful and Programmable
Christopher Gomez
 
Azure Web Apps - Introduction
Azure Web Apps - IntroductionAzure Web Apps - Introduction
Azure Web Apps - Introduction
Christopher Gomez
 
Practical Git - Philly.NET Code Camp
Practical Git - Philly.NET Code CampPractical Git - Philly.NET Code Camp
Practical Git - Philly.NET Code Camp
Christopher Gomez
 
Practical Git - NYC Code Camp
Practical Git - NYC Code CampPractical Git - NYC Code Camp
Practical Git - NYC Code Camp
Christopher Gomez
 
The Realtime Web: Stateful and Programmable
The Realtime Web: Stateful and ProgrammableThe Realtime Web: Stateful and Programmable
The Realtime Web: Stateful and Programmable
Christopher Gomez
 
Ad

Recently uploaded (20)

#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 

Who Needs Visual Studio?

  • 1. Who needsVisual Studio? .NET Core on Linux Chris Gomez @SpaceShot www.chrisgomez.com [email protected]
  • 2. Who needsVisual Studio? .NET Core on Linux Chris Gomez @SpaceShot www.chrisgomez.com [email protected]
  • 3. Chris Gomez •First software was in BASIC on DOS 2.1 •Writing software professionally onWindows platforms since 1993 •Microsoft MVP inVisual StudioTools and Development Technologies •Publishing and Deployment Examples •Contributor to the StaticVoid Podcast www.staticvoidpodcast.com
  • 4. Agenda •What is .NET Core? •Acquiring .NET Core •Development Experience •Publishing and Deployment Examples
  • 5. What is .NET Core? .NET Core is a new platform • Cross platform implementation • Windows • Linux distributions • Mac • Current support for x64 CPUs • X86 supported onWindows • ARM64 and ARM32 in progress
  • 6. What is .NET Core? .NET Core is: • Bias towards platform agnostic • Console and ASP.NET models today • Open Source • Contribute to code or documentation https://github.com/dotnet • Language Support: C# and F# now • Visual Basic listed as future support
  • 7. What is .NET Core? Introducing .NET Standard - http://bit.ly/2pEk7bI We already have many “.NETs”
  • 8. What is .NET Core? .NET Core does not: • Meld into your machine like .NET Framework • Require in-place upgrade for every “app” running on a server • Include .NET Core in your app • Install side-by-side on machine • Implement everything you remember from .NET Framework • Example: Code Access Security,WPF, WCF
  • 9. What about .NET Framework? • .NET Framework 4.6.2 released in August 20161 • .NET Framework 4.7 released in April 20172 .NET Framework continues a framework forWindows. 1 https://blogs.msdn.microsoft.com/dotnet/2016/08/02/announcing-net-framework-4-6-2 2 https://blogs.msdn.microsoft.com/dotnet/2017/04/05/announcing-the-net-framework-4-7/
  • 10. What is ASP.NET Core? • ASP.NET Core is an open source and cross platform framework https://github.com/aspnet • ASP.NET Core MVC – Building presentation layers andWeb APIs https://docs.microsoft.com/aspnet/core/mvc • Entity Framework Core – Cross platform data access https://docs.microsoft.com/ef/core/ .NET Framework Windows .NET Core Windows, Linux, Mac ASP.NET Core Runs on .NET Framework / .NET Core ASP.NET Runs on .NET Framework
  • 11. Prerequisites (Options to get you going) • Virtual Machine • VirtualBox • Hyper-V • Or use your Mac • Or use Linux on the metal • You can do all this onWindows, too.
  • 12. Prerequisites • Nodejs and NPM • Prerequisite forYeoman and other NPM installable tools • Yeoman (yo) – Scaffolding for apps • generator-aspnet (yeoman generator) • Info: https://github.com/omnisharp/generator-aspnet • Bower – Client side package restore • Yeoman uses bower: npm install –g bower
  • 16. “HelloWorld” on .NET Core Whole Process:Three minutes
  • 17. Tooling Options for Linux • Visual Studio Code • OmniSharp • Bring your favorite editor: http://www.omnisharp.net/ • JetBrains Rider • Prerequisites: Mono (mono-complete) MSBuild (msbuild)
  • 19. Get the C# extension
  • 21. Creating New Projects • dotnet command https://docs.microsoft.com/en-us/dotnet/articles/core/tools/dotnet • Bring projects over fromVisual Studio • JetBrains Rider https://www.jetbrains.com/rider/ • Yeoman Generator https://github.com/OmniSharp/generator-aspnet
  • 22. Survey of Cloud Options • Amazon Web Services • Deploying an ASP.NET CoreApplication with AWS Elastic Beanstalk http://amzn.to/2oTcDCk • Creating .NET Core AWS Lambda Projects withoutVisual Studio http://amzn.to/2qzUKEO
  • 23. Survey of Cloud Options • Google Cloud Platform • Scott Hanselman tries GCP with ASP.NET Core http://bit.ly/2p45Y4m • Google Cloud Platform Blog – Managing containerized ASP.NET Core apps with Kubernetes http://bit.ly/2pB9c0n
  • 24. Survey of Cloud Options • Containers • Docker Installation on Linux: http://dockr.ly/2p1wJFB
  • 26. Summary • .NET Core • Lightweight • Less Intrusive • Cross-Platform • Acquiring .NET Core • Ubuntu Linux: apt-get • Development Experience • Visual Studio Code • Publishing and Deployment Example
  • 27. Further Study Kathleen Dollard An independent look at the arc of .NET https://www.youtube.com/watch?v=X9dFBt31UVw Jon Galloway Getting the best out of ASP.NETCore in Azure https://www.youtube.com/watch?v=BzSAXSxytpQ
  • 28. Further Study Jeff Fritz Advanced .NET Core and .NET Standard in 2017 http://bit.ly/2p580Aw Steve Lasker and Glenn Condron DeployingASP.Net Core applications using Docker Containers http://bit.ly/2qs1GI2
  • 29. Who needsVisual Studio? .NET Core on Linux Chris Gomez @SpaceShot www.chrisgomez.com [email protected]

Editor's Notes