标签: configurationmanager

System.Configuration.ConfigurationErrorsException - 无法识别的元素“设置”

无法识别的元素“设置”。(C:\Dev\DOT.NET\AutoPay\ibeam.config 第 15 行)

AppInfo.Sections.Get("AutoPay.Common.Credentials") 'AppInfo.Sections.Get("AutoPay.Common.Credentials")' 引发了类型为 'System.Configuration.ConfigurationErrorsException' 的异常 System.Configuration.ConfigurationSection {System. Configuration.ConfigurationErrorsException}

我的配置文件

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
<sectionGroup name="AppInfo" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
  <section name="AutoPay.Common.Credentials" 
           type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
               allowExeDefinition="MachineToLocalUser" 
               requirePermission="false" />
    </sectionGroup>
  </configSections>

  <AppInfo>
    <AutoPay.Common.Credentials>
      <setting name="UserName" serializeAs="String"><value>********</value></setting>
      <setting name="Password" serializeAs="String"><value>********</value></setting>
      <setting name="ServiceUrl" serializeAs="String"><value>********</value></setting>
    </AutoPay.Common.Credentials>
  </AppInfo>
</configuration>
Run Code Online (Sandbox Code Playgroud)

基(抽象)类

public abstract class BaseConfigInfo : ConfigurationSectionGroup
{
    protected Configuration Configuration;
    protected ConfigurationSectionGroup AppInfo;
    protected ClientSettingsSection Credentials;

