2017-06-02 26 views
7

我有UWP应用程序并使用Akavache。加入MobileCenter的NuGet包后,我有这个问题蒙山建筑应用:在UWP项目中使用Akavache + Mobile Center时出现错误

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 

我怎样才能修复它不删除Akavache或VSMC?

+0

能否请您提高对Eric的一个摄制Sqlite PclRaw回购请。 –

+0

我会调查这一点。我有一个体面的想法是什么问题,但我还不知道最好的解决方案是什么。 –

+1

顺便说一句,repro很简单。文件新的UWP空白应用程序。添加nuget软件包Microsoft.Azure.Mobile和akavache。建立。 –

回答

4

基于@Eric Sink评论,我试图排除移动中心的重复DLL,据我所知,移动中心可以正常使用Akavache sqlite依赖项。尽管我在运行时没有测试过Akavache。

我使用project.json这个工作对我来说:

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

dependencies对象。

+0

我没有project.json(VS2017)所有的依赖* .csproj,但该文件不包含SQLitePCLRaw.bundle_green。 –

+0

你可以上传packages.config和csproj的某处吗? –

+0

根据我的测试,排除功能在UWP csproj中不适用于PackageReference。我认为VS2017支持旧的project.json的东西为了向后兼容的目的,所以也许如果该项目手动更改... –

0

使用消耗nugets的PackageReference技术的documentation表示使用Exclude="All"标志

不幸的是,文件是错误的,因为强调了这github issue你INFACT需要使用ExcludeAssets="All"

因此成品会看起来像

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

相关问题