Tag: app config

winform中的C#app.config

我通常使用文本文件作为配置。 但这次我想利用app.config将文件名(键)与名称(值)相关联,并在combobox中使名称可用 这会有用吗? 如何检索数据?

由于其保护级别,ConfigurationProperty无法访问

我想在程序中读/写(并保存)应用程序的配置文件 app.config是这样的: … 当我使用ConfigurationManager.GetSection读取app.config时,它可以工作: var adwords_section = (System.Collections.Hashtable) System.Configuration.ConfigurationManager.GetSection(“AdWordsApi”); Console.WriteLine((string)adwords_section[“LogPath”]); 但是当我使用ConfigurationManager.OpenExeConfiguration时 : Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal); ConfigurationSection section = config.GetSection(“AdWordsApi”); Console.WriteLine(section[“LogPath”]); 我总是得到这个错误: 由于其保护级别,’System.Configuration.ConfigurationElement.this [System.Configuration.ConfigurationProperty]’无法访问 但据我所知, GetSection无法在程序运行时保存配置,就像我在开头说的那样:我想在程序运行时保存配置,所以我必须使用OpenExeConfiguration 。 我已经google了很长时间,我发现使用AppSettings,但我使用的是自定义部分.. 任何人都可以解释为什么会出现“ConfigurationProperty无法访问”错误? 谢谢 编辑: 我已将System和System.Configuration的 copy local设置为true

“无法找到名称为…的端点元素”

很抱歉这个问题很长…我花了两天时间调试并且有很多笔记…… 我有一个WCF数据服务和另一个尝试通过TCP和/或HTTP作为客户端连接到它的进程。 我有一个非常简单的测试客户端应用程序似乎连接正常,但更复杂的生产应用程序无法连接(TCP或HTTP)。 在两个客户端项目中,我让Visual Studio 2008使用“添加服务引用”生成app.config,并让它从数据服务中提取元数据。 以下是适用于简单测试客户端的代码: using Client.MyDataService; namespace Client { class Program { static void Main(string[] args) { MyDataServiceClient client = new MyDataServiceClient(“net.tcp”); client.GetRecords(); } } } 以下是更复杂的生产客户端的代码: DataServiceManager.cs: using MyServer.MyDataService; namespace MyServer.DataServiceBridge { class DataServiceManager { MyDataServiceClient dataServiceClient = new MyDataServiceClient(“net.tcp”); } } 在主要过程中: DataServiceManager d = new DataServiceManager(); 这是简单客户端和生产客户端的app.config文件: 在MyServer的bin \ […]

包括类库中的服务引用

我有一个C#类库和一个启动项目(一个控制台应用程序)。 类库包括对Web服务的服务引用。 当我尝试运行项目时,我得到一个InvalidOperationException,因为启动项目没有读取类库的app.config,而忽略了服务引用。 为了使它工作,我被迫为启动项目添加相同的服务引用。 有什么方法可以避免这种情况吗? 我是否可以让启动项目识别类库的服务引用和app.config而无需将其复制到启动项目? 我已经尝试从类库中添加app.config的链接,但这不起作用。 如果需要使用它的任何人将该服务引用添加到启动项目,那么类库不是非常便携。

从外部配置文件中读取连接字符串

我创建了一个控制台应用程序和一个app.config文件以及Connections.config文件。 app.config文件有一个指向Connections.config的connectionstring属性源 当我尝试读取应用程序中的连接字符串时,我得到一个ConfigurationErrorException 这是我的主要方法。 static void Main(string[] args) { var settings = ConfigurationManager.ConnectionStrings; if (settings != null) { foreach (ConnectionStringSettings setting in settings) { Console.WriteLine(setting.ConnectionString); } } } App.config文件 Connections.config文件 我在这里观察了两件事。 第一:如果我指定configSource,我无法读取连接字符串(抛出exception。) 第二:如果我在App.config文件中放入相同的连接字符串并尝试读取然后代码正在工作但获得两个连接字符串(应该只返回一个空字符串)第一个连接字符串是sqlexpress连接字符串,如下所示 data source=.\SQLEXPRESS;Integrated Security=SSPI; AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true 它返回的第二个连接字符串是空字符串(这是预期的)。 我想从我的场景中读取外部文件中的连接字符串。 怎么做? 我在这里想念的是什么?

