2015-09-28 10 views
7

Al tentativo di eseguire un'applicazione di prova ottengo il seguente errore due volte:processore errore architettura disadattamento

C'era una discrepanza tra l'architettura del processore del progetto in costruzione "MSIL" e l'architettura del processore del riferimento "C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ mscorlib.dll", "x86".

Questa mancata corrispondenza può causare errori di runtime. Si prega di prendere in considerazione la possibilità di modificare l'architettura del processore di destinazione del progetto tramite Configuration Manager in modo da allineare le architetture del processore tra il progetto e i riferimenti, o prendere una dipendenza dai riferimenti con un'architettura del processore che corrisponda all'architettura del processore di destinazione del progetto. TestMobile.Core mancata corrispondenza MSIL x86

ho .NET Framework installato, così come le finestre 8 strumenti SDK e l'utilizzo di MultilingualAppToolKit.

Ho già verificato il gestore di configurazione e tutto sembra andare bene. Target della piattaforma, con targeting "Qualsiasi CPU"

+0

che tipo di modello di progetto stai usando? potrebbe essere in grado di riprodurre il problema. – SHM

+0

Ciao! sto usando un PCL per il core e un'app vuota per Android. – Pedro

risposta

7

avuto questo problema dopo l'installazione di Visual Studio 2015 Update 2. Prova questa, la prima risolto il mio problema:

Installare Portable Class Libraries v4.6

  1. Scarica Installa il Portable Class Libraries v4.6. Se si installa questo mette un file .zip nella directory: "C:\Program Files (x86)\Microsoft .NET Portable Library Reference Assemblies 4.6"
  2. Estrarre e copiare il contenuto in "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\"

Installare gli strumenti PCL

  1. Scarica Portable Class Library Tools
  2. Installare eseguendo PortableLibraryTools.exe /buildmachine

Fonte: Matt Wa rd @https://forums.xamarin.com/discussion/comment/80535/#Comment_80535

8

La copia della versione esistente di .NET Portable Library Reference Assembly ha risolto il problema.

Ho riscontrato questo problema dopo aver installato una patch in Visual Studio 2015 Update 3, ho letto la risposta di vvolkgang e inizialmente lo avevo scontato perché avevo già cartelle all'interno di C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable e le date di quelle cartelle erano successive a quelle contenute nell'archivio degli assembly di riferimento Ho scaricato. Quello che avrei dovuto fare era controllare il nella parte destra della gerarchia delle cartelle. Dai un'occhiata al tuo file di progetto; nel mio caso ho avuto queste impostazioni:

<TargetFrameworkProfile>Profile49</TargetFrameworkProfile> 
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion> 

Se queste sono le impostazioni, è necessario controllare il contenuto di C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\Profile\Profile49.Se stai utilizzando un profilo diverso o hai scelto come target una versione diversa del framework, modifica il percorso di conseguenza. Quando ho controllato quella cartella, ho scoperto che avevo molti file XML ma nessuna DLL; copia dei file da Gli assembly di riferimento per la libreria portatile Microsoft .NET 4.6 e scegliendo di non sostituire i file già esistenti risolvono i problemi di build.

+0

Infatti la cartella è vuota sul mio computer, probabilmente perché ho avuto un crash di sistema. Ho copiato i file da un altro computer, non lo ricompongo di nuovo - grazie mille !! – Sam

+0

fantastico, grazie! Ho cambiato il mio profilo nel file csproj al numero più alto e ho risolto il problema. – Mobigital

0

Se si è su un server di generazione e si riceve questo errore/avviso, è sufficiente installare MSBuild 17 con le sue installazioni opzionali che contengono tutti gli SDK e le librerie portatili.