在WPF上工作。但是在VSTO项目上,抛出错误:无法加载文件或程序集'SQLitePCLRaw.core,Version = 2.0.2.669,Culture = neutral

问题描述 投票:0回答:1

我创建了一个.NET Standard 2.0类库项目,当被WPF App (.NET Framework 4.8)项目引用时,该项目可以正常工作。但是,当同一个库被MS Office VSTO Project引用(也使用.NET Framework 4.8)时,在下面显示的代码行上出现以下错误:

备注

  1. 我正在使用VS2019Windows20 ProMicrosoft.Data.Sqlite,并在同一链接后面跟随example
  2. 完全相同的代码在WPF应用上可以正常工作。
  3. 我也尝试安装SQLitePCLRaw.core软件包(如错误中所述),但仍然是相同的错误。虽然,我认为我不必安装此软件包,因为我不必使用WPF应用程序进行安装。
  4. MySQLiteDb.db文件的相同副本位于bin\DebugVSTO文件夹以及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();
    }
}
c# wpf sqlite vsto microsoft.data.sqlite
1个回答
0
投票

FileLoadException:无法加载文件或程序集'SQLitePCLRaw.core,Version = 2.0.2.669,Culture = neutral,PublicKeyToken = 1488e028ca7ab535'或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)

您需要将丢失的文件(SQLitePCLRaw.core)包含在带有加载项文件的文件夹中。

© www.soinside.com 2019 - 2024. All rights reserved.