Динамическая компиляция исходного кода VB .NET

Рассмотрим 2 основных, и я полагаю, не единственных, способа, как можно откомпилировать исходный код.

В первом случае мы будем компилировать код не из файла, а из текстового поля формы.
В результате этого мы получим исполняемый exe-файл, который по окончании формирования мы можем запустить на выполнение.

То, что должно быть в TextBox:

Второй способ – компиляция из командной строки. Предполагает наличие файла с исходным кодом программы
Синтаксис:

Компилировать проще всего через Bat-файл, именно в вышеизложенном виде для того, чтобы посмотреть предупреждения и ошибки компиляции, если таковые, конечно, имеются.

В данном случае приложение будет работать, используя версию 2.0 .NET Framework, В команде можно указать другую.
target:winexe
Это указывает на то, что при работе приложения не будет показано консольное окно.
2.vb – непосредственно сам файл с исходным кодом, который должен находиться в одном каталоге с Бат-файлом.
Содержание файла прежнее:

Обращаю внимание на импортирование пространств имен. В этом случае все они, конечно, не нужны. Их список зависит от задач, которые мы возлагаем на приложение.
Например, если программа делает скриншот экрана, сохраняет в файл и запускает, то, по крайней мере, нужно будет точно использовать

Ниже приведены дополнительные параметры компиляции

Планируемый результат Использование
Компиляция файла File.vb и создание файла File.exe vbc /reference:Microsoft.VisualBasic.dll File.vb
Компиляция файла File.vb и создание файла File.dll vbc /target:library File.vb
Компиляция файла File.vb и создание файла My.exe vbc /out:My.exe File.vb
Компиляция всех файлов Visual Basic в текущем каталоге с включенной оптимизацией и определенным символом DEBUG для получения файла File2.exe vbc /define:DEBUG=1 /optimize /out:File2.exe *.vb
Компиляция всех файлов Visual Basic в текущем каталоге, создание отладочной версии File2.dll без отображения эмблемы или предупреждений vbc /target:library /out:File2.dll /nowarn /nologo /debug *.vb
Компиляция всех файлов Visual Basic в текущем каталоге для получения файла Something.dll vbc /target:library /out:Something.dll *.vb

Компиляцию оконных приложений здесь мы рассматривать не будем





Запись опубликована в рубрике Полезные коды на Visual Basic .NET, VB .NET FAQ с метками , . Добавьте в закладки постоянную ссылку.


Что еще можно почитать

Программа для расчета стажа (Декабрь 4, 2015)
Извлечение иконок из библиотек и файлов (Декабрь 4, 2015)
Программно сменить иконку NotifyIcon (Декабрь 4, 2015)
Автоподбор высоты строки в DataGridView (Декабрь 4, 2015)
In 100 Years (Modern Talking Cover) (Ноябрь 8, 2016)


Добавить комментарий