Динамическое генерирование сборок

Тема в разделе ".NET", создана пользователем Vitone, 11 авг 2008.

Наш партнер Genesis Hackspace
  1. Vitone

    Vitone Гость

    Всем доброго времени суток!!!

    Существует XML файл, исходя из которого динамически формирую класс:
    [codebox] CSharpCodeProvider codeProvider = new CSharpCodeProvider();
    CompilerParameters parameters = new CompilerParameters();

    parameters.GenerateExecutable = false;
    parameters.GenerateInMemory = true;
    // Имя должно быть уникальное!!!
    parameters.OutputAssembly = "MathAssembly"+_guid.ToString()+".dll";
    //parameters.ReferencedAssemblies.Add("System.dll");

    string filePathStr=filePath.Replace("\\", "\\\\");

    // Здесь формирую сам код
    string code = DynamicMath.StringOfClass(filePathStr,ref ListOfInputs,ref ListOfOutputs,ref ListOfVariables,ref ListOfClasses,ref ListOfBinds);

    // Компилю сборку
    CompilerResults results = codeProvider.CompileAssemblyFromSource(parameters, code);

    if (results != null)
    {
    if (results.Errors.Count > 0)
    {
    MessageBox.Show("Errors");
    foreach (object o in results.Errors)
    {
    MessageBox.Show(o.ToString());
    }
    }
    }

    // Загружаю созданную сборку
    Assembly MathAsm = Assembly.LoadFrom(parameters.OutputAssembly);

    typeOfMathAssembly = MathAsm.GetType("MathAssembly.FBDMathBlock");

    // Создаю экземпляр класса, извлеченного из созданной сборки
    instanceOfMathAssembly = Activator.CreateInstance(typeOfMathAssembly);[/codebox]
    Но вот не смотря на эти строчки:
    parameters.GenerateExecutable = false;
    parameters.GenerateInMemory = true;
    Сборка все равно сохраняется на жестянку.

    Это можно избежать, или придется после завершения приложения их удалять?
    Если сборка будет создаваться в памяти, смогу ли я загружать ее так же, как и в том случае?

    Спасибо.
     
Загрузка...
Похожие Темы - Динамическое генерирование сборок
  1. JohnLemon
    Ответов:
    4
    Просмотров:
    1.183
  2. Katyha1706
    Ответов:
    1
    Просмотров:
    1.478
  3. Katyha1706
    Ответов:
    0
    Просмотров:
    1.121
  4. KatyaVm22
    Ответов:
    4
    Просмотров:
    1.405
  5. NickProstoNick
    Ответов:
    30
    Просмотров:
    5.495

Поделиться этой страницей