myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
   » Plugin für Firefox
   » Plugin für IE
   » Gadget für Windows
» Regeln
» Wie poste ich richtig?
» Datenschutzerklärung
» wbb-FAQ

Mitglieder
» Liste / Suche
» Stadt / Anleitung dazu
» Wer ist wo online?

Angebote
» ASP.NET Webspace
» Bücher
» Zeitschriften
   » dot.net magazin

Ressourcen
» guide to C#
» openbook: Visual C#
» openbook: OO
» MSDN Webcasts
» Search.Net

Team
» Kontakt
» Übersicht
» Wir über uns
» Impressum

» Unsere MiniCity
MiniCity
» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Cross Platform Entwicklung - Mobile und IoT » Xamarin.Forms: Versionskonflikt mit mscorlib (2.0.5.0 vs. 4.0.0.0)
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Xamarin.Forms: Versionskonflikt mit mscorlib (2.0.5.0 vs. 4.0.0.0)

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
pinki
myCSharp.de-Mitglied

images/avatars/avatar-4072.jpg


Dabei seit: 24.08.2008
Beiträge: 434
Herkunft: Minden


pinki ist offline

Xamarin.Forms: Versionskonflikt mit mscorlib (2.0.5.0 vs. 4.0.0.0)

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo zusammen,

ich erstelle gerade eine App mit Xamarin.Forms für Android und UWP.
Mir geht es hier aktuell um den Android-Teil.

Ein der App ähnliches Programm mit erweitertem Funktionsumfang ist auch noch in WPF umgesetzt.

Große Teile von Logik und Modell teilen sich die WPF- und die Xamarin-Forms-Anwendung.

Nachdem ich meine Zeit der WPF-Anwendung gewidmet habe, habe ich mich mal wieder an die App gesetzt. Leider erhalte ich nun beim Build folgende Fehlermeldung:

Fehlermeldung:
No way to resolve conflict between "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" and "mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e". Choosing "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" arbitrarily.

Die Folge daraus ist eine sofort abstürzende App.

Um herauszufinden, was diesen Konflikt verursacht, habe ich ein neues Xamarin.Forms-Projekt erstellt und der Reihe nach alle NuGet-Pakete sowie die von mir erstellten Bibliotheken hinzugefügt und nach jedem Hinzufügen die App gebaut und ausgeführt. Jedes Mal hat die App funktioniert und der Konflikt trat nicht auf.

Erst als ich das Shared Project, mit dem App-Code hinzugefügt habe, erhielt ich erneut den Fehler.

Wie kann ich am effektivsten herausfinden, was der Grund für den Konflikt ist?


Meine Projektstruktur ist, falls das hilft, wie folgt:
  • Applications
  • - AppName.Android (referenziert Behaviors.Xamarin.Forms, Utilities.Core, Utilities.Xamarin.Forms, Services, AppName, AppName.Core)
  • - AppName.UWP (noch nackt)
  • - AppName.WPF (referenziert Behaviors.WPF, Controls.WPF, Converters.WPF, Utilities.Core, Utilities.WPF und AppName.Core)

  • Shared
  • - Utilities
  • - - Utilities.Core (Portable)
  • - - Utilities.WPF (referenziert Utilities.Core und Utilities.Shared)
  • - - Utilities.Xamarin.Forms (Portable, referenziert Utilities.Core und Utilities.Shared)
  • - - Utilities.Shared (Shared Project)
  • - Behaviors
  • - - Behaviors.WPF (referenziert Utilities.Core und Utilities.WPF)
  • - - Behaviors.Xamarin.Forms (referenziert Utilities.Core und Utilities.Xamarin.Forms)
  • - Controls.WPF (referenziert Utilities.Core, Utilities.WPF und Converters.WPF)
  • - Converters.WPF (referenziert Utilities.Core und Utilities.WPF)
  • - AppName.Core (Portable, referenziert Utilities.Core)
  • - Services (Shared Project)
  • - AppName (Shared Project)
Ich verwende Xamarin.Forms in Version 2.3.4.247.
Die dazugehörigen Android-Pakete haben Version 25.4.0.1.
Xamarin.Build.Download liegt in Version 0.4.6 vor.


Ich bin für jeden Hinweis dankbar.


Viele Grüße

