Falta la referencia de Microsoft.Office.Core


93

Usando el ejemplo provisto en codeproject , estoy luchando por averiguar dónde puedo encontrar la referencia a la biblioteca Microsoft.Office.Core.

Recibo el error "No se pudo encontrar el componente al que se hace referencia 'Microsoft.Office.Core'".

Solo tengo Office 2007 Enterprise Edition y Outlook 2003 instalados en este sistema. ¿Podría ser esta la causa de esto? De lo contrario, ¿a qué DLL específico se supone que debo hacer referencia?


Probé ambas sugerencias y todavía parece estar estancado. La pregunta es ¿cuál es la "Biblioteca COM apropiada para su sistema" en mi caso?
Maxim Gershkovich

¿Alguna vez resolviste esto? Tengo el mismo problema.
rd42

Respuestas:


157

Puede agregar una referencia de Microsoft.Office.Coredesde la pestaña de componentes COM en la ventana Agregar referencia agregando una referencia de Microsoft Office 12.0 Object Library. La captura de pantalla mostrará qué componente necesita.

ingrese la descripción de la imagen aquí


.NET-> Office (si PIA está instalado). Vea la respuesta de Spike a continuación.
samis

3
Utilicé "Microsoft Office 14.0 Object Library" (12.0 no existía) y funcionó también. Además, primero tuve que eliminar la referencia a "Microsoft.Office.Core".
marsze

Jazakallah Adil bhai. Trabajó para mi.
shaikhspear

2
Estoy usando Visual Studio 2017 pero no puedo ver la "Biblioteca de objetos de Microsoft Office XX.X" en la pestaña COM. ¿Necesito instalar "Microsoft Office"?
Casper

@Kin ¿Descubriste qué hacer? También estoy usando VS 2017 y no veo una referencia a las bibliotecas de la oficina. ¿Tuviste que instalar Microsoft Office?
Luis Palacios

22

Ninguna de las respuestas anteriores me ayudó, estaba usando Visual Studio 2017. Lo que hice fue instalar Office / SharePoint Development usando Visual Studio Installer.

ingrese la descripción de la imagen aquí

Después de eso, pude ver 'oficina', este ensamblado contiene Microsoft.Office.Core.

ingrese la descripción de la imagen aquí

Espero que esto te ayude.


18

Debe descargar e instalar el PIA (ensamblados de interoperabilidad primarios) para la versión de Office que está utilizando. Una vez instalado, puede agregar una referencia a su proyecto y estarán disponibles en el cuadro de diálogo Agregar referencia. Aquí están los enlaces para descargarlos ...

Office 2010 PIA

Office 2007 PIA

Oficina 2003 PIA


7
Probé los tres. ¡Hasta ahora no hemos tenido suerte!
Maxim Gershkovich

3
Instalé PIA pero no pude encontrarlos en "Agregar referencia", pero luego funcionó para mí agregando la DLL de la ruta directamente, por ejemplo, C: \ Windows \ assembly \ GAC_MSIL \ Microsoft.Office.Interop.Excel \ xxxx \ ... .
oo_dev

2
He podido encontrar los otros PIA pero no Microsoft.Office.Core
JohnD

Todavía no aparece en la lista COM para agregar como referencia
Edward

5

Si alguien no tiene referencia en .NET. COM (pestaña) o no tener Office instalado en la máquina donde se instaló Visual puede hacer:

  1. Descargar e instalar: Herramientas para desarrolladores de Microsoft Office
  2. Agregue referencias de:

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

4

Después de instalar Office PIA (ensamblados de interoperabilidad primarios), agregue una referencia a su proyecto -> está en la pestaña .NET - nombre del componente "Office"


1
Voto a favor porque esto realmente me hizo a mí. Establecer inicialmente las referencias a .COM no resolvió el problema.
DrMarbuse

Es bueno saber dónde está esta pestaña .NET
Edward

3

Ahora hay un paquete nuget para eso.

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

Primero no encontré la oficina en COM, ¡así que probé este nuget y funcionó!


1
Agregando a la respuesta: si instala una biblioteca de interoperabilidad de Office a través de la consola del administrador de paquetes NuGet (digamos PowerPoint o Excel), parece instalar esto también ... lo mismo no parece ser cierto si usa la GUI de Visual Studio NuGet
Thumper

2

¿Realmente ha ido a sus referencias y ha agregado una referencia .NET a la biblioteca 'Microsoft.Office.Core'? Si descargó la aplicación de ejemplo, la respuesta sería sí. Si ese es el caso, siga los consejos del artículo:

Si su sistema no tiene Microsoft Office Outlook 2003, es posible que deba cambiar las referencias utilizadas por el proyecto "OutlookConnector". Es decir, si recibió un error de compilación descrito como "No se pudo encontrar el tipo de nombre de espacio de nombres 'Outlook'", probablemente no tenga Office 2003. Simplemente expanda las referencias del proyecto, elimine los elementos afectados y agregue la biblioteca COM adecuada para su sistema. Si alguien tiene una forma dinámica de manejar esto, me gustaría ver que lo hayas hecho.

Eso debería resolver tu problema. Si no es así, avísenos.


2

En caso de que esté utilizando Visual Studio 2012, para que esto funcione y para hacer referencia a Microsoft Office Core, debe hacer la referencia a través de Visual Studio haciendo clic en el botón Proyecto, Agregar referencia, Extensiones del menú superior y verificando Office que es ahora (14.0).


1

Si no puede encontrar PIA para Office 2013, siga estos pasos:

  1. Haga clic en el Explorador de soluciones en Visual Studio
  2. Haga clic derecho en el nombre de su proyecto (no en el nombre de la solución)
  3. Seleccione 'Administrar paquetes Nuget'
  4. Haga clic en Examinar y busque PIA 2013, elija el PIA que se muestra y haga clic en Instalar .....

Y ya está.



0

Enfrenté el mismo problema cuando intenté abrir mi antiguo proyecto de C # en la versión Visual Studio 2017. Este problema surge normalmente cuando intenta abrir un proyecto que hizo con una versión anterior de VS y lo abre con la última versión. Lo que hice fue abrir mi proyecto y eliminar la referencia de mi proyecto, luego agregué la biblioteca de objetos de Microsoft Outlook 12.0 y la biblioteca de objetos de Microsoft Office 12.0 Biblioteca de objetos de Microsoft Outlook 12.0


-1

Abra las propiedades de la solución y haga clic en publicar. Luego, vuelva a hacer clic en los archivos de la aplicación. Cambie el requisito previo para incluirlo.


-1

Tengo el mismo problema. Fui a Agregar referencias, pestaña COM, una biblioteca seleccionada de Objetct de Microsoft Office 15.0. Ok, y mi problema termina.

parte de mi código es:

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()));
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.