2011-11-26 7 views
5

Mam dodać słowo w aplikacji utworzonej w języku C#, który uzyskuje dostęp do usługi sieci Web i działa doskonale, jeśli jest zainstalowany poza folderem Program Files. dziwne jest to, że po zainstalowaniu tego w folderze Program Files klient nie odczytuje konfiguracji w pliku [application] .dll.config i zgłaszając błąd opisany poniżej:w jaki sposób sprawić, aby moja aplikacja odczytała konfigurację aplikacji zamiast pliku machine.config?

"Nie można znaleźć domyślnego elementu punktu odniesienia kontrakt [..] w sekcji konfiguracji klienta ServiceModel, może to być spowodowane tym, że nie znaleziono pliku konfiguracyjnego dla twojej aplikacji lub ponieważ w elemencie klienta nie znaleziono elementu punktu końcowego pasującego do tej umowy. "

Przeczytałem ten artykuł i wygląda na to, że to nie rozwiązuje mojego problemu. Could not find default endpoint element

Im przy użyciu windows7 btw i nie przetestowałem na inny system operacyjny.

Aktualizacja: Po przeczytaniu powyższego linku, próbowałem przenieść konfigurację do pliku machine.config i działa, ale w jaki sposób mogę uczynić moją aplikację odczytać konfigurację aplikacji zamiast pliku machine.config?

Odpowiedz

12

Jeśli używasz VSTO 4 SP1, a następnie może być uruchomiony na problem opisany w tym blogu: http://msdnrss.thecoderblogs.com/2011/06/vsto-4-0-sp1-will-cause-a-vsto-addin-to-not-find-its-config-file/ Rozwiązaniem jest zmienić wartości rejestru do biura addin od:

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

do :

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

Hej człowiek dzięki! – Red

+0

Dzięki za to. To działało również dla mnie. – woodykiddy

+0

Rozwiązałem mój problem z VSTO 4. Wielkie dzięki! – TravisWhidden

0

Plik .config urządzenia określa ustawienia globalne dla konkretnej maszyny - więc wszelkie zmiany mogą potencjalnie wpłynąć na każdą inną aplikację na komputerze.

Konfiguracja aplikacji zawiera ustawienia specyficzne dla aplikacji, więc twoje ustawienia aplikacji naprawdę powinny tam być.

Po utworzeniu i wdrożeniu aplikacji do plików programu została skopiowana konfiguracja aplikacji? Czy ustawiłeś właściwość "Kopiuj na katalog wyjściowy"?

0

Jeśli twoja biblioteka library.dll jest wywołana z aplikacji app.exe, musisz mieć plik app.exe.config, a nie library.dll.config.