2017-12-07 14 views
0

Wir haben einen unserer Webprojekte zu ASP.NET Core 2.0, aktualisiert und sind jetzt Fehler in anderen Projekten wegen nicht übereinstimmen Assemblierung-Version zu bekommen. Ich versuche, alle in Konflikt stehenden Assemblies auf die höchste Version zu aktualisieren. Beispiel: Die vorherige Version von System.Collections.Immutable nugget-Paket war 1.3.1, aber das, auf das das ASP.NET Core 2-Projekt verweist, befindet sich in Version 1.4.0. Also versuche ich dies in den CSPROJ Dateien zu ändern, in dem System.Collections.Immutable verwiesen wird:Kann ich eine neuere System. * Assembly ohne .net-Standard verwenden?

<ItemGroup> 
    <PackageReference Include="System.Collections.Immutable" Version="1.4.0" /> 
</ItemGroup> 

Dies verursacht jedoch einen Kompilierungsfehler:

The version of Microsoft.NET.Sdk used by this project is insufficient to support references to libraries targeting .NET Standard 1.5 or higher. Please install version 2.0 or higher of the .NET Core SDK.

Zunächst einmal ich tun Haben .NET Core 2.0 SDK installiert. Googeln um gab es einige Vorschläge, die ich eine NETStandard.Library < DependsOnNETStandard> Eigenschaft auf die csproj Datei und Referenz hinzufügen. Dies kann ich jedoch nicht tun, da unser Code das .NET Framework voll ausnutzt, einschließlich Sachen, die nicht in netstandard sind.

Wie kann ich dies funktioniert?

FYI, sind wir auf Visual Studio 15.3.3 und .NET 4.6.2.

+0

Sie müssen 'netstandard2.0' in Ihrer gemeinsam genutzten Bibliothek zum Ziel, denke ich. Das ist immer noch verwirrend. –

+0

Ich verwende nur .NET Framework-Code in der Bibliothek. Ich habe versucht, es zur Arbeit zu bringen, aber ich konnte nicht. – afeygin

+2

Aluan, Visual Studio Version 15.3.3 ist Visual Studio 2017. Ich bin nicht targetting netcoreapp2.0; Ich ziele auf das .NET Framework 4.6.2 ab. Ich muss nur auf die DLLs meiner Anwendung in meinem ASP.NET Core 2.0-Projekt verweisen, und derzeit verweisen sie auf verschiedene Versionen von System.Collections.Immutable, System.Diagnostics.Diagnosticsource und System.Numerics.Vectors. – afeygin

Antwort

0

Hinzufügen DependsOnNETStandard zum csproj Datei und einem Verweis auf NETStandard.Library keine Kompatibilität mit vollem Rahmen brechen. Ich arbeite gerade an einem Projekt, das genau dies tut - ASP.NET Core 2.0-Webanwendung, die auf .NET Framework 4.6.1 abzielt und sowohl Klassenbibliotheken von .NET Standard und .NET Framework als auch Dutzende von OOB .NET Standard-Paketen referenziert.

Verwandte Themen