加载Properties.Settings在运行时从不同的文件

有没有办法在运行时从默认App.config文件以外的其他文件加载设置? 我想在加载默认配置文件后执行此操作。 我使用Visual Studio中的Settings.Settings GUI为我创建我的App.config文件。 配置文件最终看起来像这样: 1234 在代码中,我可以访问如下设置: Console.WriteLine(“Default setting value: ” + Properties.Settings.Default.SettingSomething); 我的想法是,在运行应用程序时,我应该能够在运行时指定配置文件,并让应用程序将配置文件加载到Properties.Settings.Default对象中,而不是使用默认的app.config文件。 配置文件的格式相同,但设置的值会有所不同。 我知道使用ConfigurationManager.OpenExeConfiguration(configFile);执行此操作的方法ConfigurationManager.OpenExeConfiguration(configFile); 。 但是,在我运行的测试中,它不会更新Properties.Settings.Default对象以反映配置文件中的新值。 在考虑了这个问题之后,我已经能够提出一个我更喜欢的解决方案。 我确信它有一些陷阱,但我认为这对我需要做的事情有用。 本质上, Properties.Settings类由Visual Studio自动生成; 它为您生成类的代码。 我能够找到代码生成的位置,并添加一些函数调用来自行加载配置文件。 这是我的补充: internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { //Parses a config file and loads its settings public void Load(string filename) { System.Xml.Linq.XElement xml = null; try { string […]

app.config单个键的多个值

是否有可能像这样的app.config文件: … 我的意思是,我想在配置文件中有一个键,它返回一个值列表。如何做? 认为这很容易,但我找不到任何例子 UPD:也许我应该用分号分隔多个值,然后将它们分开?..但我认为这不是一个好主意……

ConfigurationManager.AppSettings使用另一个配置文件

我class上有大约10种方法。 在每个方法中,我使用ConfigurationManager.AppSettings从App.config文件中获取值 喜欢 _applicationPort = int.Parse(ConfigurationManager.AppSettings[“ApplicationPort”] 我的问题是我想让这个代码从另一个app.config文件中获取AppSettings,如AnotherPoject.exe.config。

自定义配置部分包含集合

我无法让自定义配置部分工作。 这是我从网上获得的一些代码,试图更好地理解这个区域,让我能够到达我想要的最终位置,我自己的自定义配置部分。 我在控制台应用程序中运行代码时得到的错误是“ 无法识别的属性”扩展名。 请注意,属性名称区分大小写。 “ 主要应用程序中的代码是为了让事情顺利进行 var conf = ConfigurationManager.GetSection(“uploadDirector”); 这就是exception出现的地方。 这是我希望/试图实现的配置部分 这是我从网上获得的代码 .config文件 UploadDirectorConfigSection.cs public class UploadDirectorConfigSection : ConfigurationSection { private string _rootPath; public UploadDirectorConfigSection() { } [ConfigurationProperty(“rootpath”, DefaultValue=”/”, IsRequired=false, IsKey=false)] [StringValidator(InvalidCharacters=@”~!.@#$%^&*()[]{};’\|\\”)] public string RootPath { get { return _rootPath; } set { _rootPath = value; } } [ConfigurationProperty(“”, IsRequired = true, IsKey […]

C#如何在app.config文件中指定appData文件路径

我正在使用log4net,我将日志文件保存在AppData文件中,用于win XP / Vista等。 这是我的app.config文件到目前为止,我已经指定了名称softphone.log。 Hoewver,我不知道如何指定文件的完整路径,因为每个用户将根据其用户名使用不同的路径。 在我的源代码中,我可以通过执行以下操作获取路径: System.Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) 但是,我不能在我的app.config中使用上面的内容,如果我在我的系统上硬编码路径,路径将是: C:\Documents and Settings\John\Application Data 但是,这对每个客户来说都是不同的。 那么有没有办法为app.config文件执行此操作? 非常感谢任何建议,