1

SQLiteの最新(3.7.15.1)バージョンを入手してから、コンパイルに問題がある2つのアプリがあります。

2つ目は今朝まで「バックバーナー」だったので、今まで気づかなかった。

コンパイルしようとすると、「SDKが見つかりませんでした」SQLite.WinRT、Version=3.7.15.1」が表示されます。

参照のリストには、「SQLiteforWindowsRuntime」がインストールされていることが示されています。

ただし、プロパティは次のとおりであることに気付きました。

(Name)  SQLite for Windows Runtime
Fiel Type   SDK
Identity    SQLite.WinRT, Version=3.7.15.1
Path    [blank]
Resolved    False
Version 0.0.0.0

これらの最後の3つはおそらく問題です(パスなし、未解決、バージョン情報なし)。そのため、どういうわけか、インストール時にパスなどが追加されなかったようです。では、SQLite for Windowsランタイムのファイル名を教えてください。そうすれば、その場所を検索して手動でパスに追加できます(この時点で、解決済みの情報とバージョン情報も追加されるといいのですが)。

アップデート

私はここでsqlite3.dllを見つけます:

C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v8.0 \ ExtensionSDKs \ SQLite.WinRT \ 3.7.15.2 \ Redist \ Debug \ x86

パスに追加するのに適切なファイル(sqlite3.dll)と場所ですか?

更新2

そのアイデアについてはこれだけです。「Path」プロパティは編集できません。

更新3

ファイルパスを詳しく見ると、インストールしたものが3.7.15.1ではなく3.7.15.2であることがわかります。

「最近」で見たSQLiteの3つの可能なバージョンは、3.7.14、3.7.15、および3.7.15.1でした。[拡張機能]タブに移動すると、3.7.15.2が見つかりました。

追加したパスは次のとおりです。C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v8.0 \ ExtensionSDKs \ SQLite.WinRT \ 3.7.15.2 \(したがって、「\ Redist \ Debug \ x86」は追加されません)

4

1 に答える 1

2

まだ問題があるかどうかはわかりませんが、今はうまくいくとしても、この質問に出くわす人には次のことが役立つかもしれません。

SQLiteへの参照は、常にダイアログのWindows > Extension一部から追加されます。Add Reference...参照を追加すると、その参照は常に、その時点でインストールされていたSDKのバージョンに追加されます。

Extensions and Updates...SDKは、新しいバージョンのSDKが利用可能になったときの通知を含め、ダイアログを通じて管理および更新されます。このメカニズムを使用してSDKを更新すると、古いバージョンのライブラリは使用できなくなります。それをまだ参照しているプロジェクトは、発生したエラーでビルドに失敗します。

Could not find SDK "SQLite.WinRT, Version=#.#.#.#.

Add Reference...この問題を解決するには、既存の参照を削除して、ダイアログから再度追加する必要があります。このようにして、リファレンスは、マシンで使用可能な最新バージョンのライブラリに更新され、プロジェクトが再度ビルドされます。

複数の開発者のチームがSQLiteを参照するプロジェクトに取り組んでいる場合、このプロセスには副作用があります。それらの1つがプロジェクト内のSDKと参照を更新し、この変更をソース管理にコミットするとすぐに、すべての開発者は、プロジェクトを再度ビルドできるようになる前にSDKを更新する必要があります。

また、ダイアログのWindows > Recent一部にはAdd Reference...、以前にプロジェクトに追加した古いバージョンのSDKが、SDKが新しいバージョンに更新された後もリストされたままになります。つまり、ここから追加することはできますが、ライブラリがもう存在しないため、機能しません。残念ながら、Visual Studioは、それらを追加しようとしても、ダイアログからそのような参照を削除しません。また、ビルドの失敗以外の方法で問題について警告することもありません。ただし、参照を右クリックして[]を選択すると、ダイアログから参照を自分で削除できますRemove from Recent References

于 2013-01-23T06:06:52.077 に答える