Ho sviluppato un componente aggiuntivo ArcMap che richiede un file di configurazione. Dopo aver trascorso un po 'di tempo a provare a leggere i valori di configurazione da un singolo file App.Config (e ottenere sempre null), credo che il componente aggiuntivo non possa leggere i valori da qui poiché è una libreria di classi e cerca l'applicazione chiamante (ArcMap) Il file di configurazione quando chiedo il valore di una chiave (da qui il null).
Per ovviare a questo ho usato un file App.Settings, che l'applicazione può leggere bene. La creazione di questo introduce anche un file App.Config nell'ambiente e Visual Studio sembra mantenere i due file sincronizzati durante lo sviluppo.
Ora che il componente aggiuntivo viene distribuito, devo essere in grado di modificare i valori di configurazione (ad es. Posizione del file di registro). Ho provato ad aprire / estrarre il file .esriaddin e ad aggiornare il file App.Config, ma il componente aggiuntivo mantiene gli stessi valori di configurazione che aveva durante la compilazione. So che i nuovi valori di App.Config vengono mantenuti nel file .esriaddin perché posso visualizzarli di nuovo dopo aver chiuso l'archivio.
Qualcuno conosce un modo affidabile per configurare un componente aggiuntivo e consentire a questa configurazione di essere aggiornabile una volta distribuita? Qualsiasi suggerimento è molto gradito in quanto sembra ridicolo che per questo sia necessario un file di configurazione personalizzato.
I valori di App.Settings sono a livello di applicazione e attualmente sia App.Settings che App.Config hanno un'azione di compilazione: nessuna / non copia.