用户无法更改类库的app.config?

时间:2016-07-20 13:45:44

标签: .net vb.net winforms permissions appsettings

我的应用程序允许用户在其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

0 个答案:

没有答案