Tengo un ensamblado .NET que he expuesto a COM a través de un archivo tlb, y un instalador que registra el tlb. He comprobado manualmente que el instalador funciona correctamente y que los clientes COM pueden acceder a la biblioteca. Hasta ahora, tan bueno ...¿Es posible probar un ensamble expuesto a COM de .NET?
Sin embargo, estoy tratando de armar algunas pruebas automáticas del sistema que verifiquen que el instalador esté funcionando correctamente. Como parte de eso, he automatizado la instalación en una VM, y ahora quiero hacer algunas llamadas a la biblioteca COM instalada para verificar que esté funcionando correctamente. Originalmente pensé en escribir algunas pruebas en VB6, pero ya tengo un gran conjunto de pruebas escritas en C#, que hacen referencia al ensamblado de .NET. Esperaba que pudiera cambiarlos para hacer referencia al .tlb, pero aparece un error cuando intento esto en VS2008:
La biblioteca de tipos ActiveX 'blah.tlb' se exportó de un ensamblado .NET y no se puede agregar como una referencia.
¿Hay alguna manera de engañar al VS2008 y permitirme agregar esta referencia, quizás editando el archivo tlb?
Google no ha encontrado ninguna solución. Todo lo que he encontrado es un artículo de Microsoft Connect indicando que éste es "por diseño": http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=120882
Un par de personas han mencionado el uso de tlbimp.exe. Si intento tlbimp.exe blah.tlb obtengo el error: "La biblioteca de tipo blah se exportó desde un ensamblado CLR y no se puede volver a importar como un ensamblado CLR". – Akash