引用xxx.dll.config 读取不到的问题 每个项目都单独有一个config文件,demo.dll.config你考过去也是没有用的,不会用到它,你应该看它的配置参数是否设置对了? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你要把dll.config的内容考到 你的应用程序App.Config中去,再编译一下就可以了。程序只认App.Config的。 LS ,按照我的理解, 引用的时候demo.dll.config应该自己跟过去, 但是它不跟过去呢..引用一个DLL. dll.config 不过去,那岂不是有缺陷呢? LS ,按照我的理解, 引用的时候demo.dll.config应该自己跟过去, 但是它不跟过去呢..引用一个DLL. dll.config 不过去,那岂不是有缺陷呢?不是缺陷。是你没理解config的意思,config只会被EXE的同名调用。不会被dll的同名调用。 设置app.config的属性,“生成操作”要选择“编译” LS ,按照我的理解, 引用的时候demo.dll.config应该自己跟过去, 但是它不跟过去呢..引用一个DLL. dll.config 不过去,那岂不是有缺陷呢?不是缺陷。是你没理解config的意思,config只会被EXE的同名调用。不会被dll的同名调用。好像这个样子的 可以用ConfigurationManager.OpenExeConfiguration来打开dll的配置文件(xxx.dll.config)。假设xxx.dll.config的内容如下:<?xml version="1.0" encoding="utf-8" ?><configuration> <appSettings> <add key="hello" value="nihao" /> <add key="byebye" value="88" /> </appSettings></configuration>那么,dll就可以这样来获得appSettings(其中GetExecutingAssembly得到的就是当前的dll,即xxx.dll):public class Class1{ public static string SayHello() { return AppSettings.Current["hello"] + AppSettings.Current["byebye"]; }}public class AppSettings{ public AppSettings(string assemblyPath) { configuration = ConfigurationManager.OpenExeConfiguration(assemblyPath); } public static readonly AppSettings Current = new AppSettings(System.Reflection.Assembly.GetExecutingAssembly().Location); private Configuration configuration; public string this[string key] { get { var keyValue = configuration.AppSettings.Settings[key]; return keyValue == null ? null : keyValue.Value; } }} .config是应用程序配置文件,也就是exe,如果编译成dll就是属于类库,所以不好用,如果你是在Settings.settings中设置的配置文件,你可以把范围改成“用户”,这样你在别的程序中引用dll就可以用配置文件,只是配置文件是用户级的,位置在c盘下叫做user.config EXE对应的一个配置文件而已,编译成dll别的项目又不会去访问该config文件的!除非exe文件都是设置的访问文件名称也是当前这个config名称 可以直接在主程序里面调用config.再把文件传到dll里面 C#窗体程序如何隐藏主窗体? 【oj每周推荐】(算法)各位乘积 如何更好的利用session 超头痛的问题(如何获取托管类型变量的地址) 泛型集合 在vs2005中怎么在DataList中绑定超链接啊 ? 怎样区分普通光驱与刻录机?急~~~在线等!!! 大家喝酒 c# winform怎么知道查询已经执行完毕? 用asp.net开发一个网上商店系统的解决方案,提供原码 求助,不好写标题,不好意思 有人知道光驱cdrom的atapi属性怎么读啊?
你要把dll.config的内容考到 你的应用程序App.Config中去,再编译一下就可以了。程序只认App.Config的。
不是缺陷。是你没理解config的意思,config只会被EXE的同名调用。不会被dll的同名调用。
好像这个样子的
假设xxx.dll.config的内容如下:<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="hello" value="nihao" />
<add key="byebye" value="88" />
</appSettings>
</configuration>那么,dll就可以这样来获得appSettings(其中GetExecutingAssembly得到的就是当前的dll,即xxx.dll):public class Class1
{
public static string SayHello()
{
return AppSettings.Current["hello"] + AppSettings.Current["byebye"];
}
}public class AppSettings
{
public AppSettings(string assemblyPath)
{
configuration = ConfigurationManager.OpenExeConfiguration(assemblyPath);
}
public static readonly AppSettings Current = new AppSettings(System.Reflection.Assembly.GetExecutingAssembly().Location);
private Configuration configuration; public string this[string key]
{
get
{
var keyValue = configuration.AppSettings.Settings[key];
return keyValue == null ? null : keyValue.Value;
}
}
}
除非exe文件都是设置的访问文件名称也是当前这个config名称