Динамическая компиляция исходного кода 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 с метками , . Добавьте в закладки постоянную ссылку.


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

DoubleBuffered для компонентов формы (Декабрь 8, 2015)
Назначение прав для файлов и папок (Декабрь 4, 2015)
Программа для удаления остатков McAfee «No McAfee» (Декабрь 4, 2015)
Just We Two (Modern Talking Cover) (Март 12, 2017)
3x Osc (Back To 2006) (Июнь 11, 2016)


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