Plugin Manager fertig
Es ist vollbracht, der Plugin Manager ist größtenteils fertig
*sich freu*
Danke für die viele Hilfe, ich habs jetzt mal mit System.CodeDom gelöst!
Für alle Interessierten hier mal der Quellcode:
using System;
using System.Collections;
using System.IO;
using System.Diagnostics;
using System.CodeDom.Compiler;
using System.Reflection;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.CSharp;
namespace Plugin\_Manager
{
public partial class Form1 : Form
{
public class Builder
{
public void Generate()
{
StringBuilder sb = new StringBuilder();
ICodeCompiler compiler = new CSharpCodeProvider().CreateCompiler();
CompilerParameters compArgs = new CompilerParameters();
compArgs.GenerateExecutable = true;
compArgs.OutputAssembly = "generiert.exe";
compArgs.CompilerOptions = "/target:winexe";
foreach (Assembly asm in AppDomain.CurrentDomain.GetAssemblies())
{
compArgs.ReferencedAssemblies.Add(asm.Location);
}
string filename = Application.StartupPath + "\\Plugins\\plugin1.txt";
StreamReader myFile = new StreamReader(filename, System.Text.Encoding.Default);
string text;
while((text = myFile.ReadLine()) != null)
{
sb.Append(text);
}
string Sourcecode;
Sourcecode = sb.ToString();
compiler.CompileAssemblyFromSource(compArgs, Sourcecode);
}
}
public Form1()
{
InitializeComponent();
}
private void button1\_Click(object sender, EventArgs e)
{
Builder build = new Builder();
build.Generate();
System.Diagnostics.Process.Start(Application.StartupPath + "\\generiert.exe");
}
}
}
Auskommentiert hab ich ihn jetzt nicht, aber ich denke, dass ihr den auch so versteht.
Ist vielleicht nicht die optimale Lösung und ich bin für Vorschläge offen! Das nächste wird sein, dass er mehrere Plugins laden kann.
MfG
Rodario