我的应用程序允许用户在其app.config文件中更改用户范围的设置,这在使用调试器通过Visual Studio运行时可以正常工作。但是,在部署到用户的计算机时,应用程序在启动时失败,并出现以下错误:
System.Configuration.dll中发生'System.Configuration.ConfigurationErrorsException'
其他信息:加载配置文件时出错:访问路径'C:\ Program Files(x86)[organization] [app name] \ p12qep40.tmp'被拒绝。
该应用程序分为2个项目,一个winforms应用程序和一个类库。由于winforms应用程序的app.config在安装文件夹中显示为[appname].exe.config
,我假设.tmp文件是类库的app.config的运行时生成版本。显然,用户没有Program Files文件夹的写入权限(这是正确的),所以如何使用它以便用户可以编辑类库的设置(尤其是用户范围的设置)?
编辑:这是用于写回设置的代码。 ActiveConnString的范围是用户设置,允许用户访问sandpit数据库或生产。
Public Shared Property ActiveConnStringName() As String
Get
If String.IsNullOrEmpty(My.Settings.ActiveConnString) Then
My.Settings.ActiveConnString = "ProductionConnString"
End If
Return My.Settings.ActiveConnString
End Get
Set(ByVal value As String)
My.Settings.ActiveConnString = value
My.Settings.Save()
End Set
End Property