При запуске он находит самый новый компилятор VB.NET (по возможности 64-битный) и запускает компиляцию кода.
Естественно возможны случаи, когда скомпилировать не удастся. Например, если использован более новый синтаксис, чем поддерживается имеющимся компилятором; или когда структура проекта слишком сложна.
Однако мне уже несколько раз приходилось компилировать код на компьютерах, где нет VS, так что bat'ник достаточно полезен.
- Код: Выделить всё
@echo off
cd /d "%~dp0"
for /d %%f in (%windir%\Microsoft.NET\Framework\v*, %windir%\Microsoft.NET\Framework64\v*) do if exist %%f\vbc.exe set vbc="%%f\vbc.exe"
if "%vbc%"=="" goto novbc
echo Compiler: %vbc%
if exist Form1.vb set main="/main:Form1" "/target:winexe"
echo Special: %main%
echo.
rem %vbc% /debug- /optimize+ /imports:System.Windows.Forms /imports:System.Drawing /imports:System.Collections.Generic /imports:System.Text /imports:System.Text.RegularExpressions /imports:System.Diagnostics /imports:System.IO %main% /recurse:*.vb
%vbc% /debug- /optimize+ /imports:System.Windows.Forms /imports:System.Drawing /imports:System.Collections.Generic /imports:System.Text /imports:System.Text.RegularExpressions /imports:System.Diagnostics /imports:System.IO %main% *.vb
goto end
:novbc
color c
echo No one VB.NET compiler was found
:end
pause
color