Я разрабатываю UWP, который отлично работает в режиме отладки, когда я компилировал его в режиме выпуска, он компилируется без ошибок, но когда я запускаю приложение, у меня появляется процесс, использующий функцию в . Net Standard 2.0 библиотека, которая выбрасывает System.IO.FileNotFoundException System.Security . Для этой сборки метаданные не найдены.
Это мой rd.xml
<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. -->
<Assembly Name="System.Runtime" Dynamic="Required All" />
<Assembly Name="System.Security" Dynamic="Required All" />
<Type Name="Windows.Foundation.TypedEventHandler{Microsoft.UI.Xaml.Controls.NavigationView,Microsoft.UI.Xaml.Controls.NavigationViewItemInvokedEventArgs}" MarshalObject="Public" />
<Type Name="Microsoft.UI.Xaml.Controls.NavigationView">
<Event Name="ItemInvoked" Dynamic="Required"/>
</Type>
<Type Name="System.Configuration.AppSettingsSection" Serialize="Required Public" />
</Application>
</Directives>
А вот строка, которая выдает ошибку:
Assembly System_Security_Assembly = Assembly.Load("System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
Даже при том, что эта работает нормально.
Assembly cripXmlAssembly = Assembly.Load("System.Security.Cryptography.Xml");
Я читал о добавлении директивы к файлам RD.xml, но я думаю, что это применимо к UWP, и в этом случае Исключение выдается dll Net Standard. Может кто-нибудь пролить свет на это?
Вот репродукция.
введите описание ссылки здесь