Ошибка нехватки памяти при компиляции приложения UWP в режиме выпуска с.Net native

У меня есть решение, в котором мой основной проект - приложение uwp и два других проекта, на которые ссылается приложение:

  1. UWP App ---> ссылки 2.
  2. Универсальная библиотека классов ----> Ссылки 3.
  3. Библиотека PCL

2 -> использует EF7 и SQLight.

3 -> использует PCLCrypto

Теперь все работает отлично и отлично, когда я нахожусь в режиме отладки x86 для локальной машины.

Я хочу скомпилировать решение в режиме релиза, используя .Net native tool chainвот мой конфиг:

Когда я запускаю компиляцию, это занимает удивительно много времени, и слишком много памяти используется нативными инструментами.Net:

Через некоторое время все останавливается с двумя ошибками на visual studio:

Вот что говорит окно вывода:

1> ------ Начата сборка: Проект: Связь с сервером, Конфигурация: Освободить любой ЦП ------ 1> Связь с сервером -> C:\Users\aymen\Documents\Visual Studio 2015\ Проекты \Applinova\Liberte\ServerCommunication\bin\Release\ServerCommunication.dll 2>------ Начало сборки: проект: NewspaperDataLayer, конфигурация: выпуск x86 ------ 2>C:\Users\aymen\Documents\Visual Studio 2015\Projects\Applinova\Liberte\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets(225,5): предупреждение: все проекты, ссылающиеся на ServerCommunication.csproj, должны установить пакет nuget Microsoft.Bcl.Build. Для получения дополнительной информации см. http://go.microsoft.com/fwlink/?LinkID=317569. 2> NewspaperDataLayer -> C:\Users\aymen\Documents\Visual Studio 2015\ Projects \ Applinova \ Liberte \ NewspaperDataLayer \ bin \ x86 \ Release \ NewspaperDataLayer.dll

3> ------ Началась сборка: Проект: Liberte, Конфигурация: Выпуск x86

- некоторые предупреждения здесь, что я только что пропустил

3> Запуск собственной компиляции.NET 3> Обработка кода приложения 3>C:\Users\aymen\Documents\Visual Studio 2015\Projects\Applinova\Liberte\Liberte\Resources.System.Linq.Expressions.rd.xml(35): предупреждение: метод 'CreateLambda' внутри 'System.Linq.Expressions.Expression' не найден. 3>C:\Users\aymen\Documents\Visual Studio 2015\Projects\Applinova\Liberte\Liberte\Resources.System.Linq.Expressions.rd.xml(91): предупреждение: метод 'ParameterIsAssignable' в 'System.Linq. Выражения. Выражение не может быть найдено. 3> Вычисление закрытия приложения и генерация кода взаимодействия 3> Генерация кода сериализации 3> Компиляция кода взаимодействия 3> Очистка кода без ссылок 3> Генерация собственного кода 3>STARTPROCESSTASK: ошибка: Недостаточно памяти 3>C:\Program Files (x86)\MSBuild\Microsoft.NetNative\x86\ilc\IlcInternals.targets(1129,5): ошибка: ILT0005: 'C:\Program Files (x86)\MSBuild\Microsoft.NetNative\x86\ilc\Tools\nutc_driver.exe @"C:\Users\aymen\Documents\Visual Studio 2015\Projects\Applinova\Liberte\Liberte\obj\x86\Release\ilc\ промежуточный \MDIL\Liberte.rsp"'возвратил код выхода 1 ========== Построение: 2 успешно выполнено, 1 не выполнено, 0 обновлено, 0 пропущено ========== ========== Развертывание: 0 выполнено, 0 не выполнено, 0 пропущено = =========

Что может быть не так с этим, пожалуйста?

2 ответа

У меня была такая же проблема (я также использую EF7 и другие библиотеки), но я решил использовать предварительный просмотр Visual Studio 15 (это не обновление 2 для Visual Studio 2015, которое я не пробовал). Они улучшили собственные инструменты.NET, так что теперь у вас не должно быть никаких проблем, даже если вы используете много сторонних библиотек.

ОБНОВИТЬ

Я решил все свои проблемы после того, как установил обновление 3 для Visual Studio 2015 и переключился с EF7 на ядро EF, также доступное через Nuget

Последние несколько дней я пытался решить эту проблему, но в настоящее время нет простого решения.

Существует закрытая проблема на EF7 GitHub, дополнительную информацию здесь ( https://github.com/aspnet/EntityFramework/issues/4387), где они предлагают в качестве решения обновить EF7 до v1.0.0-rc2-16898.

Мне не удалось обновить, и, поскольку это все еще ночная версия, моим окончательным решением ("быстрым" обходным путем) было изменение всей моей БД на sqlite-pcl ( https://visualstudiogallery.msdn.microsoft.com/4913e7d5-96c9-4dde-a1a1-69820d615936).

Если вы не спешите обедать свое приложение, вы всегда можете дождаться окончательной версии RC2, это должно быть сделано в апреле.

Другие вопросы по тегам