我试图编译我的Xamarin项目,我得到一个编译器错误,我不明白。以下错误意味着什么?我该如何解决这个问题?SQLite3连接导致编译错误令人困惑
Data \ SQLiteClient.cs(4,4):错误CS0012:类型'System.Threading.Tasks.TaskScheduler'是在未引用的程序集中定义的。您必须添加对程序集“System.Threading.Tasks,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a”的引用。 (CS0012)(DtoToVm.Droid)
相关信息:
- Xamarin窗体空白项目PCL
- 项目设置为.NET 4.5或更高版本
- 简介:PCL 4.5 - Profile78
很多参考文献并不高兴,但我没有手动设置或编辑它们。也许nuget包冲突?
using Xamarin.Forms;
using DtoToVm.Droid.Data;
[assembly: Dependency (typeof(SQLiteClient))]
namespace DtoToVm.Droid.Data
{
using System;
using DtoToVm.Data;
using SQLite.Net.Async;
using System.IO;
using SQLite.Net.Platform.XamarinAndroid;
using SQLite.Net;
public class SQLiteClient : ISQLite
{
public SQLiteAsyncConnection GetConnection()
{
var sqliteFilename = "Conferences.db3";
var documentsPath = Environment.GetFolderPath (Environment.SpecialFolder.Personal);
var path = Path.Combine (documentsPath, sqliteFilename);
var platform = new SQLitePlatformAndroid();
var connectionWithLock = new SQLiteConnectionWithLock (
platform,
new SQLiteConnectionString (path, true));
// The below line causes the compile error
var connection = new SQLiteAsyncConnection (() => connectionWithLock);
return connection;
}
}
}
编辑: 根据这一thread我SHD配置文件更改为7。我已经做到这一点,它摆脱了所有的错误,而是产生一个新问题:
DtoToVm \包\ Microsoft.Net.Http.2.2.29 \ LIB \便携式net40 + SL4 + win8的+ wp71 + wpa81 \ System.Net.Http.dll:错误CS1703:一个n具有相同标识'System.Net.Http,版本= 1.5.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'的程序集已被导入。尝试删除其中一个重复的参考。 (CS1703)(DtoToVm)
此重复引用可以在哪个文件中?
您是否曾尝试将程序集“System.Threading.Tasks.TaskScheduler”添加到您的项目引用中? – helb
非常简单 - 它在例外中说 - “为程序集添加引用'System.Threading.Tasks'”到您的项目 – Nissim
有一个SQLite PCL NuGet可以为您节省很多麻烦 - https:// www。 nuget.org/packages/SQLite.Net-PCL – Jason