UWP и net native генерируют исключение FileNotFoundException - PullRequest
0 голосов
/ 10 октября 2019

Я разрабатываю 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. Может кто-нибудь пролить свет на это?

Вот репродукция.

введите описание ссылки здесь

...