明確にしましょう。SQLCEはWindows8に存在します。これは、プログラムファイルだけでなく、Windows \ System32にも存在し、以前よりもさらに埋め込まれているように見えます。Windows7のsystem32にはsqlcecompact40.dllがないため、これは間違いなく新しいものです。System.DataとSystem.Data.LinqはどちらもC:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework\v4.5にあります。
これらのdllへの参照を手動で追加できますが、アプリをコンパイルするのは失敗です。最初にプロジェクトを開いて何もしなければ、どこにでもそれらのdllへの参照を追加して、アプリをコンパイルできるようです。dllを削除して再度追加しようとすると、「'<4.5フレームワークディレクトリ>'への参照を追加できませんでした。万が一、Visual Studio経由で追加できない場合は、簡単に追加できます。 HintPathを手動で追加します。
私のアプリはコンパイルされましたが、AppXのリンクが正しく機能せず、「ペイロードに同じdllを2つ含めることはできません」という不可解なメッセージが表示されるという問題も発生しました。ギリギリで32ビット(リンクしたもの)と64ビットの両方を含めようとしていたように。System.Data.OracleClientやSystem.Transactionsのように手動で触れていなかったDLLが含まれていたため、これは間違いなく、まだ確認していないビルドプロセスからのアーティファクトでした。
私が今扱っている主な問題は、接続文字列がないと正しく初期化されないため、適切な接続文字列を生成する方法です。SQL CEは、ハードコードされたC:\参照を探している可能性が高いため、ApplicationDataサンプルが期待どおりに機能しない可能性があります。Win7でSQLCE4データベースを作成し、Win8に転送して、ローカルでそれらを参照することもできますが、私も同じ船に乗っています。これ| | 選ぶ!
問題が発生した場合は、遠慮なくコメントしてください。リソースをプールしたい場合は、オフラインでのコラボレーションをお勧めします。これは間違いなく獣の厚い森であり、それを一人で行くことははるかに困難であることが証明されています。