7

Я построил универсальное приложение для окон 10, и я не знал о цепочке Native Tool. Когда я был готов создать пакет, у меня появилось много ошибок, и я искал решение без везения.Пакет релизов сборки, не подходящий для UWP

После нескольких attemps я решил взять мое приложение, кусок за куском, в тестовом проекте, чтобы увидеть, что это неправильно, и я получаю следующие ошибки после того как я добавил ViewModelLocator из MVVM Light 5.2:

NUTC300F:Internal Compiler Error: Native compilation failed due to out of memory error 
ILT0005: 'C:\Program Files (x86)\MSBuild\Microsoft\.NetNative\x86\ilc\Tools\nutc_driver.exe 
    @"C:\...\Test\obj\x86\Release\ilc\intermediate\MDIL\Test.rsp"' returned exit code 1 
Warning Method 'CreateLambda' within 'System.Linq.Expressions.Expression' could not be found. 
    C:\....\Test\Resources.System.Linq.Expressions.rd.xml 35 
Warning Method 'ParameterIsAssignable' within 'System.Linq.Expressions.Expression' could not be found. 
    C:\....\Test\Resources.System.Linq.Expressions.rd.xml 91 

и это мой ViewModelLocatorClass

public class ViewModelLocator 
{ 
    public const string HeroDetailsPageName = "HeroDetails"; 

    public ViewModelLocator() 
    { 
     ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default); 

     var nav = new NavigationService(); 
     nav.Configure(HeroDetailsPageName, typeof(HeroDetails)); 
     SimpleIoc.Default.Register<INavigationService>(() => nav); 

     SimpleIoc.Default.Register<IDialogService, DialogService>(); 

     if (ViewModelBase.IsInDesignModeStatic) 
     { 
      SimpleIoc.Default.Register<IHotSRepository, DesignDataSource>(); 
     } 
     else 
     { 
      SimpleIoc.Default.Register<IHotSRepository, HotSRepository>(); 
     } 

     SimpleIoc.Default.Register<MainViewModel>(); 
    } 

    public MainViewModel Main => ServiceLocator.Current.GetInstance<MainViewModel>(); 
} 

Я также использую SQLite3, EF7 rc1, Newtosoft JSon и HTML ловкость пакет. Я уже выполнил все предложения, чтобы скомпилировать EF7. Я удалил папку obj, перезапустил Visual Studio и просмотрел весь поток проблем без ведома. Моя машина имеет 16 ГБ памяти и, глядя на диспетчер задач, у меня было около 50% свободной памяти, когда я получил ошибку.

Я надеюсь, что кто-то может мне помочь.

Спасибо,

Пиппо

+0

Предупреждений можно смело игнорировать. См. Здесь: https://github.com/dotnet/corefx/issues/5088 –

+0

Спасибо, я попробую, но теперь я думаю, что OOM не связан с этими предупреждениями. – Pippo46

ответ

0

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

0

Вы можете попробовать удаления * Application * директиву из этого файла: Свойства \ Default.rd.xml. Он инструктирует компилятор .NET Native быть чрезмерно щедрым относительно информации, которую он сохраняет/генерирует и может быть фактором, способствующим OOM. Более консервативное поведение, допускаемое удалением этой директивы, может освободить достаточно постороннюю работу, чтобы позволить компилятору завершить работу. Тем не менее, это открывает возможности компилятора для оптимизации вашего приложения, поэтому вам нужно тщательно протестировать его в этой конфигурации и, возможно, потребуется добавить еще несколько конкретных директив в файл .rd.xml, чтобы полностью вернуться на Ваши ноги.

У нас есть некоторые исправления, появившиеся в обновлении 2, которые должны помочь приложениям, таким как ваш, которые полагаются на многие фреймворки с тяжелым отражением/большим количеством генериков.

+0

Я уже пытался удалить эту директиву из файла Default.rd.xml: он компилируется, но потом мое приложение падает во время выполнения. Я читал о директивах runtime, но я действительно не понимал, как добавить определенную директиву. Можете ли вы дать некоторые полезные ссылки об этом? Я буду искать еще и, надеюсь, Update 2 также поможет. – Pippo46

+0

Если вы включите .NET Native для сборки DEBUG, вы можете увидеть MissingMetadataExceptions of MissingRuntimeArtifactExceptions с некоторыми сообщениями об ошибках. Вам нужно немного преследовать их, чтобы решить проблему. По общему признанию, это довольно klunky работы вокруг. –

+0

Я не получаю ни одной из этих ошибок, но я получаю другие ошибки, которые я не понимаю.Вы можете посмотреть здесь http://1drv.ms/1QwqOmX – Pippo46

Смежные вопросы