Question

Je reçois l'erreur suivante lors de la compilation d'un projet BOO qui utilise Interop:

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

la meilleure surcharge pour la méthode 'Microsoft.Office.interop.excel.shapes.AddtextextBox (Microsoft.Office.Core.msotextextextOrientation, unique, unique, unique, unique)' n'est pas compatible avec la liste des arguments '(Microsoft.office.core.msotextextextextextextorien, unique, unique, unique, unique) '.(BCE0017)

Comme vous pouvez le constater que les signatures sont identiques, le problème semble reconnaître msotextextOrientation.

J'ai installé PIA pour 2010, peut ajouter une référence à la "bibliothèque d'objets Microsoft Office 14.0" et peut importer l'espace de noms Microsoft.Office.core de celui-ci.Il tombe juste à part la signature de la méthode.

J'utilise la version 0.9.1.3287 BOO Compiler, comme intégré à SharpDevelop 3.2.1.

Des idées?

Était-ce utile?

La solution

OK,

Il s'avère qu'il existe deux façons d'apporter l'espace de noms Microsoft.Office.core dans le projet:

  1. Importer "Microsoft Office 14.0 Library" de COM (apparaît comme "Office" dans vos références)
  2. importer "bureau" de la GAC (apparaît comme "bureau" dans vos références)
  3. Je ne sais pas pourquoi il est répertorié comme juste "Office" dans la liste de référence de GAC Ajouter au lieu de "Microsoft.Office.core".C'est pourquoi je l'ai manqué et ai fini par regarder dans COM à la place, et voir l'espace de noms importé bien, je pensais que tout allait d'accord ...

    Je ne sais pas assez sur la manière dont les espaces de noms identiques à partir de différents assemblages sont gérés, mais c'est une possibilité que les types soient signalés comme non compatibles ne sont qu'un problème BOO / SharpDEvelop?Je m'attendrais à beaucoup plus de gens à avoir ce problème est-il arrivé avec Visual Studio / C # ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top