Micha
11.08.2017 10:54 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
pinki
myCSharp.de-Mitglied

images/avatars/avatar-4072.jpg


Dabei seit: 24.08.2008
Beiträge: 434
Herkunft: Minden

Themenstarter Thema begonnen von pinki

pinki ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Okay... Ich bin nun schon mal ein Stückchen weiter.
Ich habe mit DependencyWalker.NET mal die DLLs des Projekts unter die Lupe genommen.

Dieser sagt mir, dass ich in der Utilities.Xamarin.Forms.dll mscorlib in Version 4.0.0.0 nutze.
Diese wird durch System.Runtime.InteropServices mit eingebunden.

Jetzt muss ich mal gucken, wie ich davon wieder die richtige Version eingebunden bekomme...
11.08.2017 12:25 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
pinki
myCSharp.de-Mitglied

images/avatars/avatar-4072.jpg


Dabei seit: 24.08.2008
Beiträge: 434
Herkunft: Minden

Themenstarter Thema begonnen von pinki

pinki ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

So sieht bei mir die Targets-Ansicht der Portable Libraries aus.
Ich nutze Visual Studio 2017 Professional. Eigentlich sollten da doch genug Targets dabei sein, oder täusche ich mich?
Wenn ich eine Portable Library in 'nem anderen Projekt anlege, dann sehe ich die Targets.
Mal sehen, wo da wieder das Problem ist...

pinki hat dieses Bild angehängt:

Targets.png

11.08.2017 12:41 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
unconnected unconnected ist männlich
myCSharp.de-Mitglied

images/avatars/avatar-3200.jpg


Dabei seit: 13.08.2006
Beiträge: 810
Entwicklungsumgebung: VS2015 Enterprise
Herkunft: Oerlinghausen/NRW


unconnected ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo Pinki,

das muss nicht der wirkliche Grund für deine Abstürze sein.
Ich habe ein Project das ca.10 dieser Meldungen raushaut, und trotzdem einwandfrei läuft.

Ich habe allerdings auch nie herausgefunden woran das genau lag, habs dann irgendwann aufgegeben.

Du solltest vielleicht mal versuchen, dich an das AppDomain UnhandledException Event dranzuhängen und/oder mit dem fuslogvw schauen was das Assembly Binding so treibt.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von unconnected am 15.08.2017 12:42.

15.08.2017 12:42 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
pinki
myCSharp.de-Mitglied

images/avatars/avatar-4072.jpg


Dabei seit: 24.08.2008
Beiträge: 434
Herkunft: Minden

Themenstarter Thema begonnen von pinki

pinki ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo unconnected,
vielen Dank für die Tipps. Das werde ich mal versuchen.
Würde die App laufen, wäre mir das wahrscheinlich nicht mal aufgefallen.
Leider stürzt sie direkt nach dem Start ab.
15.08.2017 13:16 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
pinki
myCSharp.de-Mitglied

images/avatars/avatar-4072.jpg


Dabei seit: 24.08.2008
Beiträge: 434
Herkunft: Minden

Themenstarter Thema begonnen von pinki

pinki ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Guten Morgen,
die App läuft nun wieder. smile

Der DependencyWalker.NET zeigt zwar immer noch an, dass die mscorlib.dll in Version 4.0.0.0 referenziert wird, die App stürzt aber nicht mehr ab.

Was wurde verändert?
Als ich mit der WPF-Anwendung beschäftigt war, kam irgendwann die Warnung, dass ich obsolete Methoden nutze. Diese sind  Marshal.SizeOf(Type) und  Marshal.PtrToStructure(IntPtr, Type). Mir wurde geraten die generische Variante zu nutzen, was ich dann auch tat.
Die Nutzung der generischen Variante brachte dann die Xamarin.Forms-App zum Absturz.

Nun habe ich die Methode, die die Marshal-Funktionalitäten nutzt, von dem Utilities.Core- ins Utilities.Shared-Projekt verschoben und mit #if WPF einen entsprechenden "Schalter" eingebaut, sodass die generischen Methoden nur noch in Utilities.WPF genutzt werden.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von pinki am 17.08.2017 10:49.

17.08.2017 10:49 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum
Antwort erstellen


© Copyright 2003-2017 myCSharp.de-Team. Alle Rechte vorbehalten. 23.08.2017 02:25