标签: configurationmanager

带有简单注入器的 Legacy .NET 应用程序中的选项模式、配置

这篇文章https://medium.com/@dmitryzaets/legacy-net-applications-configuration-management-net-framework-4-5-1-68220335d9d8描述了如何将选项模式与 Autofac 一起使用。我试图将其翻译为与 Simple Injector 一起使用。但我没有运气。这是我的国际奥委会代码

public class IocBootstrap2
{
    private Container Container { get; }
    public IocBootstrap2()
    {
        Container = new Container();
        var configurationBuilder = new ConfigurationBuilder()
            .SetBasePath(Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Configuration"))
            .AddJsonFile("settings.json", optional: false, reloadOnChange: true);
        var configuration = configurationBuilder.Build();
        //Register Options
        Container.Register(typeof(IOptions<>), typeof(OptionsManager<>));
        Container.Register(typeof(IOptionsMonitor<>), typeof(OptionsMonitor<>));
        Container.Register(typeof(IOptionsFactory<>), typeof(OptionsFactory<>));
        Container.Register(typeof(IOptionsMonitorCache<>), typeof(OptionsCache<>));
        // Register ConfigurationOptions
        Container.RegisterConfigurationOptions2<MailingOptions>(configuration.GetSection("mailing"));

    #if DEBUG
        Container.Verify();
    #endif   
 }
}

public static class ConfigurationSetupExtensions2
{
    public static void RegisterConfigurationOptions2<TOptions>(this Container container, IConfiguration config)
        where TOptions : class
    {
        container.Register(typeof(IOptionsChangeTokenSource<TOptions>), …
Run Code Online (Sandbox Code Playgroud)

configuration configurationmanager legacy-code simple-injector .net-core-configuration

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

将WinForms(C#)APP设置迁移到.config文件

我想将我当前使用的设置文件迁移到appconfig文件.目前我正在尝试复制它,但到目前为止,我甚至无法使用Config'Manager对文件进行写入.

我需要做的是首先创建文件,然后写入它,最后它已经存在,更新它!看起来很简单,但到目前为止,它在每一个转折点都是我.到目前为止我提到的所有材料都存在.甚至MS MCTS参考书也有一个配置文件已经为例子做了.

是否有编程方式创建它,然后写入应用程序的默认bin文件夹,假设您有足够的权限.

这些例子让这看起来很简单,但是当你看到有问题的文件上的时间戳时...... 抓住他的头......帽子掉了!

我的意思是他们是不同类型的配置文件?我知道web.config和app.config但人们真的偏离了这个简单的命名模板???

谢谢你的回复.Ibrar

c# configurationmanager winforms

0
推荐指数
1
解决办法
3404
查看次数

尝试使用App.config文件时"此方法已过时"警告

这是我的方法:

public IList<Member> FindAllMembers()
{
    using (WebClient webClient = new WebClient())
    {
        string htmlSource = webClient.DownloadString(ConfigurationSettings.AppSettings["MemberUrl"]);
    }

    XDocument response = XDocument.Parse(htmlSource);
}
Run Code Online (Sandbox Code Playgroud)

它建议我使用新的ConfigurationManager.AppSettings,但我无法在intellisense的任何地方找到它.我确定我正在导入正确的命名空间.我还需要引用一些东西吗?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Xml.Linq;
using SharpDIC.Api.Interfaces;
using SharpDIC.Api.Models;
using System.Configuration;

namespace SharpDIC.Api.Concrete
{
    class XmlMemberFinder : IMemberFinder
    {
        public IList<Member> FindAllMembers()
        {
            using (WebClient webClient = new WebClient())
            {
                string htmlSource = webClient.DownloadString(ConfigurationSettings.AppSettings["MemberUrl"]);
            }

            XDocument response = XDocument.Parse(htmlSource);
        }
Run Code Online (Sandbox Code Playgroud)

c# configurationmanager

0
推荐指数
1
解决办法
1597
查看次数

Configuration Manager没有Intellisense

ConfigurationManager 没有在intellisense中显示...有人可以帮忙吗?

.net configurationmanager visual-studio

0
推荐指数
1
解决办法
262
查看次数

将app.config文件放在具有多个项目的解决方案中的位置 - 错误

我有一个问题.我已经制定了解决方案,它是3层应用程序.所以我有3个项目是类库,一个是windows表单应用程序,它将使用我启动所有这些并将它们连接在一起.问题是我有数据层app.config文件.如果我把它放在那个dll中那么我就读不懂了.如果我把它放在主程序(Windows窗体应用程序)中,我仍然无法读取它.

所以我的问题是放置app.config文件的位置,以便我能正常阅读?我正在从DLL中读取它.它必须是这样的,因为它是3.tier应用程序,所有层都是自己的.所以一个是数据层,商务逻辑和表示层.

请帮忙.

编辑:

好的,我会传递一些代码:

所以我从数据层app.config文件中读取如下:

SqlConnection konekcija = new SqlConnection(ConfigurationManager.AppSettings["skripta"]);
Run Code Online (Sandbox Code Playgroud)

该类库项目中的app.config文件是:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>
  <appSettings>
    <add key="skripta"
           value="Data Source=DENONTH-PC;Initial Catalog=rups;Integrated Security=True;Pooling=False" />
  </appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我在该类librabry和Windows窗体项目中有app.config,但仍然没有正确引用它.

c# dll configurationmanager

0
推荐指数
1
解决办法
5585
查看次数

.NET控制台应用程序无法读取config.json

在构建一个使用新ConfigurationBuilder实现的.net控制台应用程序时appSettings,我遇到了一个问题.

我有以下代码:

public static void Main(string[] args)
{
    try
    {
        var builder = new ConfigurationBuilder().AddJsonFile("config.json");
        var config = builder.Build();

        if (config["Azure"] != null)
        {
            ;
        }
    }
    catch (System.IO.FileNotFoundException exception)
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

config.json文件位于同一目录中,如下所示:

{
  "Azure": {
    "Storage": {
      "ConnectionString": "...",
      "ContainerName": "..."
    }
  },
  "Data": {
    "DefaultConnection": {
      "ConnectionString": "..."
    }
  },
  "Logging": {
    "RecordProgress": "..."
  }
}
Run Code Online (Sandbox Code Playgroud)

但该config对象不包含任何键.

我在某处读到,如果AddJsonFile找不到传递给的文件路径,那么它会抛出一个FileNotFoundException但是在我的代码中,异常永远不会被抛出.

假设可以找到config.json文件,为什么没有加载设置?

.net c# configuration json configurationmanager

0
推荐指数
1
解决办法
1389
查看次数