Laden...

.NET Standard Library in ASP.NET Core Web Api nutzen

Erstellt von bbb vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.346 Views
B
bbb Themenstarter:in
72 Beiträge seit 2009
vor 6 Jahren
.NET Standard Library in ASP.NET Core Web Api nutzen

Hallo zusammen,

ich stehe gerade vor dem Problem, dass ich gerne eine .NET Standard Library in meiner ASP.NET Core Web Api nutzen möchte.

Das Szenario sieht so aus:

  • Model-Klassen in der .NET Standard Library 2.0
  • ASP.NET Core Web Api bekommt eine Projekt Referenz auf die Standard Lib

Nun möchte ich die Model-Klassen in der Web Api nutzen und stelle fest, dass die Namespaces nicht aufgelöst werden können. Es verhält sich so, als wäre überhaupt keine Referenz auf die Standard Lib vorhanden (was sie aber eindeutig ist; auch ohne Fehlermeldungen).

Ich hab zum Test mal eine Core Lib erstellt. Diese verhält sich wie erwartet und man kann sie nach dem Referenzieren ohne Probleme verwenden.

Irgendwelche Ideen woher dieses Problem kommt?

16.807 Beiträge seit 2008
vor 6 Jahren

Irgendwelche Ideen woher dieses Problem kommt?

Vermutlich ein Anwenderfehler.

Wenn Du die .NET Implementierung beachtest bzgl. den Versionen, dann gibt es da auch kein Problem:
https://docs.microsoft.com/de-de/dotnet/standard/net-standard

Nebeneffekte:
Visual Studio hat ab und zu ein Problem mit dem Erkennen von Referenzen -> bin/obj löschen und VS neu starten.

Alternative:
Du hast irgendwelche Fehler - wie Zugriffsmodifizierer - die mit .NET Standard an für sich gar nichts zutun haben.

B
bbb Themenstarter:in
72 Beiträge seit 2009
vor 6 Jahren

Danke für die Tipps. Leider konnte ich es damit auch noch nicht lösen.

Ich hab das mal runtergebrochen auf ein ganz simples Beispiel:

  • Neues Projekt mit
  • ASP.NET Core 2.0 Web Api
  • Weiteres Projekt hinzugefügt: Class Library .NET Standard 2.0
  • Der WebApp die Library als Projekt Referenz hinzugefügt
  • Im Values Controller versucht die Klasse der Library zu nutzen

Ich nutze Visual Studio 2017 Version 15.6.4

Hab ich da jetzt doch irgendwo einen groben Schnitzer drin oder ist das tatsächlich ein Bug?

Test Projekt ist im Anhang.

16.807 Beiträge seit 2008
vor 6 Jahren

Dein Projekt funktioniert einwandfrei, sowohl mit der .NET Core CLI wie auch mit der aktuellen Visual Studio 2017 Stable und auch 2017 Preview.

C:\Users\Ben\Desktop\myCSharp\Test> dotnet build
Microsoft (R) Build Engine version 15.6.82.30579 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 17,86 ms for C:\Users\Ben\Desktop\myCSharp\Test\Test.Models\Test.Models.csproj.
  Restore completed in 62,07 ms for C:\Users\Ben\Desktop\myCSharp\Test\Test.WebApp\Test.WebApp.csproj.
  Restore completed in 45,37 ms for C:\Users\Ben\Desktop\myCSharp\Test\Test.WebApp\Test.WebApp.csproj.
  Test.Models -> C:\Users\Ben\Desktop\myCSharp\Test\Test.Models\bin\Debug\netstandard2.0\Test.Models.dll
  Test.WebApp -> C:\Users\Ben\Desktop\myCSharp\Test\Test.WebApp\bin\Debug\netcoreapp2.0\Test.WebApp.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:02.59
C:\Users\Ben\Desktop\myCSharp\Test>

Bestätigt meine Vermutung des Anwenderfehlers 😉

B
bbb Themenstarter:in
72 Beiträge seit 2009
vor 6 Jahren

Hmm, wenn es bei dir auf Anhieb läuft, dann wird tatsächlich auf meiner Maschine noch irgendetwas schief hängen. Danke für den Support soweit.