Эта версия Microsoft.AspNetCore.All совместима только с целевой платформой netcoreapp2.1. - PullRequest
0 голосов
/ 07 июня 2018

Когда я пытаюсь опубликовать свое приложение на веб-сервере после обновления до .NET Core 2.1 с 2.0, я получаю следующее сообщение: «Эта версия Microsoft.AspNetCore.All совместима только с целевой платформой netcoreapp2.1. Пожалуйста,Целевой netcoreapp2.1 или выберите версию Microsoft.AspNetCore.All совместим с netcoreapp2.0. "

Он отлично работает на моей машине разработки.

Вот мой файл проекта:

<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <RunPostBuildEvent>Always</RunPostBuildEvent>
</PropertyGroup>
<ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.1.0" />
    <PackageReference Include="Microsoft.AspNetCore.Cors" Version="2.1.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.0" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.0" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.4" />
</ItemGroup>
</Project>

Я видел это , но, похоже, это не проблема.Я также экспериментировал с предварительной версией 2.1 CodeGeneration.Tools, но не смог ее установить.

РЕДАКТИРОВАТЬ: я установил dotnet 2.1 на сервер.

Вот что я вижуна сервере:

D:\>dotnet --info
Host (useful for support):
  Version: 2.1.0
  Commit:  caa7b7e2ba

.NET Core SDKs installed:
  No SDKs were found.

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.0 [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.0 [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.0.5 [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.6 [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.0 [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]

Ответы [ 8 ]

0 голосов
/ 08 июля 2019

Я испробовал большинство предложений, которые смог найти, но решение этой проблемы закончилось удалением пакета Microsoft.AspNetCore.All отсюда:

% userprofile% .nuget \ packages \ microsoft.aspnetcore.all\ 2.1.5 \ build \ netcoreapp2.1 \

Следующая сборка восстановила правильную версию.

0 голосов
/ 23 ноября 2018

Я столкнулся с той же проблемой (ошибкой) при попытке развернуть мое обновленное решение на AWS Lambda с помощью:

dotnet lambda deploy-serverless

Оказалось,что я забыл обновить файл aws-lambda-tools-defaults.json .

"framework"     : "netcoreapp2.1",

Добавление для других в той же ситуации.

0 голосов
/ 23 апреля 2019

enter image description here Я застрял с этой проблемой около 3 часов.В конце концов, эта ошибка возникла, когда я добавил пакет Nuget Microsoft.VisualStudio.Web.CodeGeneration.Design.Вот что я сделал, чтобы решить эту проблему:

1) Удалена папка bin моего основного проекта .net

2) Явно добавлена ​​версия dotnet в TargetFramework и PackageReference до 2.1.0 .Вы можете попробовать добавить то, что лучше для вашего проекта и версии dotnet.

3) Я восстановил проект с помощью dotnet restore, а затем собрал с помощью dotnet build

4) В конце концов, мойпроблема была решена, и я больше не получаю эту ошибку.

0 голосов
/ 25 сентября 2018
  1. Возможно, вам сначала нужно выполнить очистку проекта.
  2. Щелкните правой кнопкой мыши файл проекта в Visual Studio.
  3. Нажмите свойства, выберите падение приложения -> Target Frameworkи выберите версию .Net Core Framework, которую вы хотите использовать.
  4. Перестройте свое решение.
0 голосов
/ 03 сентября 2018

Чтобы продолжить с поста joakimja, , вы также можете обновить файл .pubxml через IDE VS2017 .Щелкните правой кнопкой мыши по своему проекту и выберите «Опубликовать», а затем нажмите «Настроить» в строке «Информация об устранении неполадок», затем перейдите на вкладку «Настройки», здесь вы можете установить «Целевую платформу» - фактически это должно произойти автоматическиобновлен до "netcoreapp2.1", просто открыв диалоговое окно.Нажмите «Сохранить», и это обновит целевой фреймворк в файле pubxml.Затем попробуйте опубликовать снова.

0 голосов
/ 30 июля 2018

Что мне помогло, так это просто удаление файлов .pubxml в папке «Свойства»> «PublishProfiles», а затем повторное воссоздание профиля публикации.

0 голосов
/ 07 июня 2018

У меня была такая же проблема, но тогда я не обновил файл профиля публикации (.pubxml) для правильной целевой среды

< TargetFramework>netcoreapp2.1< /TargetFramework>

А что касается более раннего ответа, строка

< DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.1" />

Показать будут удалены в версии 2.1 из-за устаревших и включены в настоящее время

0 голосов
/ 07 июня 2018

Полагаю, вы сняли все обновления 2.1.x, но изначально запустили свой проект в 2.0.x.Я просто вручную отредактировал файл cspoj, опустив обратно вниз и добавив:

<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
    <TargetFramework>netcoreapp2</TargetFramework>

</PropertyGroup>


<ItemGroup>             
<PackageReference Include=
"Microsoft.AspNetCore.All" Version="2.0.3" />
<PackageReference Include=
"Microsoft.AspNetCore.Cors" Version="2.0.3" />                  
<PackageReference Include=
"Microsoft.EntityFrameworkCore.SqlServer" Version="2.0.3" />                            
<PackageReference Include=
"Microsoft.EntityFrameworkCore.Tools" Version="2.0.3" PrivateAssets="All" />       
<PackageReference Include=
"Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.4" PrivateAssets="All" />
</ItemGroup>  


<ItemGroup>                      
<DotNetCliToolReferenceInclude=
    "Microsoft.EntityFrameworkCore.Tools.DotNet"Version="2.0.3" />   
<DotNetCliToolReferenceInclude=
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.4" /> 
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.3" />       
</ItemGroup>

Так что я думаю, что вам не хватает группы элементов <DotNetCliToolReferenceInclude=>.

...