2015-10-13 15 views
5

Pracuję nad aplikacją Windows Universal Universal dla systemu Windows 10, używając społeczności Visual Studio 2015, C# i XAML. Dekompresuje skompresowany plik i wyświetla obrazy w nim znalezione.Wyjątek wewnętrzny aplikacji w systemie Windows.UI.Xaml.dll

Kompilacja zapewnia 0 ostrzeżeń.

Wersja debugowania działa poprawnie bez względu na rozmiar pliku wejściowego.

Wersja wydania działa dobrze z typowymi rozmiarami plików wejściowych.

W przypadku dużych rozmiarów plików wejściowych (~ 100 obrazów w rozdzielczości 1 megapiksela) kompilacja wydania ulega awarii z "Nieobsługiwanym wyjątkiem przy 0x55E9A305 (Windows.UI.Xaml.dll) w appname.exe: 0xC000027B: Wewnętrzny wyjątek aplikacji ma wystąpił (parametry: 0x127DC468, 0x00000005). "

Awaria występuje, gdy użytkownik próbuje wyświetlić drugi obraz. Cała dekompresja została zakończona i wszystkie bitmapy zostały utworzone do tego czasu.

Zmierzyłem ustawienia kompilacji i zawęziłem różnicę do opcji "Kompiluj z łańcuchem narzędzi Native programu .NET". Jeśli ta opcja jest zaznaczona, aplikacja ulega awarii. Jeśli ta opcja nie jest zaznaczona, aplikacja działa poprawnie.

Wszystko wskazuje na to, że aplikacja używa około 400 MB sterty, więc chociaż nie jest mała, nie znajduje się w pobliżu maszyny.

"Więc odznacz opcję!", Słyszę twój płacz. Odznaczając pole prowadzi do niewydolności certyfikacji przedstawionego poniżej:

FAILED 
Supported APIs 


• Error Found: The supported APIs test detected the following errors: 
-API OpenSemaphore in api-ms-win-core-synch-l1-1-0.dll is not supported for this application type. System.Threading.dll calls this API. 
-API CreateSemaphore in api-ms-win-core-kernel32-legacy-l1-1-0.dll is not supported for this application type. System.Threading.dll calls this API. 
-API ExecuteAssembly in uwphost.dll is not supported for this application type. StupidTest.exe calls this API. 
-API DllGetActivationFactory in uwphost.dll is not supported for this application type. StupidTest.exe has an export that forwards to this API. 

Pusty projekt cierpi na tę samą awarię jeśli kompilacji .Net łańcuch Native narzędzie nie jest zaznaczona.

więc moje pytania:

Musi Uniwersalny Aplikacje użyć kompilacji .Net łańcuch Native narzędzie?

Czy istnieje dokumentacja dotycząca znaczeń parametrów w wewnętrznym wyjątku lub gdzie indziej mogę zwrócić się do rozwiązywania problemów?

Krótko mówiąc, jakakolwiek rada na temat "Nie działa, jeśli wybrano, ale musisz wybrać, aby uzyskać certyfikat" Dylemat, w którym się znajduję?

+0

Mam dokładnie ten sam problem, @sillyrobot, rozwiązałeś to? – pogorman

+0

Ilekroć to widzisz, spróbuj zaktualizować pakiet ** nuget ** Microsoft.NETCore.UniversalWindowsPlatform, który zawiera najnowszy kompilator .net. Zrobienie tego normalnie rozwiąże problem. –

Odpowiedz

1

Z tym problemem zmagałem się również od kilku dni i znalazłem odpowiedź!

Jeśli nie zaktualizowałeś programu Visual Studio 2015 do aktualizacji 1, zrób to. Ponieważ ten błąd jest błędem w kompilatorze, a po aktualizacji będzie można zbudować projekt za pomocą opcji Natywny łańcuch narzędziowy Compile .Net.

I tak, te cztery błędy, które podnosi narzędzie WACK, wynikają z kompilacji projektu bez sprawdzania opcji Native narzędzia łańcucha w menu Build w pliku Package.appxmanifest.

Powiązane problemy