网站解决方案分为:
BLL-服务器控件,
DAL-服务器控件,
WEB-网站应用程序.我在发布WEB的时候会在BIN文件中带出DAL和BLL的DLL文件,但是没有带出DAL.exe.config文件。
因为我的数据库连接放在DAL层的APP.CONFIG文件里面,发布后全部打包在DAL.DLL里面了,无法手工修改连接了。如何让DAL层中的app.config文件也发布出来?
(注意WEB和DAL只是引用关系。发布时只取了DAL.dll文件)

解决方案 »

  1.   

    那就不要将config文件打到dll里,文件属性不选“嵌入的资源”。将配置信息配到web.config里
      

  2.   

    添加资源文件
    数据库连接在web层,通过反射获取连接字符串
      

  3.   

    或直接    public static readonly string SqlConn = System.Configuration.ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
      

  4.   

    直接在web.config文件里面写连接字符串就行了。
      

  5.   

    哈哈,让我在网上找到,大家共同学习
    --------------------------------------------------------想把DAL和BLL从项目里移出来做个类库。把DAL和BLL都独立成项目,以便同一方案可以共用。 
    问题是 DAL用的是通过代码生成工具自动化生成的可视化的XSD强类型dataset,数据连接字符串是web.config里的。移出去后哪里可以改数据连接。
    解决方法 一般情况下,如果使用类型化数据集,在网站项目中,用到的连接字符串是保存在webconfig中的 但是如果作为单独项目的话 却是存储在Properties目录的Settings.settings内部的 展开Settings.settings可以发现有一个Settings.Designer.cs文件 格式如下C# code         [global::System.Configuration.ApplicationScopedSettingAttribute()]
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
            [global::System.Configuration.DefaultSettingValueAttribute("Data Source=127.0.0.1;Initial Catalog=ZKBS;User ID=sa;pwd=123")]
            public string ZKBSConnectionString {
                get {
                    return ((string)(this["ZKBSConnectionString"]));
                }
            }
    要把强类型数据集作为单独的DAL,肯定连接字符串不能写死在程序集内部啊,想继续放到web.config中怎么办? 按照如下步骤: 1.在项目根目录下,新建一个Settings.settings.cs,拷贝Settings.Designer.cs的内容进来,并保存 2.把相关连接字符串部分改为如下这般 C# code         public string ZKBSConnectionString
            {
                get
                {
                    //return ((string)(this["ZKBSConnectionString"]));
                    return System.Configuration.ConfigurationManager.AppSettings["ZKBSConnectionString"];
                }
            }3.保存 4.把Properties目录的Settings.settings直接设置为"从项目中排除",不要删除,后面还有用处 这样,运行的时候就是从web.config中读取连接字符串了 需要注意的问题: 
    在强类型数据集设计过程中,是需要改变xsd文件还有Settings.settings相关设置的 
    这个时候如果Settings.settings还是处于"从项目中排除"状态的话,可能会出问题的... 
    所以需要将Settings.settings设置为"包含在项目中" 另外在xsd文件中,也保存着连接字符串设置,不过是指向程序集相关属性的,也就是我们上面改的地方,这里如果没有问题,最好不要手动改动,万一错了...(不过这个地方可能有挖掘的余地) 
    总结: 
    开发DAL程序集过程中,因为需要频繁变动,所以可以不用管什么连接字符串 
    发布的时候,执行步骤1,2,3,4 如果以后又要改动,先把Settings.settings包含进来