• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

ceptrus

criar biblioteca

7 mensagens neste tópico

boas,

estou a desenvolver uma biblioteca em C#

estou a usar algo deste género:

try {
...
throw new Exception("...");
}
catch {
throw new Exception("...");
}

é tudo compilado sem erros.

depois copiei a dll gerada para outro sitio, criei um programa de teste  e adicionei a referencia da nova localização da minha biblioteca ao programa. Neste programa de teste nao estou a usar nenhum bloco try .. catch

Até aqui nada de mal, o problema é quando na execução do programa é chamada uma função da minha biblioteca e alguma instrução de throw é executada;

Como seria de esperar o programa pára e dá erro, mas o grande problema é que além disto, o VS ainda me mostra onde deu o erro dentro da class da minha biblioteca, isto é,

supondo que o código é este: myLib.myClass.myStaticFunc();

o VS apresenta-me o código completo da class myClass e sinaliza-me qual "throw" deu a origem ao erro dentro da função myStaticFunc.

Acho que a partir do momento k o .dll é criado que o código não devia ser mais possível de recuperar e é isso que queria fazer, que ao dar erro dentro da função myStaticFunc() que o VS apontasse o erro para a função do programa de teste e não para dentro da .dll

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Certifica-te que estas a compilar o .dll final em modo "Release" e que adicionaste a referência para esse .dll e não para o projecto da tua biblioteca.

De qualquer maneira, acho que o problema não está ai. Se reparares, o VS apresenta o código completa da tua classe abrindo o teu ficheiro de código, porque ele existe no teu computador. Exprimenta fazê-lo noutra máquina onde o código fonte não existe e vais reparar que ele não te mostra código nenhum.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim, já tinha compilado em realease e o problema mantem-se..

como disse, copiei o dll gerado para outra pasta fora do projecto, e depois num novo programa adicionei a referencia da dll que copiei.

mesmo tendo o código no meu pc, como criei um programa novo e apenas dei a referencia da dll que copiei para uma nova pasta, o VS nunca saberia, ou nao deveria saber, que tb tinha o codigo fonte da dll no mesmo computador mas noutra pasta..

o k me parece é k a dll gerada é como se fosse um zip dos ficheiros de que a biblioteca é composta

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

por acaso.. tinhas razao

foi só mudar o nome da pasta onde está o codigo fonte da biblioteca e já nao voltou a abrir o codigo fonte da class onde dá o erro..

nao percebo como é k o VS faz isto mas ok.. já percebi o problema.

brigado pela dica:)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boas,

neste momento estou com outra duvida e para nao estar a criar outro topico novo deixo aqui..

a biblioteca em C# que estou a desenvolver faz uso de uma outra biblioteca já existente.

Neste momento, depois de compilar fico com 2 .dll, mas a minha intenção era ficar apenas com o meu, de modo a que o dll que estou a usar contivesse o outro dll, tipo 2 em 1

Alguma forma de o fazer ?

Já agora,

tenho uma BD em mysql no servidor de http://terrasdalve.com, visto ser um servidor remoto, queria saber o que meter no campo servidor para a connection string. Já experimentei meter "http://terrasdalve.com" mas nao dá, nao se consegue ligar.

"Server=http://terrasdalve.com;Database=myTable;Uid=xxxx;Pwd=yyyy ;"

este é um exemplo da connection string k estou a usar

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora