Moving ASP.NET MVC to ASP.NET Core Patrick Oliveros Microsoft MVP Visual Studio and Development Technologies Lessons, Experiences, Considerations
Moving ASP.NET MVC to ASP.NET Core
Patrick Oliveros
Microsoft MVP Visual Studio and Development Technologies
Lessons, Experiences, Considerations
who am i?
• software developer for > 10 years• corporate and startup environments
• microsoft mvp for visual studio and development technologies for • formerly as an asp.net/iis mvp
• strong interest in developing web applications• working on the backend, mostly
• performed application website migrations
agenda
• Overview of ASP.NET Core
• Why Move?
• Demo• ASP.NET MVC vs. ASP.NET Core
• Differences
• Tools
• Lessons
• Considerations
• Questions
disclaimer
This material was prepared using RC1 (Release Candidate
1) of ASP.NET Core 1.0. As such, some content might be
changed or possibly be irrelevant or re-implemented
different from what would be presented.
when will rc2 come?
when will rc2 come?
• TL;DR - "the guts are changing for the better and it's taking longer than we thought it would to swap out the guts.“
• Key high-level themes:• Replatform on top of the .NET CLI
• Movement to a new netstandard*
• Polishing
• Stress, security, performance
• Performance optimization
.net future innovation
pre-requisites
• Prior ASP.NET MVC development experience
asp.net core
which to choose?
To be clear, ASP.NET 4.6 is the more mature platform. It's battle-tested and released and available today. ASP.NET Core 1.0 is a 1.0 release that includes Web API and MVC but doesn't yet have SignalR or Web Pages. It doesn't yet support VB or F#. It will have these subsystems some day but not today.
- Scott Hanselman(http://www.hanselman.com/blog/ASPNET5IsDeadIntroducingASPNETCore10AndNETCore10.aspx)
moving your application
Rewrite Migrate
Replace Reuse
https://blogs.msdn.microsoft.com/goto100/2008/11/03/rewrite-vs-migrate-vs-reuse-vs-replace/
should we upgrade?
Rewrite Migrate
Replace ReuseBusiness
Value
Application Quality
Low High
Standard
Custom
what‘s new?
• project layout
• project.json
• Startup.cs
project structure
project.json
Startup.cs
demo
why move?
• Because it is cool! (cross platform, etc)• Performance benefits
• Desire for platform/server agnostic hosting• Independent from other applications
• Portability
• Cost considerations• Visual Studio is expensive!
• Windows (10) is expensive!
• I already have existing Linux hosting options
considerations
• If in case you’re still with ASP.NET Web Formso never mind.
o seriously.
• No tooling that will move existing ASP.NET MVC projects/solutions to the new structure
• MVC application is in Visual Basic .NET
• Consumes 3rd party tools
• Non-cross platform is still an option
• Breaking/platform changes
if you’re curious
• get.asp.net• tooling
• ide
• tools
• runtime
• docs.asp.net• your bible
• patience
questions?