2016-05-08 7 views
0

Im WinPhone Projekt einer VS 2015 v2 Cross-Plattform-Lösung mit Xamarin.Forms v2.2.0.13, zwei Versionen von ExceptionStringTable.resx im ‚System Xaml/en-US erzeugten ' und die ' WindowsBase/en-US ' Ordner mit unterschiedlichem Inhalt. Im Moment hat eine abhängige Assembly, XCRRequiresAttribNotFound, die in beiden Dateien gefunden wird, widersprüchliche Werte während des Builds, eine mit einem zusätzlichen 'a' in der Zeichenfolge. Da sie Build generiert werden, warum sind sie nicht der gleiche Wert?Warum sind die generierten XCRRequiresAttribNotFound-Werte nicht identisch?

Comparison of Values

Antwort

1

Es sieht aus wie Sie Plattform spezifische Baugruppen in Ihrem PCL verwiesen haben. In diesem Fall scheint es, dass Sie in Ihrer PCL einen Verweis auf WindowsBase.dll haben. (Dies könnte in etwas wie PresentationCore.dll oder ähnlich sein).

Ich würde empfehlen, dass Sie Folgendes tun:

  1. diese Vergleiche gegen eine File -> New Forms-Projekt (PCL) - Um zu sehen, welche Standardreferenzen innerhalb Forms standardmäßig im PCL ist.

  2. ersetzen alle alten Desktop/plattformspezifischen Code mit den Formen statt APIs - https://developer.xamarin.com/api/root/Xamarin.Forms/

  3. Profit!

Wenn Sie weitere Probleme haben, würde ich mit grep auf bestimmte Zeichenfolgen wie WindowsBase empfehlen, genau zu sehen, wo das herkommt. In diesem Fall ist es ein Verweis auf PresentationCore.dll

+0

Vielen Dank für Ihre Empfehlungen. Ich habe die Windows. *. DLL-Referenzen entfernt, aber das hat das Problem nicht gelöst. Beim Betrachten der detaillierten Build-Ausgabe bemerkte ich eine Beschwerde, dass WinPhone eine ToolsVersion 12 darin eingefügt hatte; es war selbst ToolsVersion 14. Das Problem war, dass die root (portable) und WinPhone-Projekte zwei verschiedene ToolsVersion referenzierten, respektive 12 und 14, und WinPhone referenzierte den Root. Ich änderte die Wurzel und die berichteten Probleme verschwanden. –

+0

In meinem Fall funktionierte das wie ein Zauber. Ich habe auf Windows und PresentationCore für die MessageBoxResult-Enumeration verwiesen. Ich entfernte diese Referenzen und refaktorierte ein wenig und BAM !!! Ich danke dir sehr! –

Verwandte Themen