    protected BaseConfigInfo(string configFile)
    {
        var fileMap = new ConfigurationFileMap(configFile); …
Run Code Online (Sandbox Code Playgroud)

c# configurationmanager

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

使用 WebConfigurationManager 从 Web.config 文件中读取 appSettings 部分

我正在使用 C# 和 .NET Framework 4.7 开发 WinForm 应用程序。

我想打开一个 Web.config 文件,读取其 appSetting 部分并修改它。

要打开它,我使用这个:

 System.Configuration.Configuration config = WebConfigurationManager.OpenWebConfiguration(null);
Run Code Online (Sandbox Code Playgroud)

它打开它,但是当我尝试使用以下方法获取密钥时:

string[] keys = config.AppSettings.Settings.AllKeys;
Run Code Online (Sandbox Code Playgroud)

我得到一个空数组。

这是应用程序设置部分:

<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    </sectionGroup>
  </configSections>
  <connectionStrings>

  </connectionStrings>
  <appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" /> …
Run Code Online (Sandbox Code Playgroud)

c# configurationmanager appsettings webconfigurationmanager

3
推荐指数
1
解决办法
4450
查看次数

ansible include_if_exists

如果文件存在,我正在寻找一种有条件地将文件包含在 Ansible 播放中的方法。不幸的是,如果文件不存在,使用“include”会引发致命错误。我正在遍历一堆包并安装它们,我想检查每个包的可选配置文件。请参阅下面的简化示例:

---
- name: Basic setup of an Ubuntu box
  hosts: all
  vars:
    packages:
      - ack-grep
      - vim
      - zsh
      - htop
      - openssh-server
      - cowsay
  tasks:
    - name: Run package configuration
      action: apt name=$item
      include: "packages/${item}.yml"
      with_items: $packages
Run Code Online (Sandbox Code Playgroud)

一旦脚本尝试包含不存在的文件,它就会停止并显示错误。我确定我只是想以错误的方式做某事,但我已经在这工作了几个小时并尝试了我能想到的一切,但没有结果。

file-io yaml configurationmanager include ansible

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

从C#应用程序设置文件返回空

我正在尝试使用以下代码:

 String MainDB = ConfigurationManager.AppSettings["MainDB"];
 MessageBox.Show(MainDB);
 String MailInfo = ConfigurationManager.AppSettings["MailInfo"];
 MessageBox.Show(MailInfo);
 String HousingIndexLocation = ConfigurationManager.AppSettings["HousingIndex"];
 MessageBox.Show(HousingIndexLocation);
Run Code Online (Sandbox Code Playgroud)

访问此屏幕生成的值:

在此处输入图片说明

每次返回的值都为null。

在这些设置的实现中我缺少什么?

c# settings null configurationmanager application-settings

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

Configuration Manager未在app.config中保存

我有这个app.config:

<?xml version="1.0"?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
  <add name="conexx" connectionString="Data Source=192.168.1.2 ;Initial Catalog   =ifdcontroladoria3 ;uid =sa;pwd = admin2012" providerName="System.Data.SqlClient" />
</connectionStrings>
<startup><supportedRuntime version="v4.0"   sku=".NETFramework,Version=v4.0,Profile=Client"/></startup></configuration>
Run Code Online (Sandbox Code Playgroud)

我试图用这个C#更新这个连接字符串:

  coneydstr = @"Data Source=" + comboBox1.Text + ";Initial Catalog =" + cmbBancos.Text + ";uid =" + txtUsuario.Text + ";pwd =" + txtPassword.Text;
        try
         { coneyd.ConnectionString = coneydstr; 
           coneyd.Open(); 
           funciona = true;
           lblStringSalida.Text = coneydstr;
         }
         catch (Exception ex)
        {  MessageBox.Show(coneyd + ex.Message.ToString());  }

        if (funciona)
        { 
          Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
          config.ConnectionStrings.ConnectionStrings["conexx"].ConnectionString = coneydstr;
          config.Save();   
        } …
Run Code Online (Sandbox Code Playgroud)

c# configurationmanager visual-studio-2010

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

SCCM 2012应用程序在客户端软件中心安装"失败"

我们正在使用SCCM 2012,我正在打包我们的所有应用程序并在我去的时候进行测试.有些只有.exe,比.msi更困难.有些没有文档,我正在尝试不同类型的命令行开关来查看哪些有效.

我能够测试这些的唯一方法是创建应用程序,部署类型和部署,然后将其推送到我拥有的测试客户端.

当应用程序下载然后立即失败时,我可以查看哪些日志以获取更多信息?查看SCNotify,Execmgr和Windows\CCM\Logs的客户端日志并未发现太多内容.服务器端日志似乎也没有消除任何额外的光.

我没有做任务序列,所以SMSTS.Log没有多大帮助.

当你认为你有正确的命令行但是应用程序下载到客户端然后失败时,你们在哪里开始排除故障?

谢谢.

logging configurationmanager sccm

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

如何识别丢失的 ConfigurationElement?

使用System.Configuration,如何确定子配置元素是完全丢失还是空的?

测试程序

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

namespace MissingConfigElementTest
{
    class MyConfigurationElement : ConfigurationElement
    {
        [ConfigurationProperty("name")]
        public string Name
        {
            get { return (string)base["name"]; }
        }
    }

    class MyConfigurationSection : ConfigurationSection
    {
        [ConfigurationProperty("empty", DefaultValue = null)]
        public MyConfigurationElement Empty
        {
            get { return (MyConfigurationElement)base["empty"]; }
        }

        [ConfigurationProperty("missing", DefaultValue = null)]
        public MyConfigurationElement Missing
        {
            get { return (MyConfigurationElement)base["missing"]; }
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            var configSection …
Run Code Online (Sandbox Code Playgroud)

.net c# configuration configurationmanager

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

ConfigurationManager.AppSettings做什么?

我目前的理解是它在我的配置文件中调用某些东西并返回数据.我不清楚ConfigurationManager.AppSettings的参数是什么.

我查看了这个文档(https://msdn.microsoft.com/en-us/library/1xtk877y%28v=vs.110%29.aspx),但不太了解它.

对于上下文,这是我正在使用的代码:

    string code1 = ConfigurationManager.AppSettings[string1 + string2];
    string code2 = ConfigurationManager.AppSettings[string3];
    string query = new BuildMDXQuery(cube).BuildFetchInventoryQuery(code1, code2);
Run Code Online (Sandbox Code Playgroud)

我想知道如何在配置文件中找到调用的内容,如果有的话,以及使用ConfigurationManager.AppSettings的目的是什么.谢谢!

c# configurationmanager

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

访问数据和连接字符串?

我正在创建一个WinForms应用程序.我把我的连接字符串放在App.config文件中.然后创建连接字符串变量

string gLwConnStr = ConfigurationManager.ConnectionStrings["LWConnectionString"].ConnectionString;

string sql = "Select * from Users Where LoginName='" + System.Security.Principal.WindowsIdentity.GetCurrent().Name + "'";
string tbl = "User";
DataTable dt = new DataTable(tblName);
SqlDataAdapter da = new SqlDataAdapter(sql, gLwConnStr);            
da.Fill(dt);
Run Code Online (Sandbox Code Playgroud)

这段代码看起来是否正确?我不像其他帖子那样调用任何.open命令,因此我不知道是否必须关闭以及如何关闭它.我也只读数据,而不是写数据所以我不使用上下文.其他帖子建议"使用",但我如何在此代码中使用它?我尝试在块周围使用它返回红线(就像坏语法)

我看到其他帖子使用sqlconnection打开连接然后关闭连接但我不在这里使用它.我怎么关闭它?

我不明白为什么其他人说这篇文章是重复的.如果你认为它是重复的并且答案已经提供,请指出.对不起,我是C#语言的新手,有时候我没有看到小的差异.

能否请您建议代码应该如何?

c# sql configurationmanager connection-string

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

C#从任意位置打开配置文件

在:

使用ConfigurationManager从任意位置加载配置, 我发现了一种解决方案。我正在处理的项目使用网络上的appSettings.config文件位置。但是,当我尝试使用引用的代码时:

 System.Configuration.ConfigurationFileMap fileMap = new ConfigurationFileMap("Z:\Settings\appSettings.config"); //Path to your config file

 System.Configuration.Configuration configuration = System.Configuration.ConfigurationManager.OpenMappedMachineConfiguration(fileMap);
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切都很好。appSettings.config文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="Environment" value="Development" />
  </appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

但是然后我到达以下行:

var settings = configuration.AppSettings.Settings;
Run Code Online (Sandbox Code Playgroud)

或使用它的任何东西(例如Settings.Count),都会收到无效的强制转换异常。基本上,我如何从中获得“环境”的价值?

c# configurationmanager

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