Grundlegende Frage/Zusammenfassung: Ich muss auf eine Binärdatei (DLL) verweisen, die von jemand anderem in C aus einem universellen Win 10-Projekt erstellt wurde. Allerdings gibt es eine separate DLL für x86 und Arm. Ich glaube, ich muss auf die DLL (oder zumindest Winmd-Datei) aus dem Projekt verweisen, um es zu implementieren, aber ich kann nur eine Datei nicht beide verweisen. Das bedeutet, dass die App auf der einen oder anderen Plattform (Desktop oder Telefon) fehlschlägt, da die falsche Binärdatei enthalten ist. Auf der Suche nach einer Lösung.Verweise auf C Dlls von Windows 10 Universal App über CPU-Architekturen
Ausführlichere Erklärung;
Ich versuche, eine universelle Windows-Anwendung (neue Windows 10-Stil) zu schreiben. Das bedeutet, dass ich ein einzelnes Projekt habe, um Referenzen auf externe Komponenten hinzuzufügen.
Ich habe die Notwendigkeit für einige Bildverarbeitung Sachen, die am besten als 3rd-Party-Komponente gekauft wird, anstatt im Haus entwickelt. Es gibt mehrere SDKs von Drittanbietern, die WinRT unterstützen, aber keine, die speziell UWA unterstützen. Die WinRT SDKs haben jedoch alle unterschiedliche Binärdateien für Windows Phone und Windows Desktop Apps. und die Binärdateien werden alle aus C/C++ - Quellen erstellt. Dies war in Ordnung mit den älteren "universellen" Apps, da es ein separates Projekt für Telefon und Desktop gab, so dass Sie einfach auf verschiedene Komponenten in jedem Projekt verweisen konnten, aber jetzt gibt es nur ein Projekt, um Referenzen hinzuzufügen.
Ich fragte einen Anbieter nach UWA-Unterstützung und sie behaupteten, es sei unmöglich, sie könnten keine einzige Binärdatei erstellen, um beide Plattformen (Arm vs. x86) zu tarnen, und sie wussten nicht, wie meine UWA die Rechte referenzieren könnte Datei, wenn die App für die entsprechende Architektur gebaut wird (was ich vermute, sollte passieren).
I annehmen, dass es irgendwie (vielleicht in einer winmd-Datei?) Zu sagen: ‚Hey, hier ist zwei Kopien derselben DLL für verschiedene CPU-Architekturen, wählen, die Sie für Gebäude sind‘ und so lange Die öffentliche API stimmt mit der App überein, verwendet nur die richtige?
Gibt es dafür eine Lösung? Weiß jemand, wie diese Art von Referenz funktionieren soll? Oder bin ich nur Pech?
Danke.
Es scheint, dass der Komponentenanbieter eine WinRT-Komponente erstellen kann, die das Richtige tut; http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2014/05/30/windows-phone-8-1-more-universal-winrt-components.aspx - traurig, dass in meinem Fall nicht. – Yort
Es ist auch möglich, dass ich die SDK-Dateien von Drittanbietern als WinRT-Erweiterung selbst verpacke (was ähnlich wäre wie die Bearbeitung der csproj-Datei, aber wiederverwendbar über Projekte hinweg); https: // msdn.microsoft.com/en-us/library/jj127117.aspx – Yort