Domanda

Sto ricevendo il seguente errore durante la compilazione di un progetto BOO che utilizza Interop:

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

il miglior sovraccarico per il metodo 'microsoft.office.interop.excel.Shapes.AddtextBox (Microsoft.Office.Core.Msotextorientamento, single, single, single, single)' non è compatibile con l'elenco degli argomenti "(Microsoft.Office.Core.MotoStorientamento, singolo, singolo, singolo, singolo) '.(BCE0017)

Come puoi vedere le firme sono le stesse, il problema sembra riconoscere il msotextorientamento.

Ho installato PIA per il 2010, può aggiungere un riferimento alla COM "Microsoft Office 14.0 Object Objects Library" e può importare lo spazio dei nomi Microsoft.Office.Core.Va solo a parte la firma del metodo.

Sto usando BOO Compiler versione 0.9.1.3287, come incorporato in SharpDevelop 3.2.1.

Qualche idea?

È stato utile?

Soluzione

OK,

Si scopre che ci sono due modi per portare il Namespace dei nomi Microsoft.Office.Core:

    .
  1. Importa "Libreria oggetti di Microsoft Office 14.0" da COM (si presenta come "Office" nei tuoi riferimenti)
  2. Importa "ufficio" dal GAC (presenta come "ufficio" nei tuoi riferimenti)
  3. Non so perché è elencato come solo "ufficio" nel GAC Aggiungi elenco di riferimento invece di "microsoft.office.core".Ecco perché l'ho perso e finì per guardare invece a com, e vedendo lo spazio dei nomi importati bene ho pensato che fosse tutto ok ...

    Non so abbastanza su come sono gestiti gli spazi dei nomi identici da diversi assembly, ma è una possibilità che i tipi siano contrassegnati come non compatibili sia solo un problema boo / sharpdevirope?Mi aspetterei molto più persone avere questo problema è successo con Visual Studio / C # ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top