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: 95.876 ]

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 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


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

Levelhead - Um jogo Print & Play (realidade aumentada)

Como instalar um display LCD em seu servidor Linux

IBM Omni Find Yahoo: Um mecanismo de busca corporativa em seu servidor

Impressione seus amigos com o Tux bonitinho no login modo console

Conectando com Bco Interbase/Firebird em Java

Leitura recomendada

Instalando e configurando o VNC

Rundeck - Um Poderoso Agendador de Tarefas

Mono - Por que usá-lo?

Instalando o amule a partir da source

Ginga-NCL no Ubuntu 10.04

  
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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts