Zbudowałem komponent WinRT (.winmd) do użytku w aplikacjach Windows Store i XAML. Po tym przedstawieniu i luźny .winmd wyjście plików w kliencie JavaScript, widzę ten build ostrzeżenie:Jak spakować składnik środowiska wykonawczego systemu Windows do dystrybucji?
Microsoft.AppXPackage.Targets (808,9): APPX1707 Ostrzeżenie: Brak pliku realizacja została przewidziana pliku .winmd "myRuntimeComponent.winmd". Aby wygenerować informacje rejestracyjne w manifeście aplikacji, określ metadane "Implementacja" na elemencie referencyjnym .winmd w pliku projektu.
Nie mogę znaleźć żadnej dokumentacji dotyczącej tego błędu lub sposobu uwzględnienia metadanych implementacji.
Po uruchomieniu klienta JavaScript, to jest wyjątek, gdy metoda klasy eksportowane z .winmd nazywa się:
0x80040154 - JavaScript Runtime Error: Klasa niezarejestrowana
Zauważ, że jestem odwołującego luźny plik .winmd w projekcie aplikacji klienckiej, zamiast odwoływania się do projektu Visual Studio, który buduje plik .winmd. Moim przypadkiem użycia jest dystrybucja danych wyjściowych .winmd, a nie pełne źródło dla komponentu .winmd - dystrybucja źródeł nie jest opcją.
Należy również pamiętać, że gdy komponent środowiska wykonawczego systemu Windows ma odniesienie jako odniesienie do projektu, klient JavaScript jest kompilowany i działa poprawnie. Klient C# XAML działa poprawnie z odniesieniem do projektu lub odniesieniem do luźnego .winmd.
Wygląda na to, że niektóre informacje rejestracyjne nie są generowane w kompilacji aplikacji klienta po odwołaniu luźnego pliku .winmd.
Jak mogę zbudować i rozpowszechnić luźny składnik środowiska wykonawczego systemu Windows do użytku zarówno przez JavaScript, jak i klientów zarządzanych?
trzeba z komponentu zbyt .dll. Gdy komponent zostanie skompilowany, musi wygenerować plik .winmd i plik .dll. – kiewic
Niestety tak nie jest - nie wygenerowano dll. Pliki wyjściowe obejmują .winmd, .pri i .pdb. –
Hej Jesse, czy kiedykolwiek znalazłeś rozwiązanie swojego problemu? –