winform多项目app.config使用问题
我的解决方案结构如下:mainABmain中引用A、B项目现在A项目中的一些实施时可能需要修改的配置信息放在A项目的app.config中,生成A项目时在A\bin\de...
我的解决方案结构如下: main A B main中引用A、B项目现在A项目中的一些实施时可能需要修改的配置信息放在A项目的app.config中,生成A项目时在A\bin\debug下生成了A.dll.config,其中包含A项目的可配置内容。 A.dll.config内容如下:
生成整个解决方案时,main\bin\debug中仅有新生成的A.dll、B.dll,而没有A.dll.config;这就是第一个问题,生成时子项目配置文件未自动生成到main中;此时我手工把A.dll.config复制到main\bin\debug下,启动主项目main,在程序中调用A项目的界面,界面中的程序中调取 string settingString = ConfigurationManager.AppSettings[“aaa”]; 此时结果为settingString=null 问题二出现了,程序似乎得不到配置值。请各位大神帮忙解决,已经焦灼一天了~~~~~~~~~
我们老大是想把界面中的汉字部分(如按钮标签,提示信息等)都做在config中,而不是打包进DLL里,以此实现实施项目时进行个性化配置,如果想实现以上需求,还有其他方法吗? 展开
生成整个解决方案时,main\bin\debug中仅有新生成的A.dll、B.dll,而没有A.dll.config;这就是第一个问题,生成时子项目配置文件未自动生成到main中;此时我手工把A.dll.config复制到main\bin\debug下,启动主项目main,在程序中调用A项目的界面,界面中的程序中调取 string settingString = ConfigurationManager.AppSettings[“aaa”]; 此时结果为settingString=null 问题二出现了,程序似乎得不到配置值。请各位大神帮忙解决,已经焦灼一天了~~~~~~~~~
我们老大是想把界面中的汉字部分(如按钮标签,提示信息等)都做在config中,而不是打包进DLL里,以此实现实施项目时进行个性化配置,如果想实现以上需求,还有其他方法吗? 展开
2个回答
展开全部
先解释你遇到的两个问题。
问题一:链接库项目的app.config文件默认是不会复制到引用者的输出目录的。即使你在A项目中修改app.config的属性“复制到输出目录”为始终复制或者较新复制,在A项目的输出中会有预期的app.config和A.dll.config,但是在main的输出目录只会有app.config而没有A.dll.config。请手动复制。
问题二:VS自身没有智能拼接多个配置文件的功能,而且ConfigurationManager指向的是默认的应用程序配置文件而非你拷贝过去的A.dll.config,所以你这样是取不到值的。要想读取A.dll.config,请使用如下代码手动加载配置文件:
Configuration config = ConfigurationManager.OpenExeConfiguration("A.dll.config");
然后可以使用config.AppSettings["...."]读取。
关于你的预期目标,我个人的建议是如果只存本地化数据的话,不要使用配置文件,你可以选用Settings绑定,或者自写Xml都可以在外部进行更改同时又能直接作为“内容”生成到输出目录。
如果你的链接库本身就逃不开config文件,那就只好动手复制一下了。
如有疑问请追问。希望能帮到你。
问题一:链接库项目的app.config文件默认是不会复制到引用者的输出目录的。即使你在A项目中修改app.config的属性“复制到输出目录”为始终复制或者较新复制,在A项目的输出中会有预期的app.config和A.dll.config,但是在main的输出目录只会有app.config而没有A.dll.config。请手动复制。
问题二:VS自身没有智能拼接多个配置文件的功能,而且ConfigurationManager指向的是默认的应用程序配置文件而非你拷贝过去的A.dll.config,所以你这样是取不到值的。要想读取A.dll.config,请使用如下代码手动加载配置文件:
Configuration config = ConfigurationManager.OpenExeConfiguration("A.dll.config");
然后可以使用config.AppSettings["...."]读取。
关于你的预期目标,我个人的建议是如果只存本地化数据的话,不要使用配置文件,你可以选用Settings绑定,或者自写Xml都可以在外部进行更改同时又能直接作为“内容”生成到输出目录。
如果你的链接库本身就逃不开config文件,那就只好动手复制一下了。
如有疑问请追问。希望能帮到你。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询