每个项目都单独有一个config文件,demo.dll.config你考过去也是没有用的,不会用到它,你应该看它的配置参数是否设置对了?

解决方案 »

  1.   


    你要把dll.config的内容考到 你的应用程序App.Config中去,再编译一下就可以了。程序只认App.Config的。
      

  2.   

    LS ,按照我的理解, 引用的时候demo.dll.config应该自己跟过去, 但是它不跟过去呢..引用一个DLL. dll.config 不过去,那岂不是有缺陷呢?
      

  3.   

    LS ,按照我的理解, 引用的时候demo.dll.config应该自己跟过去, 但是它不跟过去呢..引用一个DLL. dll.config 不过去,那岂不是有缺陷呢?不是缺陷。是你没理解config的意思,config只会被EXE的同名调用。不会被dll的同名调用。
      

  4.   

    设置app.config的属性,“生成操作”要选择“编译”
      

  5.   

    LS ,按照我的理解, 引用的时候demo.dll.config应该自己跟过去, 但是它不跟过去呢..引用一个DLL. dll.config 不过去,那岂不是有缺陷呢?
    不是缺陷。是你没理解config的意思,config只会被EXE的同名调用。不会被dll的同名调用。

    好像这个样子的
      

  6.   

    可以用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;
            }
        }
    }
      

  7.   

    .config是应用程序配置文件,也就是exe,如果编译成dll就是属于类库,所以不好用,如果你是在Settings.settings中设置的配置文件,你可以把范围改成“用户”,这样你在别的程序中引用dll就可以用配置文件,只是配置文件是用户级的,位置在c盘下叫做user.config
      

  8.   

    EXE对应的一个配置文件而已,编译成dll别的项目又不会去访问该config文件的!
    除非exe文件都是设置的访问文件名称也是当前这个config名称
      

  9.   

    可以直接在主程序里面调用config.再把文件传到dll里面