Visual Studio某些项目类型不能使用ConfigurationManager读取app.config文件的解决办法
2016-11-18 17:36
741 查看
在做C#开发的时候经常使用app.config或者web.config,将一些简单的配置信息存在config文件里面,然后使用ConfigurationManager来读取很方便,但是最近在开发load test的时候发现这个方法不灵了,检查引用发现System.configuration还在,config文件也没有问题。
最后Google了一下才发现,原来是项目类型的问题,简单来说就是Load Test类型的文件或者"Web Performance and Load Test Project"类型的项目不支持读取config文件。
下面直接上代码:
/// <summary>
/// 从app.config取得一个key。
/// </summary>
/// <param name="key">参数名。</param>
/// <returns>参数值。</returns>
public static string GetAppSetting(string key)
{
if (ConfigurationManager.AppSettings[key] != null)
{
return ConfigurationManager.AppSettings[key];
}
else
{
throw new AdventException("Unknown setting: " + key);
}
}
/// <summary>
/// Get configuration for web and load test project.
/// </summary>
/// <returns>The configuration.</returns>
private static Configuration GetConfiguration()
{
string configFileName = string.Empty;
try
{
ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap();
var path = "App.config的路径";
configFileMap.ExeConfigFilename = path;
Configuration configObj = ConfigurationManager.OpenMappedExeConfiguration(configFileMap, ConfigurationUserLevel.None);
return configObj;
}
catch (Exception ex)
{
throw ex;
}
}
最后Google了一下才发现,原来是项目类型的问题,简单来说就是Load Test类型的文件或者"Web Performance and Load Test Project"类型的项目不支持读取config文件。
下面直接上代码:
/// <summary>
/// 从app.config取得一个key。
/// </summary>
/// <param name="key">参数名。</param>
/// <returns>参数值。</returns>
public static string GetAppSetting(string key)
{
if (ConfigurationManager.AppSettings[key] != null)
{
return ConfigurationManager.AppSettings[key];
}
else
{
throw new AdventException("Unknown setting: " + key);
}
}
/// <summary>
/// Get configuration for web and load test project.
/// </summary>
/// <returns>The configuration.</returns>
private static Configuration GetConfiguration()
{
string configFileName = string.Empty;
try
{
ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap();
var path = "App.config的路径";
configFileMap.ExeConfigFilename = path;
Configuration configObj = ConfigurationManager.OpenMappedExeConfiguration(configFileMap, ConfigurationUserLevel.None);
return configObj;
}
catch (Exception ex)
{
throw ex;
}
}
相关文章推荐
- “使用了CFileDialog后就不能使用GetPrivateProfileString来读取配置文件”的解决办法
- [C#] .NET Core项目修改project.json来引用其他目录下的源码等文件的办法 & 解决多框架时 project.json 与 app.config冲突的问题
- IDEA 使用Gradle构建项目后没有src文件,自己新建后不能创建Java文件的解决办法
- OSX Cocoa app使用fopen读取本地文件提示没有权限的解决办法
- 在使用 ADO.NET 导出 Excel 文件时,设置 IMEX=1 仍不能导出所有数据的解决办法
- Visual Studio 2005项目及项(文件)模板丢失的解决办法及补充
- readnodefile()不能读取带有文件名为汉字的osg文件解决办法
- C#项目中读取并修改App.config文件
- App.Config文件中包含中文程序出错的解决办法
- 【转载】2009年12月16日 多个项目共享一个app.config 的解决办法
- 在使用 ADO.NET 导出 Excel 文件时,设置 IMEX=1 仍不能导出所有数据的解决办法
- App.Config文件中包含中文汉字程序出错的解决办法
- Myeclipse6.5+weblogic8.1老是配置文件出现,sax解析错误,不能解析web-app的解决办法
- Visual Studio 2010 起始页中 不显示最近使用的项目问题,解决办法。
- 解决Java读取properties文件的中文问题的新办法(不使用native2ascii.exe及其他工具)
- Visual Studio 2008 Beta2 起始页中 不显示(Recent Projects)最近使用的项目问题,解决办法。
- Visual Studio 2008不能创建数据库连接出现:未能加载文件或程序集“Microsoft.SqlServer.Management.Sdk.Sfc, Version=10.0.0.0, Culture=neutral,PublicKeyToken=89845dcd8080cc91”或它的一个依赖项。系统找不到指定的文件的解决办法
- 项目中命名为banner,ads等目录下的文件不能给客户端访问的解决办法
- 关于“打开项目**时发生问题,尝试退出并重新启动应用程序。如果问题仍然存在,则可能是由于正在使用不支持的项目版本,或者项目文件可能损坏”的问题的解决办法。
- 解决Java读取properties文件的中文问题的新办法(不使用native2ascii.exe及其他工具)