IIS не использует правильную версию для .NET Core - как управлять? - PullRequest
0 голосов
/ 28 сентября 2018

Я пытаюсь запустить локально опубликованное приложение, которое сразу вызывает исключение:

Произошла ошибка при запуске приложения.

.NET Core 4.6.26725.06 X86 v4.0.0.0 |Microsoft.AspNetCore.Hosting версия 2.1.1-rtm-30846 |Microsoft Windows 10.0.16299 |Нужна помощь?

Этот заставляет меня поверить , что IIS использует версию 2.1.1-rtm-30846, хотя я только что скачал последнюю версию 2.1.4 с сайта.

Однако я могу получить информацию только о SDK, который используется dotnet, а не Runtime.

enter image description here

Я могу получить список SDK версий, которые установлены , но с использованием dotnet --info (вывод ниже).Но это также показывает только версию 2.1.4.

Как мне определить, какая версия IIS используется для .NET core время выполнения ?

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.0-preview1-final [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.0-rc1-final [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.0-preview1-final [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.0-rc1-final [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 1.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 1.0.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 1.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 1.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 1.1.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 1.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.0-preview1-26216-03 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.0-rc1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

1 Ответ

0 голосов
/ 28 сентября 2018

Это на самом деле не имеет ничего общего с IIS, поскольку IIS просто действует как обратный прокси-сервер.Проблема заключается в том, что при выборе версии среды выполнения по какой-то причине не удается использовать последнюю установленную версию среды выполнения .NET Core.Вы можете прочитать больше о том, как этот процесс работает здесь , но суммируя:

Используется последняя установленная версия патча, если только ...

  1. Если естьявляется файлом global.json, в котором указана конкретная версия
  2. Указанная целевая среда ограничивает основную версию.Например, если вы нацелены на netcoreapp2.0, будет использоваться последняя версия 2.0, даже если у вас установлено 2.1.
  3. Приложение было развернуто как автономное, и в этом случае оно будетвсегда используйте среду выполнения, с которой она была опубликована.

Во-первых, убедитесь, что у вас нет файла global.json, в котором указана версия среды выполнения.Этот файл может существовать в корне вашего проекта или в любой директории, содержащей его, и по-прежнему иметь эффект.Затем проверьте версию .NET Core, на которую нацелен ваш проект, и убедитесь, что она netcoreapp2.1, а не netcoreapp2.0.

...