Ответ 1
Используйте эту ссылку для установки версии 2.1.1 core sdk:
Я пытаюсь запустить приложение.NET Core на моем экземпляре Windows Server 2016. Он отлично работает/работает на моей машине с Windows 10.
Сначала я делаю dotnet publish
и dotnet publish
опубликованный сайт в экземпляр Windows Server. Я последовал этому руководству и установил как пакет хостинга, так и новейший SDK (2.1.3
).
Однако, когда я пытаюсь установить dotnet myapp.dll
я получаю следующее сообщение об ошибке:
It was not possible to find any compatible framework version
The specified framework 'Microsoft.AspNetCore.All', version '2.1.1' was not found.
- Check application dependencies and target a framework version installed at:
C:\Program Files\dotnet\
- Installing .NET Core prerequisites might help resolve this problem:
http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
- The .NET Core framework and SDK can be installed from:
https://aka.ms/dotnet-download
- The following versions are installed:
2.1.0 at [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Я ясно вижу, что действительно Microsoft.AspNetCore.All
имеет только версию 2.1.0
расположенную в Program Files\dotnet\shared
. Как получить правильную версию 2.1.1
?
Любое руководство высоко ценится.
Используйте эту ссылку для установки версии 2.1.1 core sdk:
Похоже, что возникла некоторая проблема с публикацией пакета Microsoft.AspNetCore.All, и он не настроен на автоматическую установку с установкой VS update/Core SDK. По крайней мере не для меня. Пакет nuget также был добавлен всего 10 часов назад с 0 загрузками. Поэтому по умолчанию мы все еще придерживаемся 2.1.0. Чтобы исправить это, первое, что я сделал, это проверить, что используют шаблоны веб-приложений ASP.NET (они продолжают изменять значения по умолчанию, поэтому, если у вас старый проект, который вы обновляете, всегда полезно проверять изменения в шаблонах по умолчанию).
Исправление для меня - это удаление параметра Version из тега в файле.csproj, как это сделано в шаблоне по умолчанию. Оригинал:
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.1.1" />
</ItemGroup>
После модификации:
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.All" />
</ItemGroup>
Это по существу решит последнюю установленную версию, то есть 2.1.0. Скорее всего, 2.1.1 будет установлен в последующих обновлениях. Вы также можете попробовать установить последний пакет вручную, но я рекомендую прибегать к умолчанию, когда это возможно. Таким образом, менее вероятно, что будущие обновления нарушат мою систему.
У вас есть два варианта:
Установите инфраструктуру 2.1.1 на сервере (как указано в другом ответе)
Публикуйте свое приложение со всеми необходимыми активами. Вы можете сделать это с помощью следующей команды:
dotnet publish --self-contained