Я предполагаю, что произошло то, что вы используете библиотеку, которая не нацелена на поверхность .NET, доступную для UWP. Поверхность для UWP - это набор API под названием .NET Core, вы можете увидеть источник здесь: http://www.github.com/dotnet/corefx. Скорее всего, вам понадобится более новая версия EF ... хотя я знаю, что у них были некоторые другие проблемы с нашей стратегией предварительной компиляции (см .: https://github.com/aspnet/EntityFramework/issues/3603). Мы продолжаем работать с ними, чтобы разобраться с этим, и надеемся, что EF окажется в отличном месте к обновлению 2 где-то в марте.
Причина, по которой вы видите это только с .NET Native, заключается в том, что компилятор просматривает все ваше приложение во время компиляции, чтобы сгенерировать собственный код для всего, что, по его мнению, вы собираетесь вызвать. Случается заметить, что этот тип недоступен и правильно выдает ошибки. Я предполагаю, что вы на самом деле не называете этот путь кода в своем приложении, потому что это приведет к аналогичной ошибке в CoreCLR ... это произойдет просто во время выполнения, а не во время компиляции.
Если вам действительно не нужен этот тип (и все остальное, что вам нужно, также не нуждается в этом типе и т. Д.), Возможно, удаление этой директивы из вашего приложения позволит шейкеру дерева исключить этот тип из вашего приложения до того, как что-то пойдет наперекосяк:
<Assembly Name="*Application*" Dynamic="Required All" />
Эта директива приводит к тому, что все типы в вашем приложении и библиотеки, не относящиеся к фреймворку, на которые вы ссылаетесь, укореняются и, следовательно, не могут быть удалены. Наличие этой директивы по умолчанию упрощает наш анализ и избавляет большинство людей от необходимости знать что-либо о нашем механизме анализа. Возможно, удаление этого поможет вам избежать проблемы.
Дайте мне знать, если это сработает или у вас возникнут другие вопросы. Мы всегда рады получать отзывы и оказывать поддержку по адресу [email protected].
person
MattWhilden
schedule
12.01.2016