2017-06-02 1 views
7

Ich habe UWP-App und verwenden Sie Akavache. MobileCenter NuGet Pakete Nach dem Hinzufügen habe ich dieses Problem whith Gebäude App:Build-Fehler bei Verwendung von Akavache + Mobile Center in einem UWP-Projekt

Payload contains two or more files with the same destination path 'SQLitePCLRaw.batteries_v2.dll'. 
Source files:C:\Users\user\.nuget\packages\SQLitePCLRaw.bundle_e_sqlite3\1.1.0\lib\uap10.0\SQLitePCLRaw.batteries_v2.dll 
C:\Users\user\.nuget\packages\SQLitePCLRaw.bundle_green\1.1.2\lib\uap10.0\SQLitePCLRaw.batteries_v2.dll 

Wie kann ich es beheben, ohne Akavache oder VSMC zu entfernen?

+0

können Sie bitte eine Repro auf Erics erhöhen Sqlite PclRaw Repo bitte. –

+0

Ich werde das untersuchen. Ich habe eine anständige Idee, was das Problem ist, aber ich weiß noch nicht, was die beste Lösung sein wird. –

+1

BTW, Repro ist einfach. Datei Neue UWP-leere App. Fügen Sie nuget-Pakete Microsoft.Azure.Mobile und akavache hinzu. Bauen. –

Antwort

4

Basierend auf @Eric Sink Kommentar, habe ich versucht, die Mobile Center doppelte DLL auszuschließen und so weit ich sagen kann, funktioniert Mobile Center korrekt mit der Akavache sqlite Abhängigkeit. Ich habe Akavache nicht zur Laufzeit getestet.

Ich verwende project.json und dies war für mich:

"SQLitePCLRaw.bundle_green": { 
    "version": "1.1.2", 
    "exclude": "all" 
} 

innerhalb dependencies Objekt.

+0

Ich habe keine project.json (VS2017) Alle Abhängigkeiten in * .csproj, aber diese Datei enthält nicht SQLitePCLRaw.bundle_green. –

+0

Können Sie packages.config und die csproj irgendwo hochladen? –

+0

Basierend auf meinen Tests funktioniert die Ausschlussfunktion nicht mit PackageReference in einem UWP-Csproj. Ich nehme an, VS2017 unterstützt alte project.json Sachen aus Gründen der Abwärtskompatibilität, also vielleicht, wenn das Projekt manuell geändert wurde ... –

0

die PackageReference Technik des Konsums nugets Mit der documentation sagt der Exclude="All" Flagge

Leider ist die Dokumentation ist falsch zu verwenden, da dieses github issue hervorgehoben und Sie infact ExcludeAssets="All"

So das fertige Produkt wird verwenden müssen etwa so aussehen

<PackageReference Include="SQLitePCLRaw.bundle_green" Version="1.1.9" ExcludeAssets="All" />

Verwandte Themen