We hebben een applicatie die al jaren prima functioneert. Binnen die applicatie is de mogelijkheid om een script te draaien, daarvoor gebruiken we Microsoft.CSharp.CSharpCodeProvider. Dit werkt ook prima.
Het is ook mogelijk dat we de applicatie aanroepen en dan gelijk een scriptnaam mee geven. Dan wordt het script bij openen gelijk uitgevoerd, dit werkt ook prima.
Alleen niet op Win7.
Microsoft.CSharp.CSharpCodeProvider will om voor mij compleet onduidelijke redenen een tijdelijk bestand wegschrijven naar c:\ Dat wil Win7 niet hebben.
Uiteraard staat mijn temp folder goed ingesteld, maar die wordt niet gebruikt.
Nu ben ik al een tijdje aan het zoeken en er is een compile parameter TempFiles.
Nu dacht ik die als volgt te gebruiken:
Maar dan crasht mijn applicatie
Dus dat is ook geen oplossing.
Iemand een idee hoe dit wel op te lossen, zodat Microsoft zijn eigen temp folder gebruikt ipv c:\
Het is ook mogelijk dat we de applicatie aanroepen en dan gelijk een scriptnaam mee geven. Dan wordt het script bij openen gelijk uitgevoerd, dit werkt ook prima.
Alleen niet op Win7.
Microsoft.CSharp.CSharpCodeProvider will om voor mij compleet onduidelijke redenen een tijdelijk bestand wegschrijven naar c:\ Dat wil Win7 niet hebben.
Uiteraard staat mijn temp folder goed ingesteld, maar die wordt niet gebruikt.
Nu ben ik al een tijdje aan het zoeken en er is een compile parameter TempFiles.
Nu dacht ik die als volgt te gebruiken:
C#:
1
2
| compilerParameters.TempFiles = new TempFileCollection(Path.GetTempPath()); codeDomProvider.CompileAssemblyFromSource(compilerParameters, codeText); |
Maar dan crasht mijn applicatie

Dus dat is ook geen oplossing.
Iemand een idee hoe dit wel op te lossen, zodat Microsoft zijn eigen temp folder gebruikt ipv c:\