3

一部の顧客はまだWinXPを使用しているため、.net4.5から.net4.0に切り替える必要がありました。さて、切り替えた後、これは私が得ているエラーです:

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

これを修正する正しい方法は、ターゲットフレームワーク用のSQLiteライブラリの更新バージョンをhttp://system.data.sqlite.orgからダウンロードすることです。

使用している古いSystem.Data.SQLiteアセンブリは、.NET2.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 に答える