Podstawowe pytanie/podsumowanie: Muszę odwołać się do pliku binarnego (dll) utworzonego przez kogoś innego w C z uniwersalnego projektu aplikacji Win 10. Istnieje jednak osobna biblioteka dll dla x86 i ramienia. Sądzę, że muszę odwołać się do pliku dll (lub przynajmniej pliku winmd) z projektu, aby mógł on zostać wdrożony, ale mogę odwoływać się tylko do jednego pliku, a nie do obu. Oznacza to, że aplikacja nie działa na jednej lub drugiej platformie (na pulpicie lub na telefonie), ponieważ zawiera nieprawidłowy plik binarny. Szukam rozwiązania.Odwoływanie bibliotek DLL z systemu Windows 10 Uniwersalna aplikacja w architekturach procesorów
Bardziej szczegółowe wyjaśnienie;
Próbuję napisać uniwersalną aplikację Windows (nowy styl Windows 10). Oznacza to, że mam pojedynczy projekt, do którego można dodać odniesienia do zewnętrznych komponentów.
Potrzebuję niektórych elementów przetwarzania obrazu, które najlepiej kupić jako komponent innej firmy niż opracowane w domu. Istnieje kilka SDK dostępnych od stron trzecich, które obsługują WinRT, ale żaden nie obsługuje specjalnie UWA. Wszystkie pakiety WinRT SDK mają jednak różne pliki binarne dla aplikacji Windows Phone i Windows Desktop. a pliki binarne są tworzone ze źródła C/C++. To było w porządku ze starszymi "uniwersalnymi" aplikacjami, ponieważ istniał osobny projekt dla telefonu i komputera, więc można było odwoływać się do różnych komponentów w każdym projekcie, ale teraz jest tylko jeden projekt, do którego można dodać odniesienia.
Zapytałem jednego dostawcę o wsparcie dla UWA i twierdzili, że jest to niemożliwe, nie mogli utworzyć pojedynczego pliku binarnego, aby kierować obie platformy (ramię vs x86) i nie znali sposobu, w jaki mój UWA mógłby odnieść się do właściwych plik, gdy aplikacja jest zbudowana dla odpowiedniej architektury (co, jak zakładam, powinno się wydarzyć).
Zakładam istnieje jakiś sposób (być może w winmd pliku?) Powiedzieć: „Hej, oto dwie kopie tej samej biblioteki dll dla różnych architektur procesora, wybrać ten, jesteś budynku za” i tak długo, jak publiczny interfejs API pasuje do aplikacji po prostu używa właściwego?
Czy istnieje rozwiązanie tego problemu? Czy ktoś wie, jak ten rodzaj odniesienia ma działać? Czy mam po prostu pecha?
Dzięki.
Wygląda na to, że dostawca komponentów może utworzyć składnik WinRT, który robi to, co trzeba; http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2014/05/30/windows-phone-8-1-more-universal-winrt-components.aspx - smutne, że w moim przypadku nie. – Yort
Może być również możliwe samodzielne pakowanie plików sdk innych firm jako rozszerzenie WinRT (co byłoby podobne do edycji pliku csproj, ale bardziej nadaje się do wielokrotnego użytku w różnych projektach); https: // msdn.microsoft.com/en-us/library/jj127117.aspx – Yort