WP 7.1.1不允许访问数据库文件

时间:2012-09-17 17:12:02

标签: silverlight windows-phone-7 sql-server-ce windows-phone-7.1.1

我的环境Windows 8 Pro,安装了WP 7.1.1 SDK的Visual Studio 2010 Ultimate。

我有一个带有SQL CE数据库的WP 7.1.1应用程序。有2个数据库,一个与初始包一起提供,另一个存储在Isolated Storage中。在Application_Launching上,代码比较两个数据库的版本,如果包中的数据库更大,则替换隔离存储中的数据库。 在模拟器关闭的第一次运行应用程序时,应用程序启动正常并复制数据库以隔离存储。第二次运行以下代码:

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]

此外,让模拟器保持运行并卸载应用程序并重新运行它可以使其正常工作。

UPDATE 它在第一次运行时工作的原因是因为上面的代码没有被执行(故意)。再次运行它会使上面的代码运行并炸弹。

以前在Windows 7和没有VS 2012之前工作正常。可能导致问题的原因是什么?

UPDATE 在使用我的新Windows 8设置进行任何更改之前,我还原了所有更改,并且它按预期工作。一旦我使用服务器资源管理器打开VS 2010的sdf文件并修改它,我在调试应用程序时遇到同样的问题。怪异!

0 个答案:

没有答案