3

我不得不从 .net 4.5 切换到 .net 4.0,因为我的一些客户仍在使用 WinXP。现在,切换后,这是我得到的错误:

Could not load file or assembly 'System.Data.SQLite, 
Version=1.0.66.0, Culturre-neutral, PublicKeyToken=db937bc2d44ff139' or one of its dependencies.  
An attempt was made to load a program with an incorrect format.

我一直无法找到解决方案,但这是我迄今为止尝试过的:

  1. 切换回 4.5 - 无效
  2. 再次添加参考 - 无效

有人知道解决方案吗?

4

1 回答 1

3

解决此问题的正确方法是从http://system.data.sqlite.org为您的目标框架下载 SQLite 库的更新版本。

您使用的旧 System.Data.SQLite 程序集是针对 .NET 2.0 的混合代码程序集。.NET 4 下的默认策略是不允许加载此类程序集,但您可以通过在 MyApp.exe.config 文件中添加类似内容来明确允许它用于进程:

<?xml version="1.0"?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/>
  </startup>
</configuration>

请注意,更改可能会破坏其他内容。

这个 StackOverflow 问题涵盖了类似的基础:

于 2012-11-21T15:34:07.653 回答