2016-01-24 31 views
7

Ho creato un'app universale per Windows 10 e non conoscevo la catena di strumenti nativi. Quando ero pronto per creare il pacchetto ho ricevuto molti errori e ho cercato una soluzione senza fortuna.Creazione pacchetto versione non riuscita per UWP

Dopo un paio di tentativi ho deciso di prendere la mia app, pezzo per pezzo, in un progetto di test per vedere ciò che è sbagliato e ottengo i seguenti errori dopo ho aggiunto il ViewModelLocator di MVVM Luce 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 

e questo è il mio 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>(); 
} 

sono anche utilizzando SQLite3, EF7 rc1, Newtosoft JSON e l'agilità HTML confezione. Ho già seguito tutti i suggerimenti per compilare EF7. Ho eliminato la cartella obj, riavviato Visual Studio e ho cercato tutta la discussione sul problema senza fortuna. La mia macchina ha 16 GB di memoria e, guardando il task manager, avevo circa il 50% di memoria libera quando ho ricevuto l'errore.

Spero che qualcuno possa aiutarmi come.

Grazie,

Pippo

+0

Gli avvisi possono essere ignorati in modo sicuro. Vedi qui: https://github.com/dotnet/corefx/issues/5088 –

+0

Grazie, ci provo, ma ora penso che l'OOM non sia correlato a quegli avvertimenti. – Pippo46

risposta

0

ho risolto tutti i miei problemi dopo aver installato Visual Studio 2015 Update 3 e passati da EF7 a EF core disponibile anche tramite NuGet

0

Si può provare a rimuovere l'applicazione * * direttiva da questo file: Proprietà \ Default.rd.xml. Indica al compilatore nativo .NET di essere eccessivamente generoso sulle informazioni che salva/genera e può essere un fattore che contribuisce all'OOM. Il comportamento più conservativo consentito rimuovendo questa direttiva può liberare abbastanza lavoro estraneo da consentire il completamento del compilatore. Tuttavia, questo ti apre al compilatore potenzialmente per ottimizzare l'applicazione, quindi dovrai testarlo attentamente in questa configurazione e potrebbe essere necessario aggiungere alcune direttive più specifiche al file .rd.xml per tornare completamente indietro i tuoi piedi.

Abbiamo alcune correzioni in arrivo nell'aggiornamento 2 che dovrebbero aiutare applicazioni come la vostra che si basano su molte strutture con una forte riflessione/un numero elevato di generici.

+0

Ho già provato a rimuovere quella direttiva dal file Default.rd.xml: si compila ma poi la mia app si arresta in modo anomalo in fase di runtime. Ho letto sulle direttive di runtime ma non ho davvero capito come aggiungere una direttiva specifica. Puoi dare qualche link utile a riguardo? Cercherò ancora un po 'e spero che anche l'aggiornamento 2 possa essere d'aiuto. – Pippo46

+0

Se si attiva .NET Native per la build di DEBUG, è possibile che MissingMetadataExceptions di MissingRuntimeArtifactExceptions venga visualizzato con alcuni messaggi di errore. Dovrai inseguirli un po 'per risolvere il problema. Certo, si tratta di un bel lavoro klunky. –

+0

Non capisco nessuno di questi errori, ma ottengo altri errori che non capisco.Puoi dare un'occhiata qui http://1drv.ms/1QwqOmX – Pippo46