Otrzymuję ten błąd podczas budowania mojego rozwiązania Xamarin dla systemu iOS.
Mam włączone tylko zestawy SDK link.
Dziwne jest to, że działa dobrze, gdy buduję go dla symulatora, ale kiedy buduję dla prawdziwego urządzenia, daje to ten błąd.Xamarin: Błąd MT2002: Nie udało się rozwiązać "System.Void System.Security.Cryptography.SHA1Cng ::. Ctor()"
MTOUCH: error MT2002: Failed to resolve "System.Void
System.Security.Cryptography.SHA1Cng::.ctor()" reference from
"System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
Nie w moim kodzie mam odniesienie do System.Security.Cryptography.
To działa, gdy wyłączyć zespoły łączące lub umożliwiają powiązanie wszystkie zespoły, ale łącząc wszystko spowoduje Unity IoC na niepowodzenie i wyłączyć łącząc wszystko razem powoduje większy rozmiar pliku aplikacji.
Buduję dla systemu docelowego 7.1 (bez różnicy, gdy to zmienię) dla .NET w wersji 4.5.2 i wszystkie aktualizacje dla Xamarin są zainstalowane.
Aktualizacja:
Mogę potwierdzić, że mój projekt iOS odnosi się do wersji 2.0.5.0 System.Core
zobacz zrzut ekranu poniżej.
Mam jednak projekt PCL, do którego się odwołuje. Czy to w jakiś sposób może spowodować problem?
UPDATE: Okazuje się, że jest tam biblioteka, że byłem przedstawieniu, HashLib, co uważałem, że było PCL ale faktycznie nie jest.
W HashLib było wywołanie czegoś w System.Core, które spowodowało, że linker się nie powiódł.
Teraz wypakowałem potrzebną funkcjonalność z HashLib i skompilowałem ją do osobnego projektu PCL, co naprawiło problem z linkerem.
Zaktualizowałem moje pytanie z dodatkowymi informacjami. Odwołuję się do 2.0.5.0 –
Czy możesz dodać '-v -v -v -v' do dodatkowych opcji mtouch w opcjach budowania iOS projektu, czyścić i przebudowywać oraz tworzyć dziennik kompilacji? –
Tutaj jest wyjście: https://gist.github.com/DotTech/4bc7d139b3d5cad0a7de Dzięki za wysiłek! –