0

私の環境 Windows 8 Pro に Visual Studio 2010 Ultimate と WP 7.1.1 SDK がインストールされています。

SQL CE データベースを使用する WP 7.1.1 アプリケーションがあります。2 つのデータベースがあります。1 つは最初のパッケージに付属しており、もう 1 つは分離ストレージに格納されています。Application_Launching で、コードは両方のデータベースのバージョンを比較し、パッケージのバージョンの方が大きい場合は、Isolated Storage のバージョンを置き換えます。シミュレーターを閉じてアプリを最初に実行すると、アプリは正常に起動し、データベースをコピーしてストレージを分離します。2回目の実行で次のコード:

using (SportsDataContext db = new SportsDataContext(DBConnectionString))
{
  var setting = db.Settings.Where(s => s.SettingID == (Int16)Settings.DatabaseVersion).SingleOrDefault();
  if (setting == null)
    return false;
  newVersion = setting.Value;
}

例外をスローします:

データベース ファイルへのアクセスは許可されていません。[ 1981,ファイル名 = \Applications\Install\{GUID}\Install\{FileName}.sdf,SeCreateFile ]

また、エミュレーターを実行したままにし、アプリをアンインストールして再実行すると、機能します。

更新 最初の実行で機能する理由は、上記のコードが (意図的に) 実行されていないためです。もう一度実行すると、上記のコードが実行されて爆撃されます。

これは、以前は Windows 7 で VS 2012 を使用せずに正常に動作していました。問題の原因は何ですか?

更新新しい Windows 8 セットアップで変更を加える前に、すべての変更を元に戻しましたが、期待どおりに動作します。サーバー エクスプローラーを使用して VS 2010 で sdf ファイルを開いて変更するとすぐに、アプリのデバッグ時に同じ問題が発生します。変!

4

1 に答える 1

0

現在、Mango は 3.5 CE をサポートしています。ここから SQL CE 3.5 をインストールしてください。http://www.microsoft.com/en-us/download/details.aspx?id= 12264

于 2012-09-22T10:29:13.317 に答える