2017-12-18 14 views
0

Ich habe ein netstandard2.0-Projekt, das ich verwende, um mit einem Web-Service eines Drittanbieters zu interagieren. Ich muss dieses Projekt von einem älteren .net 4.6.2-Projekt in derselben Lösung referenzieren, aber wenn ich es tue, bekomme ich eine Reihe von Fehlern bezüglich der Notwendigkeit von Verweisen auf Typen, die ich definiert habe.Wie referenzieren Sie ein Netstandard-Projekt von .net Projekt in VS2017?

Zum Beispiel werde ich eine Methode in der netstandard-Bibliothek aufrufen, die Task zurückgibt, aber ich bekomme eine Fehlermeldung, dass ich einen Verweis auf System.Threading.Tasks brauche, obwohl ich bereits einen habe.

Antwort

2

Ich glaube, es gibt zwei Probleme hier.

Nur bestimmte Version von .netstandard Arbeit mit bestimmten Versionen von .net 4.X.Y

dies beheben Sie die Version von einem oder beiden Projekten müssen sich ändern. Verwenden Sie die Tabelle, um herauszufinden, welche Versionen sind kompatibel zusammen: https://docs.microsoft.com/en-us/dotnet/standard/net-standard

  1. Wählen Sie ein Projekt
  2. Rechts klicken Objekte
  3. Auf der „Anwendung“ Registerkarte verwenden, um die „Target Framework“ im Dropdown-Rahmen zu ändern
  4. wie benötigt

.net 4.xy 4.0.0.0 verwendet die Systembibliotheken, während .netstandardX.Y 4.3.0.0

verwendet

Um dies zu beheben, müssen Sie das netstandard.library NuGet-Paket hinzufügen und darauf verweisen.

  1. Ihr Projekt auswählen
  2. Rechts klicken für „NuGet Pakete verwalten ...“
  3. auf der Registerkarte Suche „Durchsuchen“ für „netstandard.library“
  4. Wählen Sie die Version Sie brauchen, und es installieren (ich glaube, es basiert auf welche Version von .netstandard Sie am Ende mit)
  5. Navigieren Sie zu jedem Referenzfehler, klicken Sie rechts auf, und hinzufügen, was Bezug fehlt
Verwandte Themen