| 

.NET C# Java Javascript Exception

2
Hallo zusammen,

ich möchte eine Klassenbibliothek, die mit netcor2.0 kompiliert ist, unter .Net 4.6.1 verwenden. Visual Studio meldet mir dann aber nur "Für das Projekt "Contracts.csproj" ist die Zielversion netcoreapp2.0 festgelegt. Eine Referenzierung durch ein Projekt mit der Zielversion .NETFramework,Version=v4.6.1 ist nicht möglich."

Was mache ich falsch? Egal, ob ich das .Net 4.6.1-Projekt auf einen höheren oder niedrigeren .Net-Stand bringe oder das netcore-Projekt auf 1.0 oder 1.1 stelle - ich bekomme immer diese Meldung. Ich dachte, netcore2.0 und .Net4.6.1 sind technisch identisch?

Bin für jeden Hinweis dankbar!

Viele Grüße

TopperDEL
23.05.2018
TopperDEL 101 1 4
1 Antwort
2
.NET Core Bibliotheken können nicht in .NET-Framework Projekten verwendet werden. .NET Core wurde von Microsoft komplett neu unter dem Gesichtspunkt der Plattformunabhängigkeit entwickelt und ist nicht kompatibel mit dem Standard .NET Framework.

Microsoft hat das Problem aber erkannt und deshalb den .NET Standard aus der Taufe gehoben. Dieser definiert einen Satz an Standard-API's, die von allen .NET-Versionen unterstützt wird. Wenn du der Beschreibung im Link folgst, siehst du, dass du dem .NET Standard 2.0 folgen musst, wenn du .NET Core 2.0 mit .NET Framework 4.6.1 verheiraten willst.

Das folgende gilt für Visual Studio 2017. Wenn du die Klassenbibliothek selbst erstellt hast, kannst du den Projekt-Typ auf .NET Standard 2.0 umstellen. Dazu musst du die Projektdatei (.csproj) editieren und folgenden Eintrag ändern:

Alt

<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>


Neu

<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
24.05.2018
luedi 2,1k 1 9
Mein Held! Das war die Info, die mir gefehlt hatte. Danke, es hat damit funktioniert!
TopperDEL 24.05.2018

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH