如何让我的应用程序读取应用程序配置而不是 machine.config?

发布于 2024-12-18 00:57:00 字数 534 浏览 0 评论 0原文

我在用 c# 创建的应用程序中添加了一个单词,该应用程序正在访问 Web 服务,并且如果安装在 Program Files 文件夹之外,则可以完美运行。奇怪的是,当我将其安装在 Program Files 文件夹中时,客户端无法读取 [application].dll.config 中的配置并引发如下错误:

“无法找到引用合同的默认端点元素 [.. ] 在 ServiceModel 客户端配置部分中,这可能是因为找不到您的应用程序的配置文件,或者因为在客户端元素中找不到与此合同匹配的端点元素。”

我读过这篇文章,似乎并没有解决我的问题。 找不到默认端点元素

我使用的是 windows7 顺便说一句,还没有测试过其他操作系统。

更新: 阅读上面的链接后,我尝试将配置移至 machine.config 并且它有效,但如何使我的应用程序读取应用程序配置而不是 machine.config?

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

倾城月光淡如水﹏ 2024-12-25 00:57:00

如果您使用的是 VSTO 4 SP1,那么您可能会遇到此博客中描述的问题:
http://msdnrss.thecoderblogs.com/2011/06/vsto-4-0-sp1-will-cause-a-vsto-addin-to-not-find-its-config-file/
解决方案是将 Office 插件的注册表值从: 更改

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

为:

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

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“ 
相守太难 2024-12-25 00:57:00

计算机 .config 文件指定特定计算机的全局设置 - 因此您所做的任何更改都可能会影响计算机上的所有其他应用程序。

应用程序配置包含应用程序特定的设置,因此您的应用程序设置确实应该在那里。

当您构建应用程序并将其部署到 Program Files 时,应用程序配置是否会随之复制?您是否设置了“复制到输出目录”属性?

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?

和影子一齐双人舞 2024-12-25 00:57:00

如果您的library.dll是从应用程序app.exe调用的,您将需要app.exe.config,而不是library.dll.config。

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文