Конференция ".Net" » Открыть файл в сборке. Как? [C#, WinXP]
 
  • ASgard (20.03.08 19:04) [0]
    есть сборка - библиотека классов. В нее кроме прочего входят текстовый файл (sql скрипт) и .нет эхешник. Программа вызывает метод из библиотеки. Метод читает текстовый файл, а потом должен запустить на выполнение эхешник. Текстовый читается легко:
    System.Reflection.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly();
                   System.IO.Stream str = asm.GetManifestResourceStream(asm.GetName().Name + "." + name);
                   System.IO.StreamReader reader = new System.IO.StreamReader(str);

    А вот как запустить эхе на выполнение - непонятно.
  • Evgeny V © (21.03.08 06:42) [1]
    Посмотри в MSDN описание класса Process
  • ASgard (21.03.08 12:02) [2]
    Смотрел, как вызвать из ехе файла метод знаю, как сам файл запустить - нет. Делал так:
    System.Reflection.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly();
               string ИмяФайла = asm.GetName().Name + "." + "ИмяФайла.exe";
               Process SetParametrsProc = Process.Start(SetParamsExe);
               SetParametrsProc.WaitForExit();
               SetParametrsProc.Close();
    файл не находится по пути
  • b z (21.03.08 12:09) [3]
    А что такое SetParamsExe, и откуда оно?
  • ASgard (21.03.08 12:22) [4]
    это всего - лишь строка, в которой имя ехе файла в сборке
  • Evgeny V © (21.03.08 12:38) [5]
    если есть отдельный .exe файл и пусть к нему, то

               string appn = "Путь:\\Нужная мне программа.exe"
               Process.Start(appn);
    или
               Process.Start(appn," Параметры для задачи");
  • b z (21.03.08 12:38) [6]
    А если попробовать так
    SetParamsExe = Application.StartupPath + "\\ИмяФайла.exe";
  • Evgeny V © (21.03.08 12:58) [7]
    Запускаем сами себя три раза

    private void button1_Click(object sender, EventArgs e)
           {
               string appn = Application.ExecutablePath;
               Process.Start(appn);
               Process.Start(appn,"12");
               AppDomain d=AppDomain.CreateDomain(appn);
               d.ExecuteAssembly(appn, null, new string [] {"15"});
               // существенная разница от Process.Start - почитай сам, интересно

           }//end button1_click
 
Конференция ".Net" » Открыть файл в сборке. Как? [C#, WinXP]
Есть новые Нет новых   [118384   +23][b:0][p:0]