Microsoft Office PIA e como referenciar e construir corretamente a partir WebApp
-
22-08-2019 - |
Pergunta
Atualmente, estou tentando construir em TeamCity, que usa Microsoft.Office.Interop dll. Isto irá construir e trabalhar bem localmente como eu ter o Office instalado, no entanto ao tentar construí-lo em TeamCity ele falhar, uma vez que não tem referência.
Não consigo instalar o distribuível PIA como eu recebo uma mensagem de erro dizendo que o Office 2003 é necessário para ser instalada. Eu não quero instalar o Office no servidor.
Existe alguma maneira de contornar este problema?
Solução
Se todo o servidor TeamCity está fazendo é uma compilação, em seguida, adicione o Microsoft.Office.Interop DLL para um referências de pasta para o seu projeto, em seguida, configurar seu projeto para olhar na pasta que referências.
No entanto, se o servidor TeamCity também está executando testes que usam o Office Interop, então você vai ter problemas a menos que tenha o Office instalado na máquina que executa os testes.
Outras dicas
Não é verdade - a dll Interop é apenas uma camada de conversão entre o código .NET e o real código (COM) Office. Se você tiver a dll Interop sem o subjacente dll escritório, em seguida, todas as chamadas para o Interop irá falhar porque o Interop vai querer chamar o COM objetos ele está fazendo interoperável.
Esses objetos COM são objetos de escritório, assim você vai precisar de alguma parte do Office instalado.