无法使用WP8.1项目中引用的System.IO.Compression和SQLite

时间:2015-02-23 14:42:37

标签: c# windows-phone-8 windows-phone base-class-library sqlite.net

我的Windows Phone 8.1 Silverlight项目中出现了一个奇怪的错误。我刚刚创建了一个小型测试项目并获得相同的行为:

如果我安装 " Microsoft.Bcl.Compression"

然后 " SQLite.Net.Platform.WindowsPhone8"

通过NuGet如果我尝试压缩文件,即使我在任何行中都没有使用SQLite.NET,我也会遇到以下异常。

在entry.Open()的以下代码中:

var entry = archive.CreateEntry(Path.GetFileName(file.Name));

using (var entryStream = entry.Open())
  

类型' System.IO.Compression.ZLibException'的例外情况发生在   mscorlib.ni.dll但未在用户代码中处理

     

附加信息:基础压缩例程不能   正确加载。

如果我从项目中删除SQLite,则压缩会按预期成功运行。

我使用压缩几个月没有问题,然后添加了SQLite.NET支持,现在最终出现了一个奇怪的例外。

我做错了吗?

小型测试项目: CompressionAndSQLiteExample.zip

1 个答案:

答案 0 :(得分:3)

Microsoft.Bcl.Compression.targets脚本存在问题,因为它使用与sqlite-net-wp8,InjectReference相同的目标名称。

我将InjectReference更改为BCLCompressionInjectReference并重新加载项目,现在它可以正常工作。