2011-11-30 11 views
5

ho uno strano fenomeno.Net di file app.config ignorato quando sotto c: Programmi

ho NET 4.0 app. Quando myapp.exe.config si trova nella normale cartella programfiles, viene ignorato. Anche se lo elimini o non scrivo in esso, myapp.exe funziona e mi sembra che i valori siano presi da un'installazione precedente.

Quando copio la cartella ad es. al desktop funziona correttamente.

Modifica: quando copio il modulo c: programfiles \ myapp \ su c: \ programfiles \ copy of myapp \ funziona Sembra essere solo un problema nella cartella progamfile in cui è stata creata un'installazione precedente. (Immagino)

Qualche idea?

Cordiali saluti

+0

come si avvia l'applicazione? se si naviga nella cartella .exe in Windows Explorer e si fa doppio clic sull'eseguibile, a meno che il codice non stia facendo davvero cose pazze al suo interno, in realtà dovrebbe usare il file .exe.config disponibile nella stessa posizione. è questa applicazione Windows Form? –

+0

È il file .exe dell'applicazione nella cartella C: \ ProgramFiles. Il file app.config che usa il tuo exe è quello nella stessa cartella in cui si trova il tuo exe. – Rajesh

+1

Forse una domanda stupida, ma può essere che tu abbia un'icona sul desktop da cui avvii la tua applicazione, e che l'icona sia il file .exe, e non una scorciatoia? –

risposta

3

Potrebbe condividere il sistema operativo con noi? Ho avuto problemi simili in passato con un'applicazione (Win 2008). Un semplice lavoro di arround se non si è l'amministratore di sistema, è quello di modificare il file .config in un'altra posizione, quindi riposizionarlo.

A volte il contenuto di un file non viene realmente editato, tuttavia viene creata una copia con la modifica sul retro, il che è fonte di confusione.

+0

+1 Ricordo di averlo accaduto, ora che lo menzioni, su un server Win2k8 con UAC attivo. –

+0

È davvero UAC che causa questo comportamento. La vera soluzione sarebbe configurare UAC. Per me però, quella non era l'opzione in quel momento. – dannl

+0

Ho WIN 7 Ultimate – woax

0

C'è una cartella C: \ Users \ myuser \ AppData \ Local \ VirtualStore \ Program Files \ MyApp

Dove c'era la configurazione che è stata presa.

Questa "funzione" deriva dal fatto che la mia app non funziona come amministratore. Leggi i commenti su Controllo dell'account utente. Questo succede solo a Win7 e Vista. Non su XP.

riguarda

+0

Esatto, anche se la configurazione non deve essere una copia completa del file di configurazione. Qui vengono memorizzate solo le parti salvate (tramite il framework Impostazioni). – Andreas

1

Molto probabilmente si tratta di un caso di "file di compatibilità" - nella cartella Program Files si dispone di un file salvato nei file di visualizzazione di compatibilità che viene letto al posto del file vero e proprio.

Elimina i file di compatibilità e tutto dovrebbe funzionare correttamente.

enter image description here

In this articolo, nel "come circa la parte brutta?" troverai descritto esattamente il tuo scenario.

Cordiali saluti