我进行了很多搜索,但仍然找不到可靠的解决方案。假设您的应用程序中有方法。此方法使用“System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration”来访问 web.config 中的某些设置。如果您尝试测试这些方法,您的测试将失败,因为您的测试项目没有 web.config。
解决此问题的最佳方法是什么。对于配置文件简单的项目,我通常使用这样的方法作为外观方法。
public class Config
{
public static String getKeyValue(String keyName)
{
if (keyName == String.Empty) return String.Empty;
String result = "";
System.Configuration.Configuration rootWebConfig1 =
System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(null);
if (rootWebConfig1.AppSettings.Settings.Count > 0)
{
System.Configuration.KeyValueConfigurationElement reportEngineKey =
rootWebConfig1.AppSettings.Settings[keyName];
if (reportEngineKey != null)
{
result = reportEngineKey.Value;
}
}
return result;
}
}
每次我尝试为 OpenWebConfiguration() 设置路径时,都会收到错误消息“不允许使用相对虚拟路径”