Pergunta

Estou recebendo o seguinte erro quando estiver compilando um Boo projeto que utiliza de interoperabilidade:

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

O melhor de sobrecarga para o método 'Microsoft.Office.Interoperabilidade.Excel.Formas.AddTextbox(Microsoft.Office.Núcleo.MsoTextOrientation, único, único, único, único)' não é compatível com o argumento de list '(Microsoft.Office.Núcleo.MsoTextOrientation, único, único, único, único)'.(BCE0017)

Como você pode ver as assinaturas são o mesmo, o problema parece ser o reconhecimento MsoTextOrientation.

Eu instalei PIA para 2010, pode adicionar uma referência para COM "Microsoft Office 14.0 Object Library", e pode importar a Microsoft.Office.Núcleo de espaço de nomes a partir dele.Ele só cai na assinatura do método.

Eu estou usando o compilador boo versão 0.9.1.3287, como incorporado no Sharpdevelop 3.2.1.

Qualquer idéias?

Foi útil?

Solução

OK,

Acontece que existem duas maneiras de trazer a Microsoft.Office.Núcleo de espaço de nomes para o projeto:

  1. Importar "Microsoft Office 14.0 Object Library" de COM (mostra-se como "Office" em suas referências)
  2. Importação de arquivos "office" do GAC (mostra-se como "office" em suas referências)

Eu não sei por que ele é listado como sendo apenas "office" no GAC Adicionar a lista de referência em vez de "Microsoft.Office.Núcleo".É por isso que eu perdi e acabei olhando em COM em vez disso, e vendo o espaço de nomes importados multa eu pensei que estava tudo OK...

Eu não sei o suficiente sobre como idênticos espaços de nomes a partir de diferentes conjuntos são manipulados, mas é uma possibilidade que os tipos são sinalizadas como não sendo compatível é apenas uma metida/Sharpdevelop problema?Eu esperava muito mais do que as pessoas tenham este problema é o que aconteceu com o visual studio/C#...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top