Software
Type library exporter warning processing PDF Imprimir Correo electrónico
Software
Escrito por Pablushka   
Viernes 11 de Diciembre de 2009 17:47

C# es un lenguaje muy poderoso y las mejoras que se suceden con el tiempo lo hacen aún mucho más potente y robusto. Sin embargo a veces nos encontramos con errores que suelen ser bastante complicados de depurar. Este apareció cuando quise crear un objeto COM desde una dll hecha en c# que tiene una referencia a un webservice:

Type library exporter warning processing 'SmartSourceMicro.wsRemoteDeposit.RemoteDepositSoapClient, SmartSourceMicro'. Warning: Type library exporter encountered a type that derives from a generic class and is not markedas [ClassInterface(ClassInterfaceType.None)]. Class interfaces cannot be exposed for such types. Consider marking the type with [ClassInterface(ClassInterfaceType.None)] and exposing an explicit interface as the default interface to COM using the ComDefaultInterface attribute.


Bueno, como se imaginarán la depuración del error fue bastante engorrosa. Muchas cosas encontre en la web sobre este error pero ultimamente pareciera que los errores que me aparecen son demasiado específicos y poco frecuentes porque casi no encuentro solución. Es por ello que decidí publicar la solución de éste para que nadie sufra lo mismo que yo:

1. El error se debe a que en mi web service, utilizo métodos y propiedades de un tipo de datos que no se puede traducir a un objeto COM, como por ejemplo un List<>. Ahora bien, yo no quiero que los métodos del webservice sean parte del objeto COM, entoces...

2. El error se soluciona si al crear la referencia al webservice, le decimos que ésta no sea public sino internal, para ello, al crear la referencia al webservice, en el cuadro de diálogo que nos pide el server y el nombre, presionamos el botón Advanced y allí escogemos que el ámbito de la instancia de nuestro webservice sea Internal, de este modo los métodos y propiedades del webservice no se exportan al objeto COM y se usan, precisamente, internamente.

Listo. Así de fácil. Al compilar el proyecto desaparece el molesto warning.

Última actualización el Jueves 28 de Enero de 2010 17:48
 
MultiBDQuery: Ejecutar el mismo query en muchas bases de datos PDF Imprimir Correo electrónico
Software
Escrito por Pablushka   
Martes 26 de Mayo de 2009 18:00

No se si existe una herramienta para hacer esto dentro del SQL Server Managment Studio. Pero si no la hay, entonces este programita le va a venir bien a más de uno. Se trata simplemente de un programa al cual se le pasa un servidor, se seleccionan las bases de datos a ser tratadas y un query que se va a correr en todas las bases de datos seleccionadas.

Última actualización el Jueves 28 de Enero de 2010 17:49
Leer más...
 
Búsqueda recursiva de controles en ASP.Net PDF Imprimir Correo electrónico
Software
Escrito por Pablushka   
Jueves 23 de Abril de 2009 18:17

Muchas veces es necesario encontrar un control dentro de una página asp.net que está anidado dentro de varios controles contenedores. Cuando esto sucede no es posbile recordar todo el path de controles anidados para poder hacer un simple FindControl, entonces es cuando este pequeño código nos viene de perillas.

Última actualización el Jueves 28 de Enero de 2010 17:49
Leer más...
 
Problemas con Microsoft.VisualBasic desde C# PDF Imprimir Correo electrónico
Software
Escrito por Pablushka   
Lunes 12 de Mayo de 2008 11:14

Cuando queremos incluir el namespace Microsoft.VisualBasic en nuestro proyecto de c# a veces nos encontramos con pequeños pero molestos problemas a la hora de compilar o ejecutar la aplicación.

Última actualización el Jueves 28 de Enero de 2010 17:50
Leer más...
 
¿Cómo ejecutar el compilador de C# desde linux? PDF Imprimir Correo electrónico
Software
Escrito por Pablushka   
Miércoles 16 de Junio de 2004 14:41

EvaFácil. Instale Mono. Mono es la implementación del .Net Framework para linux. Actualmente van por la versión 2.2 y es muy estable y se pueden crear aplicaciones multi plataforma simples pero no pode ellos menos poderosas.

Posee un entorno de desarrollo propio llamado MonoDevelop y varias herramientas como MonoUML para crear esquemas UML y diseñar bonitos sistemas con último. Ahora es posible utilizar ADO.Net y acceder a bases de datos SQL Server y MySQL utilizando interfaces nativas.

Por otro lado, es posible también correr aplicaciones ASP.Net en Linux utilizando el módulo para Apache llamado mod_mono. Como se puede apreciar, Mono es una plataforma de desarrollo basado en el .NetFramework que ha dejado de ser una linda idea para convertirse en una herramienta interesante a la hora de hacer desarrollos multiplataforma. Esperemos que esto no socave el espíritu de la comunidad Linux y que ésta a su vez le abra las puertas a estas tecnologías.

Última actualización el Jueves 28 de Enero de 2010 17:50