Скомпилировать VB.NET в Linux'е

Есть несложный код консольного приложения на VB.NET. Это консольное приложение, в нём используются коллекции, регулярные выражения, поиск и чтение файлов из файловой системы и вывод на консоль. Ничего специфического для VB.NET нет. Всё использованное есть в стандартном C#, думаю в .NET - тоже.

В Windows компилируется так:

@echo off

cd /d "%~dp0" || exit 2

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%

%vbc% /debug- /optimize+ /imports:System.Collections.Generic /imports:System.Text /imports:System.Text.RegularExpressions /imports:System.Diagnostics /imports:System.IO *.vb

goto end

:novbc
color c
echo No one VB.NET compiler was found
color
exit 2

:end

Как скомпилировать и запустить программу в линуксе?


Ответы (1 шт):

Автор решения: 0andriy

Например, в дистрибутиве Debian имеются такие пакеты: mono-basic-source и mono-vbnc. Последний — это Visual Basic Compiler & Runtime. Пробуем следующий код:

Imports System

Module Module1
    Sub Main()
        Console.WriteLine("Hello World!")
        Console.WriteLine("Press Enter Key to Exit.")
        Console.ReadLine()
    End Sub
End Module

Собираем:

$ vbnc hw.vb 
Visual Basic.Net Compiler version 0.0.0.5943 (Mono 4.0.1 - tarball)
Copyright (C) 2004-2010 Rolf Bjarne Kvinge. All rights reserved.

Assembly 'hw, Version=0.0, Culture=neutral, PublicKeyToken=null' saved successfully to '.../hw.exe'.
Compilation successful
Compilation took 00:00:00.5613440

И запускаем:

$ mono hw.exe
Hello World!
Press Enter Key to Exit.
→ Ссылка