Sdk: Error NETSDK1073: The FrameworkReference 'Microsoft.AspNetCore.App' was not recognized

Created on 24 Sep 2019  路  10Comments  路  Source: dotnet/sdk

I'm trying to upgrade my library project from .net core 2.2 to .net core 3.0 using below setup for the .csproj

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

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <LangVersion>latest</LangVersion>
  </PropertyGroup>

  <ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="LibLog" Version="5.0.6">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.2.6" />
    <PackageReference Include="Newtonsoft.Json" Version="12.0.2" />
    <PackageReference Include="System.Runtime.Loader" Version="4.3.0" />
  </ItemGroup>
</Project>

I have this dotnet sdk versions installed

.NET Core SDK (reflecting any global.json):                                                                                                                                                    Version:   3.0.100                                                                                                                                                                            Commit:    04339c3a26                                                                                                                                                                                                                                                                                                                                                                      Runtime Environment:                                                                                                                                                                           OS Name:     Windows                                                                                                                                                                          OS Version:  10.0.18362                                                                                                                                                                       OS Platform: Windows                                                                                                                                                                          RID:         win10-x64                                                                                                                                                                        Base Path:   C:\Program Files\dotnet\sdk\3.0.100\                                                                                                                                                                                                                                                                                                                                          Host (useful for support):                                                                                                                                                                      Version: 3.0.0                                                                                                                                                                                Commit:  7d57652f33                                                                                                                                                                                                                                                                                                                                                                       .NET Core SDKs installed:                                                                                                                                                                       2.1.200 [C:\Program Files\dotnet\sdk]                                                                                                                                                         2.1.302 [C:\Program Files\dotnet\sdk]                                                                                                                                                         2.1.503 [C:\Program Files\dotnet\sdk]                                                                                                                                                         2.1.504 [C:\Program Files\dotnet\sdk]                                                                                                                                                         2.1.505 [C:\Program Files\dotnet\sdk]                                                                                                                                                         2.1.507 [C:\Program Files\dotnet\sdk]                                                                                                                                                         2.1.602 [C:\Program Files\dotnet\sdk]                                                                                                                                                         2.1.700 [C:\Program Files\dotnet\sdk]
  2.1.701 [C:\Program Files\dotnet\sdk]Modules\CustomsInventory.Modules>
  2.1.801 [C:\Program Files\dotnet\sdk]
  2.1.802 [C:\Program Files\dotnet\sdk]
  2.2.100 [C:\Program Files\dotnet\sdk]
  2.2.102 [C:\Program Files\dotnet\sdk]
  2.2.103 [C:\Program Files\dotnet\sdk]
  2.2.104 [C:\Program Files\dotnet\sdk]
  2.2.202 [C:\Program Files\dotnet\sdk]
  2.2.300 [C:\Program Files\dotnet\sdk]
  2.2.301 [C:\Program Files\dotnet\sdk]
  2.2.401 [C:\Program Files\dotnet\sdk]
  2.2.402 [C:\Program Files\dotnet\sdk]
  3.0.100 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.0.7 [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.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Building the project gives me the error

C:\Program Files\dotnet\sdk\3.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(263,5): error NETSDK1073: The FrameworkReference 'Microsoft.AspNetCore.App' was not recognized

Is there any documentation regarding referencing Microsoft.AspNetCore.* libraries from a netstandard projects ?

Most helpful comment

I think you need to mention this somewhere in the documentation that people need to change from using <TargetFramework>netstandard2.0</TargetFramework> to <TargetFramework>netcoreapp3.0</TargetFramework> if they are referencing the Microsoft.AspNetCore.Mvc.*

All 10 comments

@dsplaisted can you provide guidance on the best way to do this?

As ASP.NET Core 3.0 only targets .NET Core, some of the APIs are no longer available for .NET Standard. Some of them continue to be available via NuGet packages. @DamianEdwards may be able to help clarify what is available. This page may also offer some help: https://docs.microsoft.com/en-us/aspnet/core/migration/22-to-30?view=aspnetcore-3.0&tabs=visual-studio

In any case, you should remove the FrameworkReference for Microsoft.AspNetCore.App from your .NET Standard project. Then if you get compilation errors, you can try to find NuGet packages to reference with those APIs. Alternatively, you may be able to just target .NET Core 3.0 instead of .NET Standard with your library.

Some of them continue to be available via NuGet packages.

I'm using dependencies from the shared framework (Microsoft.AspNetCore.Mvc.*)
Based on the link you gave me, those shared framework are no longer distributed through NuGet packages anymore.

So it seems my only option is to target .NET Core 3.0 in my library instead ?

There are some types in the shared framework that are also available via NuGet packages (stuff like Microsoft.Extensions.Logging and DependencyInjection for example). So it depends on which types you're using.

As mentioned, I'm using the library in Microsoft.AspNetCore.Mvc.*

In that case, yes, you'd need to target .NET Core 3.0.

(Sorry, I originally misread what you had written as Microsoft.AspNetCore.App instead of .Mvc.)

I think you need to mention this somewhere in the documentation that people need to change from using <TargetFramework>netstandard2.0</TargetFramework> to <TargetFramework>netcoreapp3.0</TargetFramework> if they are referencing the Microsoft.AspNetCore.Mvc.*

@DamianEdwards @richlander, do we have documentation on the fact that ASP.NET Core (MVC) is no longer supported for .NET Standard or .NET Framework?

@dsplaisted Thanks for the help

Docs for this are being tracked at aspnet/AspNetCore.Docs#14309

Was this page helpful?
0 / 5 - 0 ratings