Evitar validación de referencia durante compilación

27/05/2008 - 18:12 por El Cote | Informe spam
Éste es un mensaje de varias partes en formato MIME.
=_NextPart_000_000E_01C8BFEA.8C2979C0

Hola compañeros...

¿Cómo evito que VS.NET me valide una referencia que tengo agregada a mi proyecto durante la compilación?

Necesito hacer esto para que en caso que no exista la referencia adicionada al proyecto en el computador donde se instale el aplicativo, poder controlar la excepción y así hacer unas cosas distintas a las que se harían si existiera la referencia.

Espero haberme explicado.

Muchas gracias!
=_NextPart_000_000E_01C8BFEA.8C2979C0

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content=text/html;charset=iso-8859-1>
<META content="MSHTML 6.00.6000.16640" name=GENERATOR></HEAD>
<BODY id=MailContainerBody
style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-TOP: 15px"
bgColor=#ffffff leftMargin=0 topMargin=0 CanvasTabStop="true"
name="Compose message area">
<DIV><FONT face=Arial size=2>Hola compañeros...</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>¿Cómo evito que VS.NET me valide una referencia que
tengo agregada a mi proyecto durante la compilación?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Necesito hacer esto para que en caso que no exista
la referencia adicionada al proyecto en el computador donde se instale el
aplicativo, poder controlar la excepción y así hacer unas cosas distintas a las
que se harían si existiera la referencia.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Espero haberme explicado.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Muchas gracias!</FONT></DIV></BODY></HTML>

=_NextPart_000_000E_01C8BFEA.8C2979C0--
 

Leer las respuestas

#1 Alberto Poblacion
27/05/2008 - 18:32 | Informe spam
"El Cote" wrote in message
news:
¿Cómo evito que VS.NET me valide una referencia que tengo
agregada a mi proyecto durante la compilación?

Necesito hacer esto para que en caso que no exista la
referencia adicionada al proyecto en el computador donde
se instale el aplicativo, poder controlar la excepción y así hacer
unas cosas distintas a las que se harían si existiera la referencia.

Espero haberme explicado.



Me temo que no, no te has explicado demasiado bien. Vamos a ver, ¿cuándo
quieres hacer la validación, al compilar o al ejecutar? El primer párrafo
parece indicar que al compilar, pero el segundo que al ejecutar.

Si al compilar no existe una de las DLLs referenciadas no ocurre nada,
símlemente te sale un iconito amarillo junto a la Referencia en el
Explorador de Soluciones, a no ser que realmente el código contenga llamadas
a los contenidos de dicha DLL, en cuyo caso no hay más remedio que tenerla
disponible en tiempo de compilación porque sino el compilador no tiene forma
de validar lo que está compilando.

Pero en tiempo de ejecución, sea en la misma máquina o en otra, puedes
ejecutar el programa sin la DLL. No pasa nada mientras el programa no
intente hacer una llamada a las clases contenidas en la dll, que sería el
momento en que daría un error. Para ver si la dll existe y es alcanzable por
tu programa, se me ocurre que podrías hacer una llamada de prueba dentro de
un try...catch para ver si da error o no.

La alternativa a todo lo anterior es no meter en ningún sitio la Referencia,
y cargar la dll en tiempo de ejecución y hacerle llamadas mediante
Reflexión. Pero esto tiene el inconveniente de que el compilador no puede
validar las llamadas que haces, con lo que todos los errores te los
encuentras en tiempo de ejecución (aparte de que es menos eficiente y va más
lento).

Preguntas similares