Переход с netcore 1.1 на netcore 2.2

У меня есть этот старый проект, который находится в netcore 1.1, и я пытаюсь запустить этот проект в своей новой среде разработки, в которой есть netcore выше 2.0. Как вы можете догадаться, когда я пытаюсь отладить этот старый проект, моя командная строка начинает светиться, как рождественская елка, со всеми известными ошибками, такими как

It was not possible to find any compatible framework version
    The specified framework 'Microsoft.NETCore.App', version '1.1.2' was not found.
      - Check application dependencies and target a framework version installed at:
      C:\Program Files\dotnet\

и

- The following versions are installed:
      2.1.6 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
      2.1.7 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
      2.2.0 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

Итак, мой вопрос: как я могу изменить настройки своего проекта, не устанавливая netcore 1.1?

Также стоит упомянуть, что я уже знаю, как решить эту проблему при работе в Visual Studio с решением проекта (просто изменение версии в свойствах проекта решит эту проблему), но этот проект находится в коде Visual Studio и не имеет файла решения внутри папки проекта. Я уже изменил некоторые настройки в .csproj, но безуспешно.

Это то, что я изменил в .csproj From:

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

  <PropertyGroup>
    <TargetFramework>netcoreapp1.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <Folder Include="wwwroot\" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" 
Version="1.1.1" />
  </ItemGroup>

</Project> 

to:

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

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <Folder Include="wwwroot\" />
  </ItemGroup>

</Project>

person H35am    schedule 10.01.2019    source источник


Ответы (1)


Удалите папки /bin и /obj и импортируйте Microsoft.AspNetCore.App в свой .csproj.

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

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <LangVersion>latest</LangVersion>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc.Api.Analyzers" Version="2.2.0" PrivateAssets="All" />
    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
  </ItemGroup>

  <ItemGroup>
    <Folder Include="wwwroot\" />
  </ItemGroup>

</Project>
person Pavel Levchuk    schedule 11.01.2019