Mam bardzo trudny czas, próbując uzyskać dostęp do sekcji konfiguracji niestandardowej w moim pliku konfiguracyjnym.Niestandardowa sekcja konfiguracji: Nie można załadować pliku lub zespołu
Plik konfiguracyjny jest czytany z pliku .dll załadowanego jako wtyczka. Utworzono konfigurację i niezbędny kod przy użyciu dodatku VS Configuration Section Designer.
Przestrzeń nazw to "ImportConfiguration". Klasa ConfigurationSection to "ImportWorkflows". Zestawem jest ImportEPDMAddin.
xml:
<configSections>
<section name="importWorkflows" type="ImportConfiguration.ImportWorkflows, ImportEPDMAddin"/>
</configSections>
Ilekroć próbuję czytać w config, pojawia się błąd:
Wystąpił błąd podczas tworzenia programu obsługi sekcji konfiguracji importWorkflows: Nie można załadować pliku lub zestawu ' ImportEPDMAddin.dll "lub jedną z jego zależności. System nie może odnaleźć określonego pliku.
Dll nie będzie znajdować się w tym samym katalogu, w którym znajduje się plik wykonywalny, ponieważ oprogramowanie ładujące wtyczkę umieszcza dll i jego zależności w swoim własnym katalogu. (Nie mogę kontrolować tego.)
edytowany kod singleton przykład na następujące kwestie:
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;
Próbowałem również za pomocą prostego NameValueFileSectionHandler jak dobrze, ale pojawia się wyjątek mówiący, że nie może załadować pliku lub zespołu "System".
Przeczytałem wiele postów na blogu i artykułów i brzmi to, jak można odczytać plik konfiguracyjny dla dll, ale po prostu nie mogę go uruchomić. Jakieś pomysły? Dzięki.
Czy skopiować 'ImportEPDMAddin.dll.config' na tym samym miejscu też? – ephemient
Konfiguracja jest tam na pewno, ponieważ próbowałem używać DictionarySectionHandler z innej klasy i to działa. – ehcanadian