Pregunta

Estoy obteniendo el siguiente error al compilar un proyecto BOO que utiliza Interop:

textbox = _ActiveWorkSheet.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal, left, top, width, height)

la mejor sobrecarga para el método 'Microsoft.office.interop.excel.shapes.addtextx (microsoft.office.core.msotextorientation, Single, Single, Single, Single)' no es compatible con la lista de argumentos '(Microsoft.office.core.msoteTtorientación, soltero, único, único, único) '.(BCE0017)

Como puede ver las firmas son las mismas, el problema parece estar reconociendo a MsoteDTorientación.

I instalé PIA para 2010, puede agregar una referencia a COM "Microsoft Office 14.0 Object Library", y puede importar el espacio de nombres de Microsoft.Office.core de él.Simplemente se desmorona en la firma del método.

Estoy usando la versión 0.9.1.3287 de BOO Compilador, según lo incrustado en SharpDevelop 3.2.1.

¿Alguna idea?

¿Fue útil?

Solución

OK,

Resulta que hay dos formas de traer el espacio de nombres de Microsoft.Office.core en el proyecto:

  1. Importar "Microsoft Office 14.0 Object Library" de COM (aparece como "Office" en sus referencias)
  2. Importar "Office" del GAC (aparece como "Oficina" en sus referencias)
  3. No sé por qué está listado como solo "Office" en la lista de Referencia Agregar GAC en lugar de "Microsoft.office.core".Es por eso que lo extrajo y terminé buscando en COM en su lugar, y al ver el espacio de nombres importado, pensé que todo estaba bien ...

    No sé lo suficiente sobre cómo se manejan los espacios de nombres idénticos de diferentes ensamblajes, pero ¿es una posibilidad de que los tipos estén marcados como no ser compatibles?Espero que mucha más personas tenga este problema es que sucedió con Visual Studio / C # ...

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