.net - world - what should i install with visual studio 2017




O.NET SDK atual não suporta o direcionamento do.NET Core 2.1. segmentar o.NET Core 2.0 ou inferior ou usar um vs do.NET SDK que suporte o NET Core 2.1 (8)

tentei atualizar para a versão profissional do visual studio 2017 v 15.6.0 (Preview 7.0)

e instalado aspnetcore-runtime-2.1.0-preview1-final-win-x64 e .net núcleo SDK 2.1.4.

Quando criei um novo aplicativo da web, recebi um erro dizendo

"O .NET SDK atual não oferece suporte à segmentação do .NET Core 2.1. Você pode optar pelo .NET Core 2.0 ou inferior ou usar uma versão do .NET SDK que suporte o .NET Core 2.1."

Quando tento criar um projeto existente, recebo um erro

"O .NET SDK atual não oferece suporte à segmentação do .NET Core 2.1. Você pode optar pelo .NET Core 2.0 ou inferior ou usar uma versão do .NET SDK que suporte o .NET Core 2.1."

Eu não vejo ".net core 2.1" no meu framework de destino

Eu não tenho arquivo global.json no meu computador

Quando eu tento dotnet - info, eu entendo isso

c: \ source \ dnacloud \ testapp> dotnet --info Ferramentas de linha de comando do .NET (2.1.100)

Product Information:
Version: 2.1.100
Commit SHA-1 hash: b9e74c6

Runtime Environment:
OS Name: Windows
OS Version: 10.0.16299
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk\2.1.100\

Microsoft .NET Core Shared Framework Host

Version : 2.0.5
Build : 17373eb129b3b05aa18ece963f8795d65ef8ea54

Comecei a receber esse erro depois de instalar o SDK 2.2.300. Depois de ler este post e alguns outros eu downgrade para o SDK 2.2.1xx e o erro foi embora. Nota: Eu tive que desinstalar o SDK 2.2.300 e reiniciar depois de instalar o SDK 2.2.1xx.


Eu estou usando o Rider, eu tive

O .NET SDK atual não suporta o direcionamento do .NET Core 2.2. Almeje o .NET Core 2.1 ou inferior ou use uma versão do .NET SDK que suporte o .NET Core 2.2

Eu tinha:

$ dotnet --list-sdks
2.1.2 [C:\Program Files\dotnet\sdk]
2.1.202 [C:\Program Files\dotnet\sdk]
2.1.505 [C:\Program Files\dotnet\sdk]
2.1.602 [C:\Program Files\dotnet\sdk]
2.2.202 [C:\Program Files\dotnet\sdk]

Eu tentei manter apenas o mais recente SDK e tinha:

Falha na carga do projeto 'WebApplication3': o SDK 'Microsoft.NET.Sdk.Web' especificado não pôde ser encontrado.

Então eu removi tudo e reinstalei o 2.1.602. Fez um novo projeto da Rider. E funcionou . Não posso dizer que entendi como resolvi isso ...

Os problemas para alguns povos parecem estar ligados ao global.json, veja:
- https://docs.microsoft.com/fr-fr/aspnet/core/migration/21-to-22?view=aspnetcore-2.2&tabs=visual-studio
- https://docs.microsoft.com/fr-fr/dotnet/core/tools/global-json
- https://andrewlock.net/the-sdk-microsoft-net-sdk-web-specified-could-not-be-found/

Outras coisas que fiz antes (que não pareciam resolver o problema, mas poderiam ter ajudado?):
- Atualizando Rider de 2018.3.2 a 2018.3.4 (mais recente). - Instalando Mono (estava usando o da Unity quando olhar para as configurações de compilação do Rider).
- Tentei usar MSBuild personalizado da Jetbrain (aquele usado para Linux) sem sucesso.
- Instalando tudo relacionado ao .NET Core do instalador do VS.
- Atualize a comunidade VS mais recente. - Reinicie.

Em Rider/Build, Execution, Deployement/Toolset and Build agora tenho:
Mono executável: C:\Program Files\Mono\bin\mono.exe
- executável NET Core CLI: C:\Program Files\dotnet\dotnet.exe
- Use a versão do MS Build (Auto detectado 16.0): C:\Program - Files\dotnet\sdk\2.1.602\MSBuild.dll


