![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| desevg |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 22.1.2009 Репутация: нет Всего: нет |
есть код
в richTextBox1 записываю код
я разобрался, как скомпилировать этот код и как получить сборку из сборки класс и выполнить метод. а можно как-нибудь запустить динамически скомпилированную сборку, как обычную программу через точку входа. чтобы запустилось приложение. в данном случае консольное. я нашел свойство EntryPoint, но не понял, как им воспользоваться. через метод Invoke не получилось... помогите примером иль советом хоть.. спс |
||||
|
|||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
В параметрах укажи MainClass в нём определи метод Main(по всем правилам ессно). Вроде всё (не помню уже точно - давно заморачвался).
ЗЫ И не запускай меседжбоксов из цикла. Если будет много ошибок, придётся закрывать по окну для каждой и пока все не закроешь не получишь доступ к форме. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| desevg |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 22.1.2009 Репутация: нет Всего: нет |
добавил:
но как запустить сборку?(
так не выходит, пишет Parametr count mismatch. хотя вроде как для обычных методом делаю. |
||||
|
|||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Если речь о программном запуске, то какая разница исполняемый это файл или библиотека? Исполняемый файл отличается тем, что его можно двойным щелчком запустить и тому подобными вещами. Просто вот эту строку
Надо раскомментировать(точнее указать реальный путь куда надо сохранить скомпилированный файл) и тогда прога должна запускаться. И кстати: у класса Assembly тоже есть метод CreateInstance -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| desevg |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 22.1.2009 Репутация: нет Всего: нет |
В том то и дело, что если бы можно было сохранить сборку, я бы ... может быть... не парился. мне нужно без сохранения в файл. нужно обойтись так как сейчас, чтобы оставалась во временном
Добавлено @ 17:56
да тут такое многообразие, что я уже запутался( кстати, нету;) Это сообщение отредактировал(а) desevg - 24.7.2009, 17:59 |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
http://msdn.microsoft.com/ru-ru/library/sy...teinstance.aspx
А тогда какая разница исполняемый это файл или библиотека? К тому же из временного его тоже можно вызвать, но чтобы сделать это программно надо использовать класс Process. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| desevg |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 22.1.2009 Репутация: нет Всего: нет |
да я вроде не писал, что файл должен быть исполняемым. просто мне его нужно запустить сборку динамически. вот есть код консольного приложения. я его компилирую и сразу запускаю. без сохранения. сейчас покурю про класс Process... но если выложишь наводящий материал, будет здорово.
Добавлено через 6 минут и 9 секунд если ты про метод Start() в классе Process, то там нужно указывать имя файла, а у меня его нет. он временный. если подставлять assebly.Location, то выдает ошибку. не правильный формат файлы |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Даже если ты не сохраняешь сборку явно, она всё равно сохранится во временном файле. Можешь не указывать cp.OutputAssembly, но после компиляции проверь его содержимое, ты увидишь временный файл, и если туда перейдёшь то там и будет твоя сборка. Оттуда и запускай, хотя имхо лучше самому место указать.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| desevg |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 22.1.2009 Репутация: нет Всего: нет |
наверное, ты прав. если файл так и так создается, то лучше самому контролировать этот процесс. в принципе, тогда пока вопросов больше нет
|
|||
|
||||
| desevg |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 22.1.2009 Репутация: нет Всего: нет |
появился вопрос
По твоему совету, я указал конкретное место для компилируемой сборки. Но мне нужно, чтобы после того, как я его скомпилировал и запустил, удалить. но мне выдается ошибка, что файл не может быть удален. я так понимаю из-за того, что он участвует в работе программы, из которой я его компилирую. Возможно его как-тол освободить? выгрузить так сказать? Это сообщение отредактировал(а) desevg - 25.7.2009, 15:45 |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |