Eerst even een kleine situatieschets, dit is een vereenvoudigde indeling van mijn solution:
Zowel de client als de server hebben een settings file, met een custom configsection erin. Deze section is gedefinieerd in de ClassLibrary. In zowel de client als de server applicatie kan ik deze gewoon gebruiken. Nu ben ik met het server setup project bezig, en afhankelijk van wat keuze wil ik de settings file aanpassen. Hiervoor heb ik in het server project een Installer class toegevoegd met de volgende code:
Op regel 3 krijg ik echter een exception dat hij de betreffende dll waar de ServicesSection in gedefinieerd staat niet an vinden. Ik denk dat dit komt doordat de Installer class in de context van de installatie wordt uitgevoerd, en die heeft immers geen reference met de ClassLibrary. Nu ben ik eigenlijk opzoek naar een oplossing, het liefst eentje die de ServivesSection class kan gebruiken. Ik zit op dingen te googelen als runtime references toevoegen en dergelijke, maar tot dusver weinig succes.
code:
1
2
3
4
5
6
| Solution ClientProject ServiceProject ClassLibraryProject ClientSetupProject ServerSetupProject |
Zowel de client als de server hebben een settings file, met een custom configsection erin. Deze section is gedefinieerd in de ClassLibrary. In zowel de client als de server applicatie kan ik deze gewoon gebruiken. Nu ben ik met het server setup project bezig, en afhankelijk van wat keuze wil ik de settings file aanpassen. Hiervoor heb ik in het server project een Installer class toegevoegd met de volgende code:
C#:
1
2
3
| string fullPath = Path.Combine(targetDir, "Server.exe"); Configuration config = ConfigurationManager.OpenExeConfiguration(fullPath); ServicesSection services = config.GetSection("Services") as ServicesSection; |
Op regel 3 krijg ik echter een exception dat hij de betreffende dll waar de ServicesSection in gedefinieerd staat niet an vinden. Ik denk dat dit komt doordat de Installer class in de context van de installatie wordt uitgevoerd, en die heeft immers geen reference met de ClassLibrary. Nu ben ik eigenlijk opzoek naar een oplossing, het liefst eentje die de ServivesSection class kan gebruiken. Ik zit op dingen te googelen als runtime references toevoegen en dergelijke, maar tot dusver weinig succes.