ASP.NET Core 3: Wie verweise ich auf 3.0.0-Assemblys in benutzerdefinierten Bibliotheken?


8

Ich sehe, dass Anwendungen, die auf das Microsoft.AspNetCore.AppFramework verweisen (AKA ASP.NET Core 3.0), Typen aus der Assembly verwendenMicrosoft.AspNetCore.Mvc.Abstractions, Version=3.0.0.0,

Geben Sie hier die Bildbeschreibung ein

Ich kann jedoch kein NuGet-Paket mit derselben Version finden 3.0.0. Wie soll ich jetzt auf Pakete verweisen? Wenn ich beispielsweise überschreiben möchte ControlBase, wie soll ich auf die Microsoft.AspNetCore.Mvc.Core, Version=3.0.0.0Assembly verweisen, wenn es auf NuGet keine solchen Paketversionen gibt ?

Nach dem Hinzufügen der folgenden:

  <ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
  </ItemGroup>

Ich habe eine andere Art des Abnehmens:

Geben Sie hier die Bildbeschreibung ein

Welches gibt den Fehler:

NETSDK1073: Die FrameworkReference 'Microsoft.AspNetCore.App' wurde nicht erkannt

Das Entladen und Neuladen der Anwendung hilft nicht.

Das gleiche Problem tritt in einem leeren neuen Projekt auf:

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

  <PropertyGroup>
    <TargetFramework>netstandard2.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
  </ItemGroup>
</Project>

Zusammenstellung

1> ------ Neu erstellen Alle gestartet: Projekt: ClassLibrary1, Konfiguration: Beliebige CPU debuggen ------

1> C: \ Programme \ dotnet \ sdk \ 3.0.100 \ Sdks \ Microsoft.NET.Sdk \ Ziele \ Microsoft.NET.Sdk.FrameworkReferenceResolution.targets (263,5): Fehler NETSDK1073: Die FrameworkReference 'Microsoft.AspNetCore .App 'wurde nicht erkannt 1> Fertig Bauprojekt "ClassLibrary1.csproj" - FEHLGESCHLAGEN. ========== Alle neu erstellen: 0 erfolgreich, 1 fehlgeschlagen, 0 übersprungen ==========

Antworten:


6

Sie müssen FrameworkReferenceIhrem csproj ein hinzufügen

  <ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
  </ItemGroup>

Siehe Migrate von ASP.NET - Core 2,2 bis 3,0 , um weitere Informationen


1
Vielen Dank ... Warum kann ich nicht auf die einzige Baugruppe verweisen? Ich würde gerne die Motivation der Architekten verstehen ...
— Roman Pokrovskij

Und es funktioniert zumindest in meinem Fall nicht. TargetFramework>netstandard2.1</TargetFramework>überprüft, keine anderen Bibliotheken. Auch in neuer leerer C # -Bibliothek ( netstandard2.1natürlich).
— Roman Pokrovskij

1
Dies kann daran liegen, dass asp.net Core 3 .net Core 3 benötigt und nicht netstandard. Wenn ich mein Ziel-Framework auf ändere netcoreapp3.0und das hinzufüge FrameworkReference, funktioniert alles.
— ESG

Sie haben in netstadard2.1Teilmengen geschrieben (in was kann plattformabhängig sein Microsoft.AspNetCore.Mvc.Abstractions?) und diese dann exklusiv veröffentlicht netcoreapp3.0. Der Willenskraft von MS-Architekten sind keine Grenzen gesetzt.
— Roman Pokrovskij
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.