我正在为Windows Phone在VS2010中编写Silverlight Pivot应用程序。我刚刚添加了msdnhere中的示例代码。现在每当我重新加载设计器时,就会出现一个异常:
无法确定调用方的应用程序标识。
在system.io.isolatedstorage.isolatedstorage.initstore(isolatedstorage scope scope,appevidencetype类型)
在system.io.isolatedstorage.isolatedstoragefile.getstore(isolatedstorage scope scope,类型applicationevidencetype)
在system.io.isolatedstorage.isolatedstoragesettings.get_applicationsettings()
在C:..\settings.cs:第34行中设置sample.appsettings..ctor()
这是visual studio/windows phone sdk中的一个bug吗?
这是第34行构造函数中的代码:
public AppSettings()
{
// Get the settings for this application.
try
{
settings = IsolatedStorageSettings.ApplicationSettings;
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message);
}
}
我添加了尝试捕捉,看看发生了什么。
我怀疑visual studio(调用方)试图运行代码,但没有关联应用程序(应用程序标识),因此失败。也许吧?
有什么想法吗?
最佳答案
由于在visual studio或expression blend中访问isolatedstoragesettings是无效的,因此需要对该代码添加一个DesignerProperties.IsInDesignTool检查。
if (!System.ComponentModel.DesignerProperties.IsInDesignTool)
{
settings = IsolatedStorageSettings.ApplicationSettings;
}