Sto attraversando un periodo molto difficile nel tentativo di accedere a una sezione di configurazione personalizzata nel mio file di configurazione.Sezione di configurazione personalizzata: Impossibile caricare il file o l'assemblaggio
Il file di configurazione viene letto da un dll caricato come plug-in. Ho creato la configurazione e il codice necessario usando l'addin VS Configuration Section Designer.
Lo spazio dei nomi è 'ImportConfiguration'. La classe ConfigurationSection è "ImportWorkflows". L'assembly è ImportEPDMAddin.
Il xml:
<configSections>
<section name="importWorkflows" type="ImportConfiguration.ImportWorkflows, ImportEPDMAddin"/>
</configSections>
Ogni volta che provo a leggere nella configurazione, ottengo l'errore:
Si è verificato un errore durante la creazione del gestore della sezione di configurazione per importWorkflows: Impossibile caricare il file o l'assembly ' ImportEPDMAddin.dll 'o una delle sue dipendenze. Il sistema non trova il file specificato.
La DLL non risiederà nella stessa directory dell'eseguibile poiché il software che carica il plugin posiziona la DLL e le sue dipendenze nella propria directory. (Non posso controllare quello.)
Ho modificato il codice per l'istanza Singleton al seguente:
string path = System.Reflection.Assembly.GetCallingAssembly().CodeBase;
path = path.Replace("file:///", "");
System.Configuration.Configuration configuration = System.Configuration.ConfigurationManager.OpenExeConfiguration(path);
return configuration.GetSection(ImportWorkflowsSectionName) as ImportConfiguration.ImportWorkflows;
Inoltre ho provato utilizzando un semplice NameValueFileSectionHandler pure, ma ottengo un'eccezione dicendo che non può caricare file o assembly 'Sistema'.
Ho letto numerosi post e articoli sul blog e sembra che sia possibile leggere un file di configurazione in una DLL, ma non riesco a farlo funzionare. Qualche idea? Grazie.
Avete copiato 'ImportEPDMAddin.dll.config' nella stessa posizione troppo? – ephemient
La configurazione è sicura, poiché ho provato a utilizzare DictionarySectionHandler da un'altra classe e questo funziona. – ehcanadian