Внутренняя ошибка компилятора, когда UseDotNetNativeToolchain имеет значение true

У меня есть приложение UWP, которое успешно компилируется, если у меня UseDotNetNativeToolchain выключен. Но когда я его включаю, появляется загадочная ошибка:

Внутренняя ошибка компилятора: ссылка на объект не установлена ​​на экземпляр объекта. UWPApp C: \ Program Files (x86) \ MSBuild \ Microsoft.NetNative \ x86 \ ilc \ IlcInternals.targets 887 Build

Это все, что он мне дает. Что может быть причиной этого? Как я могу разобраться в этом.

Использование VS2015

Вот полный вывод сборки на тот случай, если это поможет:

https://gist.github.com/shannah/e24fe8456313fb9ad98577c9a812f357


person steve hannah    schedule 15.04.2016    source источник
comment
Произошел сбой компилятора .NET Native. Сначала вам нужно проверить, может ли приложение Hello World компилироваться, если нет, то это проблема окружающей среды. Если он выживает, то комментируйте фрагменты в исходном коде, чтобы сузить проблему. Было бы разумно позвонить в службу поддержки Microsoft.   -  person Hans Passant    schedule 16.04.2016
comment
Вы решили проблему?   -  person Dominic    schedule 23.08.2016
comment
Кто-нибудь решил эту проблему?   -  person DemetrioProgramerOsorio    schedule 02.02.2017
comment
да. Я только что добавил решение в качестве ответа.   -  person steve hannah    schedule 02.02.2017


Ответы (1)


Решением этой проблемы было отключение оптимизации в нескольких сборках, которые я использовал в файле Default.rd.xml. Например.

 <Assembly Name="IKVM.OpenJDK.Core" Dynamic="All" DoNotInline="true" DoNotOptimize="true"/>
person steve hannah    schedule 02.02.2017
comment
Как узнали, на какие сборки ставить DoNotInline="true" DoNotOptimize="true"? - person user1; 23.11.2020
comment
Это было давно, но я думаю, что сделал это для всех сборок в моем проекте. Возможно, вам удастся обойтись без такого размаха методом проб и ошибок. - person steve hannah; 23.11.2020