Problema com a Microsoft.Office.Núcleo de assinaturas de método
-
12-12-2019 - |
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?
Solução
OK,
Acontece que existem duas maneiras de trazer a Microsoft.Office.Núcleo de espaço de nomes para o projeto:
- Importar "Microsoft Office 14.0 Object Library" de COM (mostra-se como "Office" em suas referências)
- 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#...