相关疑难解决方法(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万
查看次数

"ConfigurationManager"名称在当前上下文中不存在

我试图connectionStrings从配置文件中访问.代码是ASP.NET + C#.我已添加System.Configuration参考,并提到使用.但它仍然不接受集会.

我正在使用VSTS 2008.任何想法可能是什么原因?

另一个奇怪的事情是显示为"System.configuration"的程序集名称,一个小写的c,而不是其他系统程序集的名称显示方式.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;

namespace Utility
{
    public class CommonVariables
    {
        public static String ConnectionString
        {
            get { return ConfigurationManager.ConnectionStrings["EmployeeEntities"].ConnectionString; }
        }  
    }  
}
Run Code Online (Sandbox Code Playgroud)

配置:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="qbankEntities" connectionString="metadata=res://*/qbankModel.csdl|res://*/qbankModel.ssdl|res://*/qbankModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=localhost;Initial Catalog=qbank;Persist Security Info=True;User ID=**;Password=****;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

.net c# visual-studio-2008 visual-studio

444
推荐指数
10
解决办法
49万
查看次数

AppSettings与applicationSettings的优缺点(.NET app.config/Web.config)

在开发.NET Windows窗体应用程序时,我们可以在这些App.config标记之间进行选择以存储配置值.哪一个更好?

<configuration>

  <!-- Choice 1 -->
  <appSettings>
    <add key="RequestTimeoutInMilliseconds" value="10000"/>
  </appSettings>

  <!-- Choice 2 -->
  <configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c5612342342" >
        <section name="Project1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c5612342342" requirePermission="false" />
    </sectionGroup>
  </configSections>
  <applicationSettings>
    <Project1.Properties.Settings>
      <setting name="TABLEA" serializeAs="String">
        <value>TABLEA</value>
      </setting>
    </Project1.Properties.Settings>
  </applicationSettings>

</configuration>
Run Code Online (Sandbox Code Playgroud)

.net app-config web-config

160
推荐指数
5
解决办法
9万
查看次数

如何使用ConfigurationManager

我想使用App.config存储一些设置.我尝试使用下一个代码从配置文件中获取参数.

private string GetSettingValue(string paramName)
{
    return String.Format(ConfigurationManager.AppSettings[paramName]);
}
Run Code Online (Sandbox Code Playgroud)

我也System.Configuration为它添加了(我使用了一个单独的类),在App.config文件中我有:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <appSettings>
    <add key ="key1" value ="Sample" />
  </appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

但是我在尝试使用时遇到了错误ConfigurationManager- ConfigurationManager can't exist in such context但是我已经添加了System.Configuration.还是我错过了什么?

编辑:

带配置的类(完整视图)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Configuration;

namespace browser
{
    class ConfigFile
    {
        private string GetSettingValue(string paramName)
        {
            return String.Format(ConfigurationManager.AppSettings[paramName]);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

EDIT2

添加它的外观

在此输入图像描述

这意味着问题不是在使用过程中,ConfigurationManger而是在使用之前 …

.net c# configuration config winforms

38
推荐指数
2
解决办法
13万
查看次数

如何从程序集配置文件中检索AppSettings?

我想从名为MyAssembly.dll.config的程序集配置文件中检索AppSetting项.这是配置文件的示例:

<configuration>
    <appSettings>
        <add key="MyKey" value="MyVal"/>
    </appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

这是检索它的代码:

var myKey = ConfigurationManager.AppSettings["MyKey"];
Run Code Online (Sandbox Code Playgroud)

.net c# app-config

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

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

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

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

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

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

如何阅读appSettings键

根据http://blog.jsinh.in/asp-net-5-configuration-microsoft-framework-configurationmodel/,事情发生了变化.但是,我无法从该文档中了解如何读取appSettings密钥.虽然有一个从ini文件读取的例子.

如何避免使用旧的System.Configuration.ConfigurationManager来读取AppSettingsweb.config中的键值?

c# asp.net-core-mvc asp.net-core

7
推荐指数
2
解决办法
2247
查看次数