2017-09-13 14 views
0

Ich habe eine .NET Standard 2.0-Bibliothek erstellt und ich versuche, es in einem 4.6.2 Web-API-Projekt zu verwenden.System.Runtime 4.1.0.0 kann nicht mit .net Standard 2.0 Lib in .net 4.6.2

Wenn ich versuche, meinen Web-api zu laufen, erhalte ich:

Could not load file or assembly 'System.Runtime, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. 

In meinem Web-Config Ich habe die folgende Umleitung:

<dependentAssembly> 
    <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
    <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" /> 
</dependentAssembly> 

Ich habe .NET Standard 1.6 als nuget Paket in das Web-API-Projekt. Was mache ich falsch? (Ich verbesserte .NET stndard zu 2.0 im Web-API-Projekt, aber das machte keinen Unterschied)

Wenn ich den Behälterordner überprüfe, ist die System.runtime.dll Version 4.6.255. Warum ist die Version höher als das nugget-Paket, das hinzugefügt wurde?

Meine package.config Datei hat:

<package id="System.Runtime" version="4.1.0" targetFramework="net462" /> 
+0

Gibt es einen Grund, nicht die Version umleiten zu aktualisieren 4.6.255? –

+0

@KevinHirst Ich habe versucht, auf 4.6.255 umzuleiten, aber das hat auch nicht geholfen. Ich frage mich, ob es ein Problem mit der Verwendung von .net Standard-Lib in einem .net Framework 4.6.2 Projekt ist? – Kaladin

+0

@Win Ich sah diesen Thread, aber es hilft mir nicht. – Kaladin

Antwort

-1

diese Frage zu Ihrem Problem ähnlich scheint, werfen Sie einen Blick auf sie

Using .net standard 1.5 lib in .net 4.6.2 misses System.Runtime 4.1.0.0

+0

Idk, vielleicht jemand hasste, dass ich eine andere Frage referenzierte :) –

+1

Dies sollte ein Kommentar sein, ** keine Antwort **. Wenn die andere Frage diese Frage beantwortet, dann sollte dies vereitelt werden. Es ist auch eine * Link nur * Antwort, die auch ** keine Antwort ist ** – Rob

+0

Tut mir leid, dass ich es falsch gemacht habe, ich bin immer noch neu hier und ich werde es gleich beim nächsten Mal bekommen, danke für die Erklärung. –

Verwandte Themen