Testamos: Visual Basic 8 .NET no Linux. Vejam o resultado!
A NETi TECNOLOGIA resolveu instalar e testar a versão 1.2.3.1 do Mono, que promete executar no GNU/Linux aplicativos compilados no Visual Basic 8 .NET. O resultado atendeu as expectativas, sendo assim resolvemos publicar a experiência. O objetivo não é formar uma opinião sobre o produto, pois o suporte do Visual Basic no Mono é um recurso muito recente.
Parte 4: Testando o programa em Visual Basic .NET
Os programas utilizados neste documento foram escrito em Visual Basic pelo Marcelo Prado e estão disponíveis para download nos links abaixo (Valeu Marcelão)!!!
Ola Mundo: OlaMundo.tar.gz
Conexão com Firebird: ConexaoFirebird.tar.gz
Como não entendo nada de Visual Basic .NET, envie toda e qualquer dúvida sobre os programas acima para o Marcelo em marceloprado@netitec.com.br. Agora para começar a brincadeira, executaremos NO LINUX o binário criado pelo Visual Studio .NET.
Veja no exemplo abaixo como executar o programa Ola Mundo sobre o Mono:
$ mono OlaMundo.exe
Ola Mundo: OlaMundo.tar.gz
Conexão com Firebird: ConexaoFirebird.tar.gz
Como não entendo nada de Visual Basic .NET, envie toda e qualquer dúvida sobre os programas acima para o Marcelo em marceloprado@netitec.com.br. Agora para começar a brincadeira, executaremos NO LINUX o binário criado pelo Visual Studio .NET.
Veja no exemplo abaixo como executar o programa Ola Mundo sobre o Mono:
$ mono OlaMundo.exe
Já que tudo está funcionando muito bem, partiremos para a segunda parte. Ou seja, executar uma aplicação que utiliza a classe de conexão com o banco de dados Firebird. Neste caso devemos referenciar esta classe no projeto dentro do Visual Studio .NET, veja a ilustração abaixo do nosso amigo Marcelo.
Abaixo a visualização do programa sendo executado no Windows.
Provavelmente ao executar o programa dentro da pasta Release, ocorrerá o seguinte erro como no exemplo abaixo:
$ mono ConexaoFirebird.exe
** (ConexaoFirebird.exe:15033): WARNING **: The following assembly referenced from /home/cabelo/ConexaoFirebird.exe could not be loaded:
Assembly: FirebirdSql.Data.Firebird (assemblyref_index=4)
Version: 1.7.1.0
Public Key: fa843d180294369d
The assembly was not found in the Global Assembly Cache, a path listed in the MONO_PATH environment variable, or in the location of the executing assembly (/home/cabelo/).
** (ConexaoFirebird.exe:15033): WARNING **: Could not load file or assembly 'FirebirdSql.Data.Firebird, Version=1.7.1.0, Culture=neutral, PublicKeyToken=fa843d180294369d' or one of its dependencies.
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'FirebirdSql.Data.Firebird, Version=1.7.1.0, Culture=neutral, PublicKeyToken=fa843d180294369d' or one of its dependencies.
at <0x00000> <unknown method>
at ConexaoFirebird.My.MyProject+MyForms.get_Form1 () [0x00000]
at ConexaoFirebird.My.MyApplication.OnCreateMainForm () [0x00000]
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun () [0x00000]
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run (System.String[] commandLine) [0x00000]
at ConexaoFirebird.My.MyApplication.Main (System.String[] Args) [0x00000]
Sem pânico, em resumo este erro informa a ausência da classe referenciada. Como a classe não foi encontrada, podemos resolver este problema copiando o arquivo FirebirdSql.Data.Firebird.dll para a pasta da aplicação ou editando a variável ambiental MONO_PATH.
No meu caso, decidi copiar a dll para o diretório. Veja o exemplo abaixo:
$ cp /usr/lib/mono/gac/FirebirdSql.Data.Firebird/\
1.7.1.0__0706f5520aae4ff4/FirebirdSql.Data.Firebird.dll .
Pronto! Agora basta executar novamente o programa ConexaoFirebird.exe:
$ mono ConexaoFirebird.exe
Abaixo um vídeo da aplicação em execução:
Link no YouTube: http://www.youtube.com/watch?v=QZBa-LLAx-g
Para finalizar o Marcelo testou com sucesso também uma aplicação utilizando comunicação com sockets, ou seja, comunicação TCP/IP. Volto a mencionar detalhes sobre o Visual Basic é com o Marcelo, este documento tem como principal objetivo mostrar os teste efetuado aqui na empresa sobre o Mono.

Parabéns cara!