Winforms 运行时访问app.config异常

Winforms 运行时访问app.config异常,winforms,entity-framework,connection-string,app-config,Winforms,Entity Framework,Connection String,App Config,我正在处理一个用C编写的.NET windows窗体应用程序,使用实体框架进行数据库连接。连接字符串写入app.config中。关键是我修改应用程序是为了在两个不同的数据库之间切换:SQLServerExpress2008和SQLCompact4。如果应用程序无法连接到SQL server,它会修改app.config连接字符串部分以解析名称,以便连接到本地数据库SQL compact 4。问题是,在某些计算机中,is操作触发了一个异常:对路径的访问被拒绝,其中路径就是安装应用程序的路径。我怎样

我正在处理一个用C编写的.NET windows窗体应用程序,使用实体框架进行数据库连接。连接字符串写入app.config中。关键是我修改应用程序是为了在两个不同的数据库之间切换:SQLServerExpress2008和SQLCompact4。如果应用程序无法连接到SQL server,它会修改app.config连接字符串部分以解析名称,以便连接到本地数据库SQL compact 4。问题是,在某些计算机中,is操作触发了一个异常:对路径的访问被拒绝,其中路径就是安装应用程序的路径。我怎样才能克服这个问题呢

用户模式应用程序不应尝试在用户配置文件之外的任何位置写入磁盘。这意味着c:\Program文件中的任何内容都应该禁止该程序使用,除非它是一个管理程序,因此需要在Win7/Vista中升级

用户以管理员身份运行的Windows XP系统可能工作正常;但是Vista/7系统可能会遇到异常,甚至会无声地失败编辑。由于被重定向到app.config的用户特定副本,而不是真实副本

相反,您应该将各种连接字符串存储在app.config中,并提供一种方式供用户在应用程序中从中进行选择。您可以使用用户设置保存上次使用的字符串