Abstract

Many times, developers need to know if a technology or feature is supported by a specific .NET version. For example, how to verify that .NET Core has Linux support or not. Well, you can always Bing that but wouldn’t it be better if this need is supported by “one stop search” and results are authentic.

(more…)

Introduction

Microsoft Visual Studio 2017 is the most exciting version of Visual Studio. You can download the RC from https://www.visualstudio.com/vs/visual-studio-2017-rc/

Visual Studio 2017 has a lot of cool features, tool support and best developer experience right from Installation to code to debug to test to deploy (even it’s better if it’s to Azure).

System Requirements

To know minimum requirements for successful installation of Visual Studio 2017 product family, please visit this URL
https://www.visualstudio.com/en-us/productinfo/vs2017-system-requirements-vs

Installation

Run the downloaded .exe and you will see a very unique launch screen as shown below.

Option Selection

Visual Studio 2017 offers a brand new way of choosing the tool set’s. You can choose one of the following:

  • workloads I.e. what exactly you do or want to do.
  • Individual Components I.e. hand pick all components individually. I feel it could be messy unless you want to cherry pick.
  • Language Packs I.e. select language of your choice.

Workloads

Workloads is the easiest and most effective way of installing all components and dependencies of your chosen field of development. For example, web, desktop, cloud, node, data science etc.

This is so much loaded that you can select up to 8 “Web & Cloud” workloads. As shown in the image below.

Individual Components

This is a tricky one and can cause issues if someone really starts to pick and choose options from here. However, this will be perfect choice when you just want to install “.NET Core Runtime” or so.

Language Packs

This enables you to pick language of your choice. Based on your operating System, it will automatically default to a language; as shown in the image below.

Making Selection

Once selection is made; preferably from Workloads tab; you will see that Summary section is populated with all the components which will be installed. If you want you can expand the each listed item under summary and see all the components installed under each item to a very granular level.

Now, Let’s Begin the Installation

I personally feel that this is one of the fastest Visual Studio setup since 1st version I had my hands on back in 1996.

 

 

 

 

 

 

 

 

 

Setup Complete

Visual Studio 2017 RC setup requires you to Restart your PC. You may not want to do that; but I recommend to “Restart” it.

Welcome Visual Studio 2017

Notice the Recently added section and see all the Visual Studio 2017 components.

Check the Installed .NET Frameworks

Below image shows that all the .NET Frameworks are successfully installed. Which includes .NET Framework until 4.6.x and .NET 1.0 Preview 3. You can run commands as shown below to check those in any machine.

“dotnet –version” is a very handy command to be executed from Developer Command Prompt to identify if you have .NET Core or not.

Visual Studio Installer

In the installed items, there is an item listed at the very end “Visual Studio Installer” this is to Modify, Repair, Uninstall etc.

Let’s Fire-up Visual Studio 2017

Here comes the Most Awaited IDE

https://channel9.msdn.com/Blogs/NET-Core/What-is-NET-Core

Please Rate and comment the Video on Channel9

Capture

Introduction

.NET Core is new Microsoft Platform for cross platform development and many more other features and great offerings to developer community. Read more on .NET Core in my previous article on my Blog or on C# Corner .

“Today 06/27/2016 Microsoft has released .NET Core RTM, this is a great milestone for .NET Core team and entire .NET Community.”

https://github.com/dotnet/core/blob/master/roadmap.md#ship-dates

 

Let’s prepare to install .NET Core RTM

If you want to install .NET Core on Windows then follow the URL www.dot.net or https://www.microsoft.com/net/core#windows all the dependencies are mentioned on the download page but one extra thing which you need to have it Visual Studio 2015 Update 3. You download Update 3 from https://msdn.microsoft.com/vs-knownissues/vs2015-update3-rc

Launch the .NET Core RTM setup

Once you have installed Update 3 and downloaded the DotNetCore.1.0.0-VS2015Tools.Preview2.Exe then just launch it and you will see setup going through following steps.

Accept the License terms and conditions

Initializing

Installing .NET Core 1.0

Installing ASP .NET Core 1.0

Installing Nuget- Visual Studio 2015

Installing ASP .NET Web Tools

Preparing Visual Studio

Hurrah, Setup Completed

Let’s fire up Visual Studio 2015

When you will launch Visual Studio 2015 what you will be looking for is “.NET Core” templates as shown in the image below.

Also under Web you will notice .NET Core templates

Create a new .NET Core Application

When you select a new .NET Core template and proceed with it, you will see a new project artifacts which are specifically designed to keep .NET Core’s cross-platform vision in mind.

 

What is .NET Core

.NET Core is a new Microsoft platform. Which is modular, cross-platform, open source and have better support for cloud. .NET Core will continue to run on Windows devices, as well as on Linux and Mac OS X. In addition, unlike the .NET 4.6 which is installed machine wide as single large block, Windows-only runtime environment, .NET Core can be used to create modular libraries and applications that can target multiple platforms and deployed (per-application) along with the application itself.

