Настройте .NET Core для использования x86 SDK

Я пытаюсь изменить свое веб-приложение .NET Core на использование x86-версии пакета SDK .NET Core.

Я установил версию x86 с здесь. Я вижу это в C: \ Program Files (x86) \ dotnet \ sdk \ 1.0.0-preview2-003131

Я обновил свой global.json следующим образом:

{
    "projects": [ "src" ],
    "sdk": {
        "version": "1.0.0-preview2-003131",
        "architecture": "x86"
    }
}

Но получаю ошибку:

Проект настроен на использование пакета SDK .NET Core версии 1.0.0-preview2-003131, который не установлен или не может быть найден по пути C: \ Program Files \ dotnet. Эти компоненты необходимы для сборки и запуска этого проекта. Загрузите версию SDK .NET Core, указанную в global.json, или обновите версию SDK в global.json до установленной версии.

Думаю, мне нужно указать моему приложению искать в C: \ Program Files (x86) \ dotnet

Как мне это сделать?

Спасибо за любую помощь!


person John-Luke Laue    schedule 14.09.2016    source источник
comment
Может у вас еще на пути x64?   -  person Pawel    schedule 14.09.2016


Ответы (5)


Нашел решение.

Когда я установил версию x64, в моей переменной среды PATH была создана запись с именем C: \ Program Files \ dotnet. Я удалил версию x64 и установил версию x86. Однако удаление версии x64 не привело к удалению C: \ Program Files \ dotnet из моего пути. Итак, я удалил его вручную и убедился, что запись, добавленная версией x86, C: \ Program Files (x86) \ dotnet, существует.

person John-Luke Laue    schedule 14.09.2016
comment
Я столкнулся с той же проблемой, не могли бы вы подробнее рассказать об этом? - person JReam; 27.09.2016
comment
Я столкнулся с противоположной проблемой, когда я хотел 64-разрядную версию, но имел запись в PATH для c: \ ProgramFiles (x86) \ dotnet, я исправил запись в c: \ ProgramFiles \ dotnet, где установлены 64-разрядные SDK. - person Roman Dvoskin; 27.01.2017

Вы можете решить эту проблему, создав Directory.Build.targets файл в корне вашего проекта.

<Project>
  <PropertyGroup 
      Condition="'$(OS)' == 'Windows_NT' and
                 '$(TargetFrameworkIdentifier)' == '.NETCoreApp' and
                 '$(SelfContained)' != 'true'"
                  >
    <RunCommand Condition="'$(PlatformTarget)' == 'x86'">$(MSBuildProgramFiles32)\dotnet\dotnet</RunCommand>
    <RunCommand Condition="'$(PlatformTarget)' == 'x64'">$(ProgramW6432)\dotnet\dotnet</RunCommand>
  </PropertyGroup>
</Project>

Теперь, когда установлены оба SDK (x64, x86), компилятор найдет правильную платформу, как указано в настройках сборки вашего проекта.

person asdf    schedule 28.03.2019
comment
Спасибо тебе за это! Я уже больше дня искал что-то подобное ... - person daniel.caspers; 04.04.2019

По какой-то причине моя установка даже не добавляла переменную PATH. Для меня сработало добавление 64-битной переменной пути и перезапуск Visual Studio.

person Community    schedule 20.09.2016

Проблема известна после удаления предыдущих версий.

Установите это на основе правильного версия выпуска и целевая платформа

person Transformer    schedule 23.11.2016

Если это кому-то поможет, я объясню решение. Перейдите в панель управления - ›напишите в поисковые переменные среды -› отредактируйте системные переменные среды - ›переменные среды -› системные переменные - ›Путь и нажмите« Изменить ».

Оказавшись там, переместите C: \ Program Files \ dotnet ниже C: \ Program Files (x86) \ dotnet.

перезапустите свой терминал, и он должен работать

person TheDuh    schedule 18.02.2021