Hallo,
ik heb een applicatie die een .ini file gebruikt om wat gegevens uit te lezen.
Om deze uit te lezen heb ik hard in de code staan waar deze zich bevindt.
Om deze app te debuggen moet er bij de .exe een mapje staan 'bin' met daarin het ini gestand. Dit is natuurlijk niet zoals het zou moeten.
Bij het installeren moet ik dus ook een mapje aanmaken in program files 'bin' met daarin de ini. Dat is opzich geen probleem maar met het debuggen is dat niet handig. Ik dacht bij mijzelf, dat moet anders kunnen, en dat kan het ook.
Op google vond ik een manier om een file aan je project toe te voegen in de solution explorer en dan zijn property 'Build Action' op 'Embedded Resource' te zetten. Het voordeel is dat het nu niet uitmaakt waar de file zich bevind en dus mijn probleem oplost.
Het ophalen van de gegevens doe ik nu dus zo:
Hier wordt dus een icoontje veranderd naar een icoon die ik heb toegevoegd als 'Embedded Resourse'.
Alleen bij het builden van de app zet hij de ini file dus IN de exe waardoor hij niet meer te bewerken is buiten VS.
Ik wil dus dat de ini na de installatie nog gewoon toegankelijk is en ik dus in de code geen harde paden hoef te geven.
Volgen jullie het nog?
Weten jullie een manier hoe ik dit het beste kan bereiken of kan verbeteren?
Mvg.
ik heb een applicatie die een .ini file gebruikt om wat gegevens uit te lezen.
Om deze uit te lezen heb ik hard in de code staan waar deze zich bevindt.
C#:
1
| IniFile ini = new IniFile(@"bin\config.ini"); |
Om deze app te debuggen moet er bij de .exe een mapje staan 'bin' met daarin het ini gestand. Dit is natuurlijk niet zoals het zou moeten.
Bij het installeren moet ik dus ook een mapje aanmaken in program files 'bin' met daarin de ini. Dat is opzich geen probleem maar met het debuggen is dat niet handig. Ik dacht bij mijzelf, dat moet anders kunnen, en dat kan het ook.
Op google vond ik een manier om een file aan je project toe te voegen in de solution explorer en dan zijn property 'Build Action' op 'Embedded Resource' te zetten. Het voordeel is dat het nu niet uitmaakt waar de file zich bevind en dus mijn probleem oplost.
Het ophalen van de gegevens doe ik nu dus zo:
C#:
1
2
| Assembly assembly = this.GetType().Assembly; notifyIcon1.Icon = new Icon(assembly.GetManifestResourceStream(assembly.GetName().Name + ".phone.ico")); |
Hier wordt dus een icoontje veranderd naar een icoon die ik heb toegevoegd als 'Embedded Resourse'.
Alleen bij het builden van de app zet hij de ini file dus IN de exe waardoor hij niet meer te bewerken is buiten VS.
Ik wil dus dat de ini na de installatie nog gewoon toegankelijk is en ik dus in de code geen harde paden hoef te geven.
Volgen jullie het nog?
Weten jullie een manier hoe ik dit het beste kan bereiken of kan verbeteren?
Mvg.
