в моем приложении uwp я использую динамические переменные во многих местах, потому что данные поступают из серверного API-интерфейса, поэтому мы хотим, чтобы они были динамическими. он отлично работает в режиме Debug, но я хотел загрузить его в магазин, поэтому я попробовал его в режиме Release, и он не работает со следующим исключением
system.reflection.missingmetadataexception
очевидно, это исключение возникает на одной из моих страниц с именем LoginPage.xaml.cs в первой строке, где я пытаюсь использовать динамические данные. Ниже приведена строка, которая вызывает исключение.
ViewModel.backgroundURL = AppConfig.Login.background;
AppConfig здесь — статический объект в классе констант. и его тип динамический, я успешно получаю его из серверного API, но исключение возникает только тогда, когда я пытаюсь использовать его в своем приложении, как вы можете видеть в строке кода выше.
после некоторых исследований я обнаружил, что использование следующей строки в Default.rd.xml может решить эту ошибку. Я поместил туда следующую строку.
<Namespace Name="bluebook.ViewModels" Seralize="All" />
как вы можете видеть, я помещаю эту строку в свой тег директив, как показано ниже.
<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
<Application>
<!--
An Assembly element with Name="*Application*" applies to all assemblies in
the application package. The asterisks are not wildcards.
-->
<Assembly Name="*Application*" Dynamic="Required All" />
<!-- Add your application specific runtime directives here. -->
<Namespace Name="bluebook.ViewModels" Serialize="All" />
</Application>
</Directives>
Я пытаюсь выполнить директивы для ViewModels, потому что поля, которым я назначаю, находятся в классе ViewModel. Я также пытался сделать это в пространстве имен Views, в котором есть все классы представлений, такие как LoginPage и другие, но в обоих случаях исключение все еще происходит, точно в той же строке. .
Обновление 1
Сведения об исключении
System.Reflection.MissingMetadataException: 'Reflection_InsufficientMetadata_NoHelpAvailable: EETypeRva:0x000a8990.
StackTrace: ноль
Источник: ноль