dotnet core 3.0 не может найти dotnetcore sdk при открытии решения в vs - PullRequest
0 голосов
/ 14 октября 2019

Я пытаюсь загрузить исходный код для ASP.NET Core MVC в https://github.com/aspnet/aspnetcore. Однако, когда я клонировал проект, извлек v3.0.0 и попытался открыть решение в Visual Studio 2019 (v16.3.4), я получил следующую ошибку для всех проектов

Невозможно найти .NET Core SDK. Убедитесь, что он установлен и что версия, указанная в global.json (если есть), соответствует установленной версии

. Я убедился, что .net core 3.0 sdk был загружен на мой компьютер и работает dotnet --info дает следующие данные:

Microsoft.NETCore.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

Глядя в файл .csproj, все они нацелены на

<TargetFramework>netcoreapp3.0</TargetFramework>

Кроме того, я гарантировал, что путь к SDK 'C: \ Program Files \ dotnet 'включен в мою переменную PATH. Я попытался добавить файл global.json с указанием sdk, но, похоже, это ничего не изменило.

Есть идеи, что может быть причиной этой проблемы?

Редактировать

Ниже приведен пример файла csproj

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <Description>ASP.NET Core metadata.</Description>
    <TargetFramework>netstandard2.0</TargetFramework>
    <IsAspNetCoreApp>true</IsAspNetCoreApp>
    <IsShippingPackage>true</IsShippingPackage>
    <NoWarn>$(NoWarn);CS1591</NoWarn>
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
    <PackageTags>aspnetcore</PackageTags>
  </PropertyGroup>

</Project>

и вот папка со всеми SDK на моей машине. enter image description here

Ответы [ 2 ]

0 голосов
/ 13 ноября 2019

У меня та же проблема, и я нашел решение;Я надеюсь, что у вас возникла та же проблема, что и у меня.

cmd -> input dotnet --info
скопируйте "Базовый путь" .Net Core
Просто добавьте его в переменную Path вашей системы.

Имя переменной MSBuildSdksPath

Более подробно, вы можете проверить это https://github.com/aspnet/Announcements/issues/231

0 голосов
/ 15 октября 2019

Некоторые возможные причины:

  • вам нужно перезагрузить компьютер, потому что переменные среды кэшируются
  • вам нужно перезапустить Visual Studio, потому что кеш Visual Studio тоже (закрытьвсе случаи)
  • вы установили 64-битную версию SDK, но вам нужен 32-битный SDK, или наоборот.
  • вы установили старый предварительный просмотр SDK, и вам нужно включить предварительный просмотр версий в настройках Visual Studio (или загрузить SDK без предварительного просмотра, так как это RTM)

Вы можете попробоватьодин трюк, который я узнал:Откройте командную строку и введите envполучить переменную окружения пути

В нем должно быть

C:\Program Files\dotnet\;
C:\Program Files (x86)\dotnet\;

.

Теперь замените C:\Program Files\dotnet\; на D:\Programs\LessPortableApps\dotnet\, где D:\Programs\LessPortableApps\dotnet\ - это папка, в которую вы помещаете ваши dotnet-sdks.

Затем установите переменную среды пути SET PATH="bla" нановый путь, с заменой папок dotnet.

А затем запустите Visual Studio из командной строки, например:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe

Таким образом, вы можете использовать .NET SDK, если у вас нет прав администратора для их установки.

Еще одна вещь: .NET Core 3.0 требует Visual Studio 2019, если у вас есть 2017, вы можете использовать его, только если у вас установлен msbuild (та же версия, что и у VS2019).

Чтобы установить новейшую (начиная с 2019 г.) автономную MSBuild, перейдите по адресу: https://www.visualstudio.com/downloads/ и прокрутите вниз до «Инструменты для Visual Studio 2017» и выберите «Инструменты сборки для Visual Studio 2019»(для пользователей, которым не нужна полная IDE)

Прямая ссылка

...