C# CodeDomProvider vergisst oder ignoriert Assembly

Gast #2938750
Lesenswert?

Hei Leute


Ich habe ein Programm in C# geschrieben dass Plugins zur Laufzeit laden 
kann(als DLL) und diese benutzen kann. Aber ich habe ein kleines Problem 
mit dem CodeDomProvider.

Ich lade mit diesem Code die dll in meine exe rein:
1
byte[] filebytes = File.ReadAllBytes(ofd.FileName);
2
Assembly.Load(filebytes);

Danach greife ich auf die Assembly zu was auch wunderbar geht. Wenn ich 
aber mit folgendem Code eine C# Datei mit Link zu diesem Plugin 
kompilieren möchte, erhalte ich den Fehler dass die Referenz darauf 
fehlt. Der Code dazu wäre.
1
CodeDomProvider provider = CodeDomProvider.CreateProvider("CSharp");
2
CompilerParameters parameters = new CompilerParameters();
3
parameters.GenerateInMemory = true;  
4
var assemblies = AppDomain.CurrentDomain.GetAssemblies().Where(a => !a.IsDynamic).Select(a => a.Location);
5
parameters.ReferencedAssemblies.AddRange(assemblies.ToArray());
6
CompilerResults result = provider.CompileAssemblyFromSource(parameters, File.ReadAllText(file));

Ich hoffe ihr könnt mir sagen was ich falsch mache damit es bald 
funktioniert. Die Using Direktive ist in der Datei drin nur die Referenz 
sieht er irgendwie nicht..

Vielen Dank und Gruss

Farin

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren