No cabe la menor duda, que uno de nuestros trabajos mas desagradables es entender y resolver problemas de interaccion entre aplicaciones diseñadas y desarrolladas con diferentes tecnologias.
No hace mucho me toco ¡perder toda una mañana! Intentando interactuar con un ‘Component Object Model’ desarrollado en VB6. Referenciar e instanciar el objeto esta claro que fue muy sencillo… sin embargo las sonrisas se iniciaron al intercambiar informacion entre ambos :
Los tipos no coinciden. (Excepción de HRESULT: 0x80020005 (DISP_E_TYPEMISMATCH))
Originalmente utilizaba typos ‘variant’ en .NET ‘object’, estaba tan convencido de que todo estaba bien que incluso no quise buscar ninguna solucion en la ‘base de conocimiento’ ni en la ayuda… dale que te pego, hasta darme cuenta!!
Por defecto cualquier al crear un nuevo proyecto en el ‘AssemblyInfo’ nos crea una entrada que por defecto!... POR DIOS!! … es ‘False’. Se trata de saber que esa entrada, exactamente esa entrada debe estar en ‘True’ para disponer de la funcionalidad que requiere mi proyecto.
Mi disgusto viene despues de andar cuatro horas detrás de todo esto para entender que ademas de continuar siendo un novato despues de 30 años, mi torpeza tampoco mejora!
Espero que algun que otro sufridor con este problema, localice informacion en menos tiempo que yo.
<Assembly: ComVisible(False)> ‘POR DEFECTO (CON ERROR)
<Assembly: ComVisible(True)> ‘La SOLUCION!
o Bien Seleccionando la opcion 'Crear ensamblado visible a traves de COM' en la 'Informacion del Ensamblado'
Como siempre las cosas mas evidentes son las que nos quitan el sueño y nos hacen perder la mayor parte de nuestro preciado tiempo.
Saludotes!
Pep Lluis,
También en Vista y a pesar de disponer de un buen numero de herramientas para la gestión de código, en algunas situaciones nos interesa poder acceder a los proyectos de Visual Studio almacenados en algún que otro recurso de red. "También en Vista" necesitamos del 'caspol'... pero donde esta el de FW 3.0!Pues la respuesta es ¡No esta!, para estos menesteres, continuaremos utilizando el - .NET Framework 2.0 Configuration.
... Inicio>Panel de Control>Herramientas Administrativas>
A continuación abriremos la 'Management Console' del Framework 2.0 Configuration.
... Mi Pc>Directiva de seguridad en tiempo de ejecución>Equipo>All_Code>LocalIntranet_Zone>
En el agregaremos un grupo de código secundario y lo configuraremos para que el recurso 'url' este mapeado a su dirección, ejemplo : "file://Servidor/Recurso/*. " para posteriormente otorgarle conjunto de permisos 'FullTrust'.Espero que os sea de utilidad y como siempre no dudeis en consultar sobre cualquier duda al respecto.
Pep Lluis,
Por cierto, si el recurso pertenece a un Dominio... son buenas practicas que dicho equipo este unido a ese dominio.
Gracias a la iniciativa de Carlos Grevilla y Carles Hernandez, del DotNetClub de la UAB este Jueves me reunire con su grupo para charlar sobre .NET Framework y C#, en lo que espero sea una agradable introduccion para los no iniciados. Estaremos en la Escola Tecnica Superior d'Enginyeria de Bellaterra. Recuerda Jueves dia 10 de Mayo de este 2007!
····················< dot net club Z2 >····················
&
PepLluis