2011-11-26 44 views
5

我在c#中創建的應用程序中添加了一個單詞,該應用程序正在訪問Web服務,並且如果安裝在Program Files文件夾之外,完美工作。奇怪的是,當我在Program Files文件夾中安裝此程序時,客戶端無法讀取[應用程序] .dll.config中的配置並引發如下錯誤:如何讓我的應用程序讀取應用程序配置而不是machine.config?

「無法找到默認端點元素參考在ServiceModel客戶端配置部分有合同[..],這可能是因爲沒有爲您的應用程序找到配置文件,或者因爲在客戶端元素中找不到匹配此合同的端點元素。

我看過這篇文章,似乎並沒有解決我的問題。 Could not find default endpoint element

即時通訊使用Windows7順便說一句,並沒有測試其他操作系統。

更新: 閱讀上述鏈接後,我試着將配置移動到machine.config,它工作,但我如何讓我的應用程序讀取應用程序配置,而不是machine.config?

回答

12

如果您正在使用VSTO 4 SP1,那麼你可能會運行到這個博客中描述了一個問題: http://msdnrss.thecoderblogs.com/2011/06/vsto-4-0-sp1-will-cause-a-vsto-addin-to-not-find-its-config-file/ 的解決方法是從你的辦公室插件更改註冊表值:

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

到:

Manifest=」file:///C:\Program Files\<Path>\WordAddIn.vsto|vstolocal「 
+0

嘿男人謝謝! – Red

+0

謝謝你。它也適用於我。 – woodykiddy

+0

解決了我與VSTO 4的問題。非常感謝! – TravisWhidden

0

machine .config文件指定了對特定機器全局的設置 - 因此,無論您更改了哪些設置,都可能會影響機器上的其他每個應用程序。

應用程序配置包含特定於應用程序的設置,因此您的應用程序設置應該在其中。

當您將應用程序構建並部署到Program Files時,應用程序配置是否與其一起復制?你是否設置了「複製到輸出目錄」屬性?

0

如果您的library.dll是從應用程序app.exe調用的,那麼您將需要具有app.exe.config而不是library.dll.config。

相關問題