UWP APP: GetPublicKey () в Relase Config не работает - PullRequest
0 голосов
/ 26 февраля 2019

Я создал проект UWP с проектом exe и проектом библиотеки классов, в котором я читаю открытый ключ подписанной сборки с помощью

var assembly = typeof(MyClass).GetTypeInfo().Assembly; byte[] bytes = assembly.GetName().GetPublicKeyToken();

.долго я использую конфигурацию отладки.После компиляции и запуска в режиме выпуска байты равны нулю.Я снял флажок «Компилировать с помощью .Net Native Toolchain», и теперь он работает.Мне интересно, почему, и есть ли у меня побочные эффекты из-за этой конфигурации?

1 Ответ

0 голосов
/ 27 февраля 2019

Для .NET Native Toolchain удалит метаданные, и мы используем метаданные для отражения объекта.

Если вам нужно использовать отражение, вам нужно добавить код в файл Default.rd.xml.

<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
  <Application>
           <Assembly Name="*Application*" Dynamic="Required All" />
  </Application>
</Directives>

См. Директивы времени выполнения (rd.xml) Справочник по файлам конфигурации

https://docs.microsoft.com/en-us/dotnet/framework/net-native/reflection-and-net-native

Если вы можете читать по-китайски, прочитайте мой блог

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...