我创建了一个.NET Standard 2.0
类库项目,当被WPF App (.NET Framework 4.8)
项目引用时,该项目可以正常工作。但是,当MS Office VSTO项目(也使用.NET Framework 4.8(引用同一库时,我在下面显示的代码行上收到以下错误:
备注:
- 我正在使用
VS2019
,Windows20 Pro
,Microsoft.Data.Sqlite以及来自同一链接的以下示例。 - 完全相同的代码在
WPF
应用程序上运行良好。 - 我也尝试安装
SQLitePCLRaw.core
软件包(如错误中所述(,但仍然是相同的错误。虽然,我认为我不应该安装这个软件包,因为我不必使用WPF
应用程序来安装它。 MySQLiteDb.db
文件的相同副本驻留在VSTO
的binDebug
文件夹中以及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,版本=2.0.2.669,文化=中性,公钥令牌=1488e028ca7ab535"或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(HRESULT的例外:0x80131040(
您需要将丢失的文件 (SQLitePCLRaw.core( 包含在包含加载项文件的文件夹中。