.NET Native ошибка компиляции. ChatCapabilitiesManager.GetCachedCapabilities

122
19 ноября 2019, 07:20

При построении проекта в Release происходит две ошибки в двух проектах. Насколько я понял, мне нужно как-то правильно всё настроить в файле Properties/Default.rd.xml

По ссылке есть описание этого файла, но всё-таки не пришло полное понимание, что и как конкретно нужно настроить.

Вопросы

  1. Мне нужно как-то отключить Reflection для типов, присутствующих в ошибках или для всего гигантского проекта прописать всё, что должно поддерживать Reflection?

  2. Может кто-нибудь подсказать, как отключить отражение для указанных в ошибке типов?

ChatCapabilitiesManager.GetCachedCapabilities введён в Windows 10, version 1809 (introduced v10.0.17763.0) и Windows.Foundation.UniversalApiContract (introduced v7)

Я использую следующие версии:

<TargetPlatformIdentifier>UAP</TargetPlatformIdentifier>
<TargetPlatformVersion Condition=" '$(TargetPlatformVersion)' == '' ">10.0.17763.0</TargetPlatformVersion>
<TargetPlatformMinVersion>10.0.16299.0</TargetPlatformMinVersion>

Runtime Directives (rd.xml) Configuration File Reference

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

Первая:

Произошла внутренняя ошибка компилятора: MCG0021:InvalidMethodImpl Метод "Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.ChatCapabilities> Windows.ApplicationModel.Chat.ChatCapabilitiesManager.GetCachedCapabilitiesAsync(System.String)" не содержит допустимое значение MethodImpl. Каждый метод среды выполнения Windows должен иметь значение MethodImpl, указывающее на соответствующий интерфейс среды выполнения Windows. Библиотека среды выполнения Windows "Assembly(Name=Windows.Foundation.UniversalApiContract, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null, Location=F:\Programming\Repos\windows-uwp-app\Xxx.Tests.Uwp\obj\x64\Release\ilc\in\Windows.Foundation.UniversalApiContract.winmd, ContentType=WindowsRuntime)", на которую указывает ссылка, неправильно сформирована.. Xxx.Tests.Uwp C:\Users\UserName\.nuget\packages\microsoft.net.native.compiler\2.1.8\tools\Microsoft.NetNative.targets 788

Вторая:

Произошла внутренняя ошибка компилятора: MCG0021:InvalidMethodImpl Метод "Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.ChatCapabilities> Windows.ApplicationModel.Chat.ChatCapabilitiesManager.GetCachedCapabilitiesAsync(System.String)" не содержит допустимое значение MethodImpl. Каждый метод среды выполнения Windows должен иметь значение MethodImpl, указывающее на соответствующий интерфейс среды выполнения Windows. Библиотека среды выполнения Windows "Assembly(Name=Windows.Foundation.UniversalApiContract, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null, Location=F:\Programming\Repos\windows-uwp-app\Xxx.App\obj\x64\Release\ilc\in\Windows.Foundation.UniversalApiContract.winmd, ContentType=WindowsRuntime)", на которую указывает ссылка, неправильно сформирована.. Xxx.App C:\Users\UserName\.nuget\packages\microsoft.net.native.compiler\2.1.8\tools\Microsoft.NetNative.targets 788

Answer 1

Помогло это:

В файлах двух проектов Properties/Default.rd.xml

Xxx.App

<Assembly Name="*Application*" Dynamic="Required All" />
<Assembly Name="Windows.Foundation.UniversalApiContract">
  <Namespace Name="Windows.ApplicationModel.Chat" Serialize="Excluded"
             Browse="Excluded" Activate="Excluded"
             Dynamic="Excluded" XmlSerializer="Excluded" />
</Assembly>

Xxx.Tests.Uwp

<Assembly Name="*Application*" Dynamic="Auto" />
<Assembly Name="Windows.Foundation.UniversalApiContract">
  <Namespace Name="Windows.ApplicationModel.Chat" Serialize="Excluded"
             Browse="Excluded" Activate="Excluded"
             Dynamic="Excluded" XmlSerializer="Excluded" />
</Assembly>

READ ALSO
Проиграть анимацию UserControl до установки Visibility.Collapsed

Проиграть анимацию UserControl до установки Visibility.Collapsed

Проблема следующая, сделал свой UserControlВ коде этого контрола привязался к событию IsVisibleChanged и проигрываю анимацию появления\закрытия

118
Когда не стоит использовать итератор?

Когда не стоит использовать итератор?

Когда использование паттерна итератор уместно, а в каких случаях нежелательно?

116
Как правильно и компактно распарсить json?

Как правильно и компактно распарсить json?

Получаю от сайта ответ в формате json ( сайт ) как можно максимально компактно распарсить такой json?

125
Как лучше сделать google auth

Как лучше сделать google auth

В проекте API использую google auth так:

147