Why .NET “Core”

Microsoft’s vision of .NET platform evolved over the past 15 years and many technology enthusiasts, leaders and influencers wanted .NET to be open-source, available to other platforms like Linux and Mac in addition to currently and widely supported Microsoft Windows.

To accomplish this broad and such a large goal and vision it was necessary to have a “fork in the road” and create a fresh and new version of “.NET” which is named as “.NET Core 1.0”.

Hence, Developing application using “.NET Core 1.0” will enable and empower the developers to write applications with one platform for instance Microsoft Windows and when all ready that can run on multiple platforms in this case Mac, Linux and Windows of-course.

Why Version “1.0”

Current and latest .NET Framework version is 4.6.x and so next major release version was supposed be “5” and initially it was called .NET Core 5. Similarly next version of ASP .NET 4.5 was named ASP .NET 5 and next version of Entity Framework 6.1.x was named Entity Framework 7, fair enough.

 

But this numbering order conveyed the message that these are just next version of the same framework and technology; whereas the reality is different. “.NET Core” concept is totally new, YES! Its brand new concept hence numbering has to be re-started and so…

  • .NET Framework 5.0 is now known as “.NET Core 1.0”
  • ASP .NET 5.0 is now knows as “ASP .NET Core 1.0”
  • MVC 6 is now known as “ASP .NET Core MVC”
  • Entity Framework 7 is now known as “Entity Framework Core 1.0”

.NET Ecosystem

With new launch of .NET “Core” wave of framework and technology, old version .NET 4.6 (which are mature and fully grown) will continue to co-exist. .NET Core can be installed on the same machine. However, .NET Core will have its very own personalized core libraries etc.

.NET Core Includes CoreCLR, a more lightweight runtime that provides basic services to your application including automatic memory management and garbage collection, along with a basic type library. Unlike .NET 4.6 which has such a large footprint for the same.

.NET Core also includes CoreFx, a set of modular assemblies that you can add to your project/application as per demand. Unlike the .NET Framework 4.x, which always had to make the entire .NET Framework Class Library aka BCL (base class library) available, with .NET Core you can select only the assemblies that you need. I.e. Windows doesn’t need Web and vice-versa.

.NET Core implementations

Following technologies are currently available in .NET Core wave.

  • ASP.NET Core. ASP.NET Core is a modular version of ASP.NET that combines ASP.NET MVC and the ASP.NET Web API. It runs on both the .NET Framework 4.6 and .NET Core 1.0. It is custom designed for building high-performance cloud applications. ASP .NET Core should not be considered and taken as a replacement to ASP.NET 4.6 in the .NET Framework 4.6.
  • .NET Native. .NET Native is a compilation and deployment technology for Universal Windows Platform (UWP) apps written in C# and Visual Basic .NET. “.NET Native” compiles apps to native code, and statically links into an application’s assemblies only those code elements from .NET Core libraries and other third-party libraries that are actually used.
  • Universal Windows Platform (UWP) apps. The Universal Windows Platform allows you to build a single app that can run on the Windows desktop, Windows tablet devices, and Windows Phone. These apps can also be placed in the Windows Store. UWP apps are compiled to native code for their target platforms by .NET Native

Supported Environments

.NET Core is supported by Microsoft on Windows, mac OS and Linux. On Linux, Microsoft primarily supports .NET Core running on Red Hat Enterprise Linux (RHEL) and Debian distribution families.

.NET Core currently supports X64 CPUs. On Windows, X86 is also supported. ARM64 and ARM32 are in progress.

A wide array of all the supported platforms is shown in the Table below.

OS Version Architectures Configurations
Windows Client 7 SP1 – 10 x64, x86
Windows Server 2008 R2 SP1 – 2016 x64, x86 Full, Server Core, Nano (2016 only)
Red Hat Enterprise Linux 7.2 x64
Fedora 23 x64
Debian 8.2 x64
Ubuntu 14.04 LTS, 16.04 LTS x64
Linux Mint 17 x64
openSUSE 13.2 x64
Centos 7.1 x64
Oracle Linux 7.1 x64
Mac OSX 10.11 (El Capitan) x64

 

Which one to choose .NET 4.6 or .NET Core

.NET Core is not yet mature, until it’s fully mature and time-tested; in my view it’s not advisable to start building Enterprise LOB (line of business) applications using .NET Core. Hence, .NET 4.6 and ASP .NET 4.6 are more mature and time-tested until .NET Core becomes mature.

The Future of .NET

“.NET Core” is certainly the future of .NET Platform. But we are not there yet, it will be a while until this is widely accepted and industry really start to mold and accept its advantages and become more open to build light-weight, cross-platform applications using .NET. However, Microsoft envisions to continue with ASP .NET 4.6 as well. Reminder, ASP .NET Core 1.0 is NOT AN END for .NET 4.6 /ASP .NET 4.6 instead it’s a NEW BEGINNING.