cho*_*dze 5 c# app-config comvisible .net-4.0
ComVisibleregasm /codebase "assembly_path"MyAssemblyName.dll.config)在程序集的文件夹中ConfigurationManager.AppSettings["SettingName"]CreateObject("...")ConfigurationManager.AppSettings["SettingName"]返回null.它看起来像程序集没有看到配置文件.我应该怎么做才能使它可行?
正如Komyg所说,一种可能的方法是直接读取配置文件,而不是使用ConfigurationManager的嵌入式行为。对于那些将有相同问题的人:
ConfigurationManager.AppSettings["SettingName"]
Run Code Online (Sandbox Code Playgroud)
您可以使用:
var _setting = ConfigurationManager.AppSettings["SettingName"];
// If we didn't find setting, try to load it from current dll's config file
if (string.IsNullOrEmpty(_setting))
{
var filename = Assembly.GetExecutingAssembly().Location;
var configuration = ConfigurationManager.OpenExeConfiguration(filename);
if (configuration != null)
_setting = configuration.AppSettings.Settings["SettingName"].Value;
}
Run Code Online (Sandbox Code Playgroud)
这样,您将始终使用YourAssemblyName.dll.config程序集文件夹中文件的读取设置。它将允许您还使用其他功能app.config(例如appSetting的file属性),如果您将使用XPath或类似功能,则这些功能将不可用。
| 归档时间: |
|
| 查看次数: |
3560 次 |
| 最近记录: |