上下文环境:
F 211
代码:
[Test]
public void Test4()
{
var sqliteDbFullPath = @"{your sqliteDbFullPath here}";
using (var connection = new SqliteConnection($"Data Source={sqliteDbFullPath}"))
{
connection.Open(); // <= system exception is raised on run-time for this code line
// ...
}
Assert.Pass();
}错误消息:
System.Exception :您需要调用SQLitePCL.raw.SetProvider()。
如果您使用的是包包,这是通过调用SQLitePCL.Batteries.Init()来完成的。
安装的NUGet包:
问题:
如何使此测试项目运行successfully?
构建Sqlite
注:,如果你有100%的工作测试解决方案,请张贴你的答案。谢谢。
发布于 2021-07-20 16:45:17
对于.NET 5-based控制台和NUnit测试项目来说,仅仅通过package控制台安装NUGet Package Microsoft.Data.Sqlite就足够了:
PM> Install-Package Microsoft.Data.Sqlite
Restoring packages for ... NetCore.NUnit.TestProject.csproj...
Installing NuGet package Microsoft.Data.Sqlite 5.0.8.
Committing restore...
Writing assets file to disk. Path: ... NetCore.NUnit.TestProject\obj\project.assets.json
Restored ... NetCore.NUnit.TestProject.csproj (in 244 ms).
Successfully installed 'Microsoft.Data.Sqlite 5.0.8' to NetCore.NUnit.TestProject
Successfully installed 'Microsoft.Data.Sqlite.Core 5.0.8' to NetCore.NUnit.TestProject
Successfully installed 'SQLitePCLRaw.bundle_e_sqlite3 2.0.4' to NetCore.NUnit.TestProject
Successfully installed 'SQLitePCLRaw.core 2.0.4' to NetCore.NUnit.TestProject
Successfully installed 'SQLitePCLRaw.lib.e_sqlite3 2.0.4' to NetCore.NUnit.TestProject
Successfully installed 'SQLitePCLRaw.provider.dynamic_cdecl 2.0.4' to NetCore.NUnit.TestProject
Successfully installed 'System.Memory 4.5.3' to NetCore.NUnit.TestProject
Executing nuget actions took 403 ms
Time Elapsed: 00:00:02.3812238然后发生了“魔术”,成功地打开了Sqlite连接,并检索了OK数据。
我最初试图安装与_Microsoft.Data.Sqlite.Core_and相关的软件包的行为是错误的,这会导致运行时错误消息。
https://stackoverflow.com/questions/68454403
复制相似问题