Eu tive o .Net Core SDK 2.1.4 instalado e segui as outras respostas neste post sem resolver meu problema. O que finalmente fez isso para mim foi instalar o .Net Core SDK versão 2.1.301 e desinstalar todas as outras versões. Parece que o SDK 2.1.4 não pode atingir o .Net Core 2.1, mas o SDK 2.1.301 faz o trabalho.


Instalar o .NET Core SDK 2.1.300-preview2 fez o truque para mim:

UPDATE: apenas no caso, há uma versão mais recente foi lançada recentemente. Você pode fazer o download do novo .NET Core SDK para a 2.2.0-preview1 (que inclui o ASP.NET 2.2.0-preview1) here .

Veja também esta answer quando você está recebendo um erro como este em geral:

O .NET SDK atual não suporta segmentação do .NET Core 2.X


O mesmo aconteceu comigo, mas depois para a versão 2.2 do .NET Core. Eu instalei a última versão do .NET Core 2.2 SDK, que era 2.2.202 na época. O Visual Studio me permitiu criar um novo projeto para o Core 2.2, mas estava mostrando o erro:

"O .NET SDK atual não suporta segmentação do .NET Core 2.2. Você pode optar pelo .NET Core 2.1 ou inferior, ou usar uma versão do .NET SDK que suporte o .NET Core 2.2."

A estrutura de destino do meu projeto estava vazia e a lista suspensa não mostrava 2.2.

Depois de instalar o .NET Core SDK 2.2.103, o erro desapareceu e o menu suspenso mostrou ".NET Core 2.2".


O problema aqui é que a Microsoft confundiu um monte de pessoas com a forma como eles numeraram seus .NET Core SDKs.

Na mensagem do pôster original, o caminho C: \ Arquivos de Programas \ dotnet \ sdk \ 2.1.100 \ NÃO parece representar o tempo de execução do .NET Core 2.1 (mas você acha que funciona).

Eu me deparei com este post. O .NET SDK atual não suporta a segmentação do .NET Core 2.1 em developercommunity.visualstudio.com, onde uma pessoa de suporte da Microsoft explica a confusão:

"Obrigado pelo seu feedback! Nós determinamos que esse problema não é um bug. O primeiro SDK com suporte ao .NET Core 2.1 é 2.1.300-preview1. Sabemos que o controle de versão é confuso, e é por isso que a partir do 2.1.300, o As versões major.minor do SDK agora também estarão alinhadas com as versões major.minor do runtime. "

Então ... para obter suporte ao .NET Core 2.1 para construção via SDK, você precisa instalar o SDK com a versão 2.1.300 pelo menos (já que 2.1.2 NÃO é .NET Core 2.1) ... sim, confuso. Obrigado Microsoft por algum tempo perdido sobre isso.


Parece que a Microsoft está incentivando uma prática de codificação melhor para aqueles que adotarem o software de desenvolvimento mais recente do Net Core 2.1, removendo a capacidade de usar softwares mais antigos nos quais prevalecem os maus hábitos. Net Core 2.0 e as versões mais antigas estão quase no fim da vida, então não devem ser usadas. ( https://blogs.msdn.microsoft.com/dotnet/2018/06/20/net-core-2-0-will-reach-end-of-life-on-september-1-2018/ )

1) A Microsoft removeu o ServiceLocator, já que amplamente considerado um anti-padrão, resultando em código de difícil compreensão.

2) Para melhorar os aplicativos MVC, o AccountController foi removido da Autenticação / Autorização para incentivar o uso de páginas Razor que implementam o Princípio de Responsabilidade Única.

Não seria considerado uma boa prática contornar essas mudanças para aumentar a perpetuação do software criado para reduzir os padrões de engenharia de software no passado.


Verifique se você não possui o arquivo global.json na pasta raiz do projeto que força o projeto a usar somente o .NET SDK 2.1.

Se você tiver esse arquivo global.json, exclua-o e reinicie o visual studio.

Por mais embaraçoso que possa parecer, passei quase uma hora mexendo e até baixei várias versões do SDK para forçá-lo a usar 2.2







.net-core