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.

[ Hits: 93.829 ]

Por: Alessandro de Oliveira Faria (A.K.A. CABELO) em 16/03/2007 | Blog: http://assuntonerd.com.br


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 [email protected] 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


Execução do programa Ola Mundo no Linux


Execução do programa Ola Mundo no Windows

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.


Execução do programa ConexaoFirebird 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.

Página anterior    

Páginas do artigo
   1. Introdução
   2. Download e instalação
   3. Os testes com o banco de dados Firebird
   4. Testando o programa em Visual Basic .NET
Outros artigos deste autor

Bioloid Control: Robótica virtual em Linux

ePub - O MP3 dos livros

Instalando o Android 5.0 Lollipop e suas novidades

OpenVino: Inteligência Artificial em tempo real sem GPU

Android Things - Aplicativos IoT padronizado para Indústria 4.0

Leitura recomendada

VPN no CentOS 5 - via Yum

Tutorial Radio Web Livre = IceCast2 + Ices2 + FFMP3

Monitorando servidores (Windows e Linux)

Migração de Software Proprietário para Software Livre em Instituição Pública

Terminator - Multiterminais em Janela Única

  
Comentários
[1] Comentário enviado por tiagotavares em 16/03/2007 - 08:16h

Este é o CABELO, sempre trazendo artigos mais do que úteis para nós.

Parabéns cara!

[2] Comentário enviado por removido em 16/03/2007 - 10:55h

Ótima matéria
Nota 10.

Muitas empresas utilizam a "desculpa" para a falta de vontade(aka:Preguiça) de migrar para o Linux, colocando a culpa no VB.
com o MONO, sabemos que a migração é possível.

Ótimo artigo do colega CABELO

[3] Comentário enviado por snails em 16/03/2007 - 12:58h

Eh...muito show essa noticia....

Corte de lucro no Devel da Microsoft...ahahaha.....puxa...e assim, aos poucos, o Linux vai se tornando um sistema universal, como o Windows....agora so falta os kras da Mono implementa WebServices e os pacotes Mobile pra esse Mono....vixi...ae sim num vai falta mais nada....
Kra, o Cabelo tras essas da onde ?? esse kra...sempre com noticia nova e sempre muito interessante....

[4] Comentário enviado por montanha em 16/03/2007 - 15:46h

Muito bom ver matérias sobre o MONO, nós do solivrepr juntamente com o psl-pr , iniciamos a primeira pós graduação em software livre com enfase em MONO e .Net no ano passado , em Ivaiporã , interior do Pr.

Parabéns Pela Matéria!

[5] Comentário enviado por sombriks em 16/03/2007 - 18:30h

pra variar, artigo do cabelo, :D

só uma correção:

onde tem:

O Projeto Mono é uma iniciativa da comunidade onde o principal objetivo é desenvolver uma versão open-source da plataforma Visual Studio .NET da Microsoft.

leia-se :

O Projeto Mono é uma iniciativa da comunidade onde o principal objetivo é desenvolver uma versão open-source da plataforma .NET da Microsoft.

eu só não mexi com mono profissionalmente ainda, mas já fuçei um pouquinho e pra webdeveloper vem o xsp e o xsp2, perfeito pra testar suas páginas num webserver; tem c# pra prototipar alguma coisa q futuramente vá ser php então eh show de bola.

[6] Comentário enviado por jragomes em 16/03/2007 - 18:54h

Engraçado, outro ótimo artigo do Cabelo, e me estranha é o fato do conceito do artigo estar em 6.4 (no momento deste post). Me parece que tem gente com inveja e fica dando nota baixa pra um artigo de qualidade.

Em relação ao .Net, foi uma das poucas coisas que a microsoft fez de bom. Documentou tudo que deveria para poder haver implementações de outras linguagens dentro da plataforma .Net. Já vemos trabalhos nesse sentido em Python, PHP e muitas outras.


[7] Comentário enviado por fredericco em 16/03/2007 - 20:04h

o mono n tras as vunerabilidades do framework da microsoft n?

[8] Comentário enviado por sombriks em 16/03/2007 - 22:15h

Não. Vc pode ter acesso a aPI's que também existem em ambiente win32, mas continua num sistema POSIX de responsa, :D

com realção à nota, acredito que seja normal, se levarmos em conta que .NET/Mono até hoje é uma cousa polêmica (com o Miguel de Icaza dizendo coisas como "seria bom se o GNOME fosse implementado em mono...") dentro do mundo livre. Somos reacionários, devemos adimitir. :P

[9] Comentário enviado por josir em 17/03/2007 - 10:28h

Cabelo,
muito boa a iniciativa em compartilhar os testes conosco!

1) como vc sentiu a performance? Quando eu usei algumas ferramentas feitas em Mono no OpenSuse, eu achei bem lentas. Por isso, a minha preocupação.

2) vc poderia nos dizer como é deploy dessa aplicação, ou seja, o que é preciso instalar na máquina do cliente.

[10] Comentário enviado por reimassupilami em 03/04/2007 - 12:49h

opa, faz tempo que não passo aqui pelo VOL, e logo de cara ja encontrei esse excelente artigo do mr Cabelo...

parabés, boa experiencia... :0)

[11] Comentário enviado por uprogramador em 27/04/2007 - 10:13h

Como desenvolver no mundo Windows gostaria muito de ter uma distribuição tipo LiveCD que permitisse reproduzir os testes deste artigo e desenvolver outros.
Já testei o monolivecd, mas não consegui executar aplicações .net criadas com o Visual Studio.
Parabéns ao desenvolvedores deste artigo e das ferramentas.
Acredito que essas iniciativas atrairão desenvolvedores Windows para o Linux.

[12] Comentário enviado por tula em 20/06/2007 - 00:39h

Amigos,
Fiz um aplicativo de teste com windows forms. Um formulário com vários componentes mas sem nenhum tratamento de evento. Compilei(C# Express) e levei ao fedora 5. Baixei o mono e depois executei # mono meuaplicativo.exe. Uma série de erros ligados aos windows forms apareceram. Não deveria simplesmente abrir o programa? Afinal, aplicativos windows forms funcionam ou não no linux/mono , ou eu fiz algo errado?

[13] Comentário enviado por removido em 22/06/2007 - 22:53h

Tenho minhas duvidas. Foi dito, ou foi o que eu entendi, que o mono foi criado para rodar aplicativos em VB .NET no linux, mas teoricamente ele é capaz de rodar qualquer aplicação desenvolvida e compilada no visual studio.NET, porque qualquer linguagem compilada no visual studio, seja VB C++ ou C#, será uma linguagem única que é interpretada pelo Jit(Just in Time Complier) e então executada. Isso é só uma teoria, mas vale a pena testar.

[14] Comentário enviado por NewWave em 29/12/2008 - 09:03h

Meus parabéns pela iniciativa, cara. Um dia eu espero dar uma grande contribuição, como essa, para o mundo Open Source.
Eu não entendo nada de .NET, mas eu sei que é preciso isso aí pra instalar o maldito programa da sony Ericsson "Wireless Manager" que controla o modem MD300 (claro 3g). Aí eu pergunto: tem como eu rodar esse programa no linux usando o MONO? Sou leigo nesse negócio de VB e .NET. Gostaria de uma luz.

Obrigado.

[15] Comentário enviado por ulisses_c em 12/08/2009 - 20:34h

Gente eu sei que estou meio atrasado neste post mas alguem sabe como rodar Visual C# .net 2008 com o linux ja tente tanto com o wine quanto com o mono e não me deixa nem instalar e quando eu tento abrir versão instalada ela nao abre

vlw gente e cabelo este artigo deveria ter tido maior notoriedade quando foi escrito pois concerteza ja haveriam diversas aplicações multiplatafroma.

[16] Comentário enviado por diogo soares em 21/05/2010 - 11:23h

Instalei o MonoDevelop e rodei a aplicação deu o seguinte erro:
Could not Load file or assembly 'Microsoft.VisualBasic, version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The entry point method could not be loaded.


Contribuir com comentário