29
votes

I have already installed VS2017 Enterprise 15.6.4. Recently installed .NET Core 2.1.101 SDK from official site

I was expecting .NET Core 2.1 as one of the target framework available if I create console or asp.net core application. Can someone help me understanding what I am missing here.

As suggested in comments, I installed 15.7 preview 2. Still no luck and same issue.

enter image description here

9
.NET Core 2.1 came out after 15.6.1. It's only available in the 15.7 previews. The SDK you downloaded is about 2.0 too. The SDK that targets Core 2.1 is 2.1.300-preview1 - Panagiotis Kanavos
@PanagiotisKanavos : you mean vs2017 15.7 preview version ? - rahulaga_dev
Versions. It's at 15.7 Preview 2 now - Panagiotis Kanavos
@PanagiotisKanavos : ohk. I can try downloading from visualstudio.com/vs/preview. However, this available update never showed up any notification to update. - rahulaga_dev
Previews don't show up as updates. They have to be manually installed, and they run along-side any existing VS installations. In order to use 2.1, currently, you have to run the VS 2017 preview, both to create the project and work on it. - Chris Pratt

9 Answers

19
votes

I have faced the same problem. I solved this by installing the right SDKs with Runtime for .NET Core 2.1.

Basically to run/create 2.1 projects from VS Preview, you need to install the "2.1.300" (not 2.1.4) .NET Core SDKs and Runtime. https://www.microsoft.com/net/download/dotnet-core/sdk-2.1.300-preview1 (this includes required Runtime already)

The good explanation of this misleading with versions i found here https://github.com/dotnet/cli/issues/8309 (dasMulli commented on Feb 24).

10
votes

In case this helps someone else... After installing VS 15.9.2 my project that was working fine with 2.2 preview-3 stopped working. VS could not see the preview SDK. I could build the solution using dotnet.exe but not VS.

To solve this I created a global.json at the root folder of this solution pointing to the preview sdk. That allowed VS to see the preview version.

This is a change of behavior in VS between 15.8.x and 15.9.x.

To create the global.json you can navigate to the desired folder and type this:

dotnet new globaljson

8
votes

Make sure dotnet PATH variables are in correct order

If you have installed an SDK for a different system architecture (e.g., if you installed 32-bit/x86 SDK on a 64-bit computer), then a new entry in the PATH variable would have been created for that specific location (e.g., C:\Program Files\dotnet or C:\Program Files (x86)\dotnet).

The problem is that Visual Studio, when searching for installed frameworks, will stop at the first PATH variable entry it finds that contains an SDK. So, if the first version you installed used an incorrect architecture, then you'll have to adjust the position of those entries before any of the correct SDKs will appear in the Target Framework drop down.

Source: this absurdly-hard-to-find comment within issue #8309.


TL;DR: Make sure the first "C:\Program Files\dotnet\" entry in your path variable you see in the list matches your system architecture:

  • 64-bit = C:\Program Files\dotnet\
  • 32-bit = C:\Program Files (x86)\dotnet\
3
votes

Make sure that Visual Studio 2017 is up to date. Go to "Tools" -> "Extensions and Updates" to install visual studio updates. This resolved the issue for me.

1
votes

I have faced the similar situation I tried to install the preview version of the dot net but it did not help. However after I updated visual studio (from 15.8 to 15.9.6 ). I Could see dot net core 2.1 in the target framework.

1
votes

Updated to Latest VS 2017 and installed latest .Net Core SDK. Changed global.json to point to latest version installed. This resolved for me.

0
votes

I had faced the similar issue. I then just updated my Visual Studio 2017 to 15.9.16 version and restarted the system. The problem got resolved.

0
votes

I was facing the similar issue, I uninstalled the .Net Core 2.2 runtime and then from the below link:

https://dotnet.microsoft.com/download/visual-studio-sdks?utm_source=getdotnetsdk&utm_medium=referral

Install the .Net Core 2.2 Visual Studio SDK, Restarted the Visual Studio and my issue got resolved, .Net Core 2.2 is now getting listed in Target Framework list in the project properties in Visual Studio 2017 Version 15.9.16

0
votes

I created a new project under .net core 2.1 and it was ok but in my old project have not appeared. So I opened both ".cproject" files and compared them together and found the problem.
Open your project's ".cproject" file in a text editor then replace below line

<TargetFramework>netstandard2.1</TargetFramework>

with this one:

<TargetFramework>netcoreapp2.1</TargetFramework>