Moje Visual Studio 2015 rozwiązanie ma następujące projekty:MissingManifestResourceException Od PCL Kodeksu Assembly wywoływana z UWP
- NET
- montaż UWP
- PCL Biblioteka Zespół
- .NET Test jednostki
- Jednostka testowa UWP App
PCL as sembly zawiera osadzoną tabelę zasobów ciągów (za pośrednictwem pliku RESX w projekcie) i prostą klasę, która pozwala dzwoniącym na pobranie ciągów z tabeli zasobów łańcuchowych. PCL został zaprojektowany w celu umożliwienia współdzielenia łańcuchów między zespołami .NET i UWP.
Po uruchomieniu biblioteki testowej .NET, testy jednostkowe wywołują zestaw .NET, który pobiera ciągi z zespołu PCL. Działa to zgodnie z oczekiwaniami.
Po uruchomieniu aplikacji testowej UWP, testy jednostkowe wywołują zestaw UWP, który pobiera ciągi z zespołu PCL. Nie powiedzie się to z następującym komunikatem wyjątku:
System.Resources.MissingManifestResourceException: Nie można załadować zasobów dla pliku zasobów [bla] w pakiecie [guid].
Próbowałem this solution, ale wezwanie do GetForViewIndependentUse()
udało się COMException
stwierdzając, że "ResourceMap Not Found".
Co się dzieje? Ten łańcuch wywołania działa dla stosu testowego jednostki .NET. Sprawdziłem, aby ustawić neutralny język na "Angielski" dla wszystkich złożeń. Jaki jest najlepszy sposób udostępniania tabeli ciągów między zespołem .NET a zespołem UWP?
"w pakiecie" mówi, co poszło nie tak, zasoby są osadzone w zespole, a nie w pakiecie. Zasoby są robione bardzo różnie w UWP, są kompilowane w blob PRI i osadzone w pakiecie. Przekonanie ResourceManager do czytania z zespołu może być trudne, biorąc pod uwagę, że zestawy satelitarne również nie działają w UWP, nie ma prawdziwego pomysłu. –