10
  1. Crea nuova applicazione di Windows 8 App1
  2. Aggiungere ClassLibrary1 progetto libreria di 8 Classi di Windows per soluzione
  3. Aggiungere PortableClassLibrary1 libreria di classi portatile mira Windows 8 e Windows Phone 7.5 a una soluzione
  4. Riferimento HttpClient pacchetto NuGet in ClassLibrary1
  5. Riferimento pacchetto HttpClient NuGet a 0.123.
  6. di riferimento sia la soluzione ClassLibrary1 e PortableClassLibrary1
  7. Compile

si ottiene un errore in fase .appx pacchettoNuget, biblioteca portatile e WinRT appx: Payload contiene due o più file con lo stesso percorso di destinazione

Payload contains two or more files with the same destination path 'System.Net.Http.Primitives.dll'. 
Source files: 
\Projects\App1\PortableClassLibrary1\bin\Debug\System.Net.Http.Primitives.dll 
\Projects\App1\packages\Microsoft.Net.Http.2.2.13\lib\win8\System.Net.Http.Primitives.dll 

Si prega di notare lo stesso errore viene riprodotto se si fa riferimento con qualsiasi pacchetto NuGet entrambe le miscele win8 e portatili degli assiemi.

Cosa ci si aspetta: versione più specifica di una libreria (Win8 uno) è confezionato in .appx e versione portatile viene ignorato

Tutte le idee su come imbrogliare appx confezionatore e costruire questo tipo di 8 progetti di Windows?

risposta

2

In aggiunta a questo, si dovrebbe essere sempre avvertimenti simili a:

Tutti i progetti che fanno riferimento ClassLibrary1.csproj necessario installare NuGet pacchetto Microsoft.Bcl.Build. Per ulteriori informazioni, vedere http://go.microsoft.com/fwlink/?LinkID=317569.

Questo indica un problema. Fondamentalmente, in breve, dovresti installare HttpClient.Compression in tutti i progetti. La confezione MSBuild/AppX non sa quale binario distribuire tra la libreria portatile e il progetto della libreria (hanno versioni API diverse &). L'installazione del pacchetto nell'applicazione, lo dice.

+0

David, grazie! –

9

Sembra che la soluzione descritta qui funziona: http://cyanbyfuchsia.wordpress.com/2013/05/03/payload-contains-two-or-more-files-with-the-same-destination-path/

In sostanza, è necessario impostare "Copia locale" a false nel progetto WinRT a cui fa riferimento dall'applicazione principale.

+0

L'approccio Ho finito per prendere era quello di aggiungere il pacchetto NuGet per l'applicazione principale, quindi assicurarsi che per tutte le librerie di riferimento, "Copia locale" è stato impostato su false sui riferimenti.Quindi il progetto applicativo è il "maestro" di includere quei file. Avevo anche degli avvertimenti che mi dicevano di installare Microsoft.Bcl.Build, ma farlo non serviva. – RandomEngy

+0

Stavo ricevendo questo errore perché anche il mio Progetto UnitTesting ha una cartella Asset. Poiché i test unitari non hanno bisogno di queste risorse (loghi, icone, ecc.) Li ho appena cancellati. – WiteCastle

0

Ho avuto tale problema . Era perché ho condiviso una delle mie soluzioni tra i progetti. Ho dovuto rinominare la soluzione, perché il nome era lo stesso di uno dei progetti. Dopo aver cambiato il nome ho avuto questo problema.

ho fissato facendo: click destro sul soluzione che ho rinominato e utilizzato entrambi i progetti, poi proprietà, quindi utilizzare lo stesso nome nel assemblea nome come nome della soluzione.

Problemi correlati