我创建了一个.NET Standard 2.0
类库项目,当被WPF App (.NET Framework 4.8)
项目引用时,该项目可以正常工作。但是,当同一个库被MS Office VSTO Project引用(也使用.NET Framework 4.8)时,在下面显示的代码行上出现以下错误:
备注:
VS2019
,Windows20 Pro
,Microsoft.Data.Sqlite,并在同一链接后面跟随example。WPF
应用上可以正常工作。SQLitePCLRaw.core
软件包(如错误中所述),但仍然是相同的错误。虽然,我认为我不必安装此软件包,因为我不必使用WPF
应用程序进行安装。MySQLiteDb.db
文件的相同副本位于bin\Debug
的VSTO
文件夹以及WPF
文件夹中。因此,这可能不应该是一个问题错误:
FileLoadException: Could not load file or assembly 'SQLitePCLRaw.core, Version=2.0.2.669, Culture=neutral, PublicKeyToken=1488e028ca7ab535' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
代码 [第using (SqliteConnection db = ....)
行出现错误:
string SQLiteDbpath = System.IO.Path.Combine(GetAppInstalPath, "MySQLiteDb.db");
using (SqliteConnection db = new SqliteConnection($"Filename={SQLiteDbpath}"))
{
db.Open();
using (SqliteCommand insertCommand = new SqliteCommand())
{
......
insertCommand.ExecuteNonQuery();
}
}
FileLoadException:无法加载文件或程序集'SQLitePCLRaw.core,Version = 2.0.2.669,Culture = neutral,PublicKeyToken = 1488e028ca7ab535'或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)
您需要将丢失的文件(SQLitePCLRaw.core)包含在带有加载项文件的文件夹中。