webentwicklung-frage-antwort-db.com.de

Fehler MT2001: Baugruppen konnten nicht verknüpft werden. Grund: Fehler beim Verarbeiten von Referenzen

Ich erhalte diesen Fehler beim Versuch, ein Xamarin.iOS-Projekt zu erstellen, das auf eine .NET Standard 2.0-Bibliothek verweist. 

Keiner der MT2001-Probleme im Internet scheint diesen spezifischen Grund für "Fehler beim Verarbeiten von Referenzen" zu haben. Ich habe so viel herumgepeitscht und herumgepeitscht, wie es einer Person möglich ist und gesund bleibt, aber ich bin wirklich im Dunkeln. 

Kann mir da draußen jemand eine Richtung zeigen? 

4

Durch Hinzufügen von -v -v -v -v zu "Zusätzliche mtouch-Argumente" in den Projekteinstellungen von iOS Build können Sie das Problem leichter diagnostizieren. Danach können Sie die Build-Ausgabe nach MT2001 durchsuchen und die inneren Ausnahmen anzeigen. Offensichtlich kann sich jedes Projekt dahingehend unterscheiden, welche Assembly dazu führt, dass der Linker ausfällt. Möglicherweise müssen Sie Ihre Referenzen basierend auf der Ausgabe hinzufügen, entfernen oder korrigieren.

Ich habe zum Beispiel versucht, SignalR von AspNetCore 2.1 zu verwenden, das in meinem Projekt eine Abhängigkeit von System.Threading.Tasks.Extensions 4.5.1 hat, was scheint, dass Mono noch nicht unterstützt. Mono bietet noch keine eigene Version der Assembly an. Wenn also mtouch die Assembly verbindet, ist dies nicht möglich und löst eine Ausnahme aus:

Mono.Cecil.AssemblyResolutionException: Failed to resolve Assembly: 'System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'

Wenn Sie alle Verweise auf diese Assembly entfernen (und daher in meinem Fall die gesamte Funktion), war der Build und die Verknüpfung erfolgreich.

4
Brandon Rader

Ich habe festgestellt, dass ich dies bekomme, wenn ich eine Xamarin-Bibliothek verwende, die von System.Reactive 4.1.0 abhängig ist. Es gibt einen Fehler, der mit System.Threading.Tasks.Extensions zusammenhängt. Da es sich um eine Bibliothek handelt, die ich gerade schreibe, musste ich auf System.Reactive 4.0.0 zurückgreifen.

1

Für mich lautet der Fehler wie folgt . Eines der Pakete wird in der package.config-Datei erwähnt, war jedoch nicht in Paketen verfügbar Also habe ich das fehlende Paket aus Nuget hinzugefügt und die App funktioniert gut

0
GvSharma