Pregunta

Tenemos una situación en la que vamos a tener dos VSTO los complementos de Outlook que tanto empezar con algunas común de código compartido, pero el código compartido probablemente difieren a lo largo del tiempo.Idealmente, nos gustaría reestructurar los complementos para el factor a cabo el común de código en un archivo dll compartido, pero para los no-razones técnicas, esta no es una opción ahora.¿Qué problemas puede anticipar si el agregar-ins instalados en la misma instancia de outlook?¿Ves los problemas que surgen debido a que habría dos clases con el mismo nombre y el mismo espacio de nombres, pero con diferentes definiciones cargado por los dos diferentes complementos en la misma instancia de outlook?También uno de los complementos necesita llamar a un formulario en el otro complemento.¿Crees que esto va a ser un problema con las diferencias en el código común?

Suponiendo que logramos reestructurar los complementos para separar un archivo dll con todo el código común, se Outlook tiene un problema con las diferentes versiones de la misma dll desplegado por los dos diferentes complementos?

¿Fue útil?

Solución

Mi proyecto actual había hecho similar compartir código entre VSTO complementos para la Palabra.Por ahora, estamos usando referencias para el otro proyecto con "copia local" en tiempo de compilación, pero quisiera cambiar que para hacer referencia al código compartido fuera de la GAC, así que se liberan desde el escenario de la construcción de la componente compartido que requiere una reconstrucción de todos los proyectos que dependen de él.

Si todos los de su biblioteca compartida dll se "copia local" durante la construcción, usted no debería tener ningún nombre/conflictos de nombres - pero tendrás que reconstruir el complemento, siempre y cuando tu biblioteca compartida cambios en el código.Si desea que la construye para ser manejado por separado, crear un complemento que servirá como la biblioteca, que instala una copia de sí mismo en el GAC para que otros complementos puede utilizar.He incluido algunos enlaces que muestran cómo llamar a código de otros complementos.En la práctica he encontrado que es un poco tonto porque de VSTO ser .Red en la parte superior de la Oficina de código nativo.

Referencias:

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top