Referência Microsoft.Office.Core ausente


93

Usando o exemplo fornecido no codeproject , estou lutando para descobrir onde posso encontrar a referência à biblioteca Microsoft.Office.Core.

Estou recebendo o erro "O componente referenciado 'Microsoft.Office.Core' não foi encontrado."

Tenho apenas o Office 2007 Enterprise Edition e o Outlook 2003 instalados neste sistema. Poderia ser essa a causa disso? Caso contrário, qual dll específica devo fazer referência?


Tentei as duas sugestões e ainda pareço estar preso. A questão é qual é a "Biblioteca COM apropriada para o seu sistema" no meu caso?
Maxim Gershkovich

Você já descobriu isso? Estou tendo o mesmo problema.
rd42

Respostas:


157

Você pode adicionar referência de Microsoft.Office.Coreda guia de componentes COM na janela adicionar referência adicionando referência de Microsoft Office 12.0 Object Library. A captura de tela mostrará qual componente você precisa.

insira a descrição da imagem aqui


.NET-> Office (se PIA instalado). Veja a resposta de Spike abaixo.
samis

3
Usei "Microsoft Office 14.0 Object Library" (12.0 não existia) e funcionou bem. Além disso, tive que excluir a referência a "Microsoft.Office.Core" primeiro.
marsze

Jazakallah Adil bhai. Funcionou para mim.
shaikhspear

2
Estou usando o Visual Studio 2017, mas não consigo ver a "Biblioteca de objetos do Microsoft Office XX.X" na guia COM. Eu preciso instalar o "Microsoft Office"?
Casper

@Kin Você descobriu o que fazer? Também estou usando o VS 2017 e não vejo nenhuma referência às bibliotecas do escritório. Você teve que instalar o Microsoft Office?
Luis Palacios

22

Nenhuma das respostas acima me ajudou, eu estava usando o Visual Studio 2017. O que eu fiz foi instalar o Office / SharePoint Development usando o Visual Studio Installer.

insira a descrição da imagem aqui

Depois disso, pude ver 'office', este assembly contém Microsoft.Office.Core.

insira a descrição da imagem aqui

Espero que isso ajude você.


18

Você precisa baixar e instalar o PIA (assemblies de interoperabilidade primários) para a versão do Office que você está usando. Depois de instalado, você pode adicionar uma referência ao seu projeto e eles estarão disponíveis na caixa de diálogo Adicionar referência. Aqui estão os links para baixá-los ...

PIA do Office 2010

PIA do Office 2007

Office 2003 PIA


7
Tentei todos os três. Sem sorte até agora!
Maxim Gershkovich

3
PIA instalado, mas não conseguiu encontrá-los em "Adicionar referência", mas funcionou para mim adicionando a DLL do caminho diretamente, por exemplo, C: \ Windows \ assembly \ GAC_MSIL \ Microsoft.Office.Interop.Excel \ xxxx \ ... .
oo_dev

2
Consegui encontrar os outros PIAs, mas não o Microsoft.Office.Core
JohnD

Ainda não aparece na lista COM para adicionar como referência
Edward

5

Se alguem nao tiver referencia em .NET. COM (guia) ou não ter escritório instalado na máquina onde o visual foi instalado pode fazer:

  1. Baixe e instale: Ferramentas de desenvolvedor do Microsoft Office
  2. Adicione referências de:

    C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\PIA\Office15

4

Depois de instalar o PIA do Office (assemblies de interoperabilidade primários), adicione uma referência ao seu projeto -> na guia .NET - nome do componente "Office"


1
Votado porque isso realmente me afetou. Definir inicialmente as referências para .COM não resolveu o problema.
DrMarbuse

É bom saber onde está essa guia .NET
Edward

3

Agora existe um pacote nuget para isso.

https://www.nuget.org/packages/NetOffice.Core.Net40/

Primeiro eu não encontrei o office no COM, então tentei este nuget e funcionou!


1
Adicionando à resposta: Se você instalar uma biblioteca de interoperabilidade do Office por meio do console do gerenciador de pacotes NuGet (digamos PowerPoint ou Excel), parece que vai instalar também ... o mesmo não parece ser verdade se você usar a GUI NuGet do Visual Studio
Thumper

2

Você realmente consultou suas referências e adicionou uma referência .NET à biblioteca 'Microsoft.Office.Core'? Se você baixou o aplicativo de exemplo, a resposta seria sim. Se for esse o caso, siga o conselho do artigo:

Se o seu sistema não tiver o Microsoft Office Outlook 2003, pode ser necessário alterar as referências usadas pelo projeto "OutlookConnector". Ou seja, se você recebeu um erro de compilação descrito como "O tipo de nome de namespace 'Outlook' não pôde ser encontrado", provavelmente não tem o Office 2003. Basta expandir as referências do projeto, remover os itens afetados e adicionar a biblioteca COM apropriada para o seu sistema. Se alguém tiver uma maneira dinâmica de lidar com isso, ficaria curioso para ver o que você fez.

Isso deve resolver seu problema. Se não, avise-nos.


2

Caso você esteja usando o Visual Studio 2012, para que funcione e para fazer referência ao Microsoft Office Core, você deve fazer a referência através do Visual Studio clicando no menu superior do botão Projeto, Adicionar Referência, Extensões e marcando qual agora é (14.0).


1

Se você não conseguir encontrar o PIA para o Office 2013, siga estas etapas:

  1. Clique em Solution Explorer no Visual Studio
  2. Clique com o botão direito no nome do seu projeto (não no nome da solução)
  3. Selecione 'Gerenciar pacotes Nuget'
  4. Clique em Browse e procure PIA 2013, escolha o PIA mostrado e clique em Install .....

E você está pronto.



0

Eu enfrentei o mesmo problema quando tentei abrir meu antigo projeto c # na versão 2017 do Visual Studio. Esse problema surge normalmente quando você tenta abrir um projeto feito com a versão anterior do VS e abri-lo com a versão mais recente. o que eu fiz foi abrir meu projeto e excluir a referência do meu projeto, então adicionei a biblioteca de objetos do Microsoft outlook 12.0 e a biblioteca de objetos do Microsoft office 12.0 Biblioteca de objetos do Microsoft outlook 12.0


-1

Abra as propriedades da solução e clique em publicar. Em seguida, clique novamente nos arquivos do aplicativo. Mude o pré-requisito para incluir.


-1

Eu tenho o mesmo problema. Fui para Adicionar referências, guia COM, e selecione Microsoft Office 15.0 Objetct Library. Ok, e meu problema termina.

parte do meu código é:

EXCEL.Range rango;
            rango = (EXCEL.Range)HojadetrabajoExcel.get_Range("AE13", "AK23");
            rango.Select();
      //      EXCEL.Pictures Lafoto = (EXCEL.Pictures).HojadetrabajoExcel.Pictures(System.Reflection.Missing.Value);
            EXCEL.Pictures Lafoto = HojadetrabajoExcel.Pictures(System.Reflection.Missing.Value);

            HojadetrabajoExcel.Shapes.AddPicture(@"D:\GENETICA HUMANA\Reportes\imagenes\" + Variables.nombreimagen,
                Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue,
                float.Parse(rango.Left.ToString()),float.Parse(rango.Top.ToString()), float.Parse(rango.Width.ToString()),
                float.Parse(rango.Height.ToString()));
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.