相关疑难解决方法(0)

从.net中的app.config或web.config读取设置

我正在开发一个C#类库,它需要能够从web.configapp.config文件中读取设置(取决于DLL是从ASP.NET Web应用程序还是Windows窗体应用程序引用).

我发现了

ConfigurationSettings.AppSettings.Get("MySetting")
Run Code Online (Sandbox Code Playgroud)

但是该代码已被Microsoft标记为已弃用.

我读过我应该使用的:

ConfigurationManager.AppSettings["MySetting"]
Run Code Online (Sandbox Code Playgroud)

但是,System.Configuration.ConfigurationManager该类似乎不能从C#类库项目中获得.

有谁知道最好的方法是什么?

.net c# configuration appsettings

764
推荐指数
15
解决办法
91万
查看次数

在Windows窗体应用程序中保存应用程序设置的最佳实践

我想要实现的非常简单:我有一个Windows窗体(.NET 3.5)应用程序,它使用一个路径来读取信息.用户可以使用我提供的选项表单修改此路径.

现在,我想将路径值保存到文件中供以后使用.这将是保存到此文件的众多设置之一.该文件将直接位于应用程序文件夹中.

我理解有三种选择:

  • ConfigurationSettings文件(appname.exe.config)
  • 注册处
  • 自定义XML文件

我读到.NET配置文件没有预见到将值保存回来.至于注册表,我想尽可能远离它.

这是否意味着我应该使用自定义XML文件来保存配置设置?如果是这样,我希望看到代码示例(C#).

我已经看过关于这个问题的其他讨论,但我仍然不清楚.

c# xml configuration-files application-settings winforms

561
推荐指数
11
解决办法
43万
查看次数

从app.config文件中读取

我试图使用代码从下面的app.config文件中读取StartingMonthColumn和CategoryHeadingColumn

ConfigurationSettings.AppSettings["StartingMonthColumn"]
Run Code Online (Sandbox Code Playgroud)

但它返回null,ConfigurationSettings.AppSettings.Count也返回零

请帮我在我的Windows应用程序中阅读此内容

<configuration>
    <configSections>
        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="CTARepository.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <userSettings>
        <CTARepository.Properties.Settings>
            <setting name="Setting" serializeAs="String">
                <value />
            </setting>
        </CTARepository.Properties.Settings>
    </userSettings>
    <appSettings>
        <add key="StartingMonthColumn" value="7"/>
        <add key="CategoryHeadingColumn" value="1"/>
    </appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

c#

130
推荐指数
6
解决办法
36万
查看次数

appSettings vs applicationSettings.appSettings已过时?

我有两个关于在web.config中保存设置的方法的问题.

Appsettings:查看web.config

<appSettings>
 <add key="key1" value="value1"/>
 <add key="key2" value="value2"/>
</appSettings>
Run Code Online (Sandbox Code Playgroud)

代码隐藏中的用法:

ConfigurationManager.AppSettings["key1"];
Run Code Online (Sandbox Code Playgroud)

ApplicationSettings/Properties(使用项目中的'properties'选项卡自动生成)
查看web.config

<applicationSettings>
    <Projectname.Properties.Settings>
        <setting name="TestEnvironment" serializeAs="String">
            <value>True</value>
        </setting>
    </Projectname.Properties.Settings>
</applicationSettings>
Run Code Online (Sandbox Code Playgroud)

代码隐藏中的用法:

Properties.Settings.Default.TestEnvironment
Run Code Online (Sandbox Code Playgroud)

那么,web.config中设置的这两种存储可能性有什么区别?
据我所知,appSettings的一个缺点是你自己修改了web.config并且appSettings不是强类型的,就像applicationSettings一样.

两者都可以在Web部署项目中替换.

就我而言,appSettings没有用处.我在这里错过了什么吗?哪个是历史悠久的旧版?

c# asp.net web-deployment-project properties appsettings

53
推荐指数
3
解决办法
4万
查看次数

ConfigurationManager.AppSettings ["SettingName"] vs Properties.Settings.Default.SettingName何时应该使用每个?

当我应该使用configurationManager.AppSettings或visual studio生成的强类型设置时,应该指示什么?在大多数情况下,强类型的似乎更合适,但我认为可以使用ConfigurationManager方法动态地将设置添加到已部署的应用程序,但是在是否有任何指导条件下,每种情况都可以使用?

.net configuration appsettings

20
推荐指数
2
解决办法
1万
查看次数

ApplicationSettings部分和AppSettings部分之间有什么区别?

有人可以向我解释App.Config文件中AppSettings和ApplicationSettings部分之间的区别.为什么有两个不同的部分显然做同样的事情?

c# settings

14
推荐指数
1
解决办法
1万
查看次数

如何在不使用用户设置的情况下在运行时读取/写入app.config设置?

我正在寻找一种方法来存储可以使用应用程序设置在运行时写入的应用程序或机器级别设置.用户设置允许读/写,但应用程序设置不允许.我一直在使用用户设置在运行时保存这样的设置,但由于以下原因,这已被证明是不切实际的:

  • 机器的所有用户都需要共享设置.
  • 在支持呼叫中(特别是在危机情况下),很难向用户/员工解释在何处手动查找和修改这些设置(appdata是隐藏文件夹等).
  • 新版本的应用程序需要使用以前的设置(用户设置似乎被新版本吹走了).
  • 我们的员工通常会将应用程序复制到新文件夹,该文件夹也会重置用户设置.

我们公司的机器仅供一个用户使用,因此通常不需要用户特定的设置.

否则我真的很喜欢使用应用程序设置,并希望尽可能继续使用它们.如果设置可以与EXE位于同一个文件夹中(比如曾经做过的好的'ini文件),那将是理想的选择.

注意:这是一个WPF应用程序,而不是ASP.net Web应用程序,所以没有web.config.

.net wpf app-config appsettings visual-studio

14
推荐指数
2
解决办法
3万
查看次数

如何从加载的App.config文件中检索ApplicationSettings?

是否可以从加载的app.config文件的applicationSettings部分访问值?

我找到了一个示例如何检索appSettings,但我无法通过这种方式找到如何访问applicationSettings.

.net configuration app-config application-settings visual-studio

11
推荐指数
1
解决办法
2万
查看次数