how do I make my application read the application config instead of machine.config?

不羁岁月 提交于 2019-12-03 21:14:04

问题


I have an word add in application created in c# which is accessing a web service and is perfectly working if installed outside Program Files folder. the weird thing is that when I install this in Program Files folder, the client is failing to read the config in [application].dll.config and raising an error like below:

"Could not find default endpoint element the references contract [..] in the ServiceModel client configuration section. This might be because no configuration file was found for your application, or because no endpoint element matching this contract could be found in the client element."

I have read this article and it seems that it doesn't solve my problem. Could not find default endpoint element

Im using windows7 btw and haven't tested to other OS.

Update: After reading the above link, I've tried to move the configuration to machine.config and it works, but how do I make my application read the application config instead of machine.config?


回答1:


If you are using VSTO 4 SP1, then you may be running into a problem described in this blog: http://msdnrss.thecoderblogs.com/2011/06/vsto-4-0-sp1-will-cause-a-vsto-addin-to-not-find-its-config-file/ The solution is to change your registry values for your office addin from:

Manifest=”C:\Program Files\<Path>\WordAddIn.vsto|vstolocal”  

to:

Manifest=”file:///C:\Program Files\<Path>\WordAddIn.vsto|vstolocal“ 



回答2:


The machine .config file specifies the settings that are global to a particular machine - so whatever you changed can potentially affect every other app on the machine.

The App config contains application specific settings so your applications settings really should be in there.

When you built and deployed your application to Program Files was the app config copied along with it? Did you set the "Copy to Output Directory" property?




回答3:


If your library.dll is called from application app.exe you will need to have app.exe.config, not library.dll.config.



来源:https://stackoverflow.com/questions/8276633/how-do-i-make-my-application-read-the-application-config-instead-of-machine-conf

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!