Microsoft.Office.Core 참조 누락


93

codeproject에 제공된 예제를 사용하여 Microsoft.Office.Core 라이브러리에 대한 참조를 찾을 수있는 위치를 찾는 데 어려움을 겪고 있습니다.

"참조 된 구성 요소 'Microsoft.Office.Core'를 찾을 수 없습니다."라는 오류 메시지가 나타납니다.

이 시스템에는 Office 2007 Enterprise Edition과 Outlook 2003 만 설치되어 있습니다. 이것이 원인일까요? 그렇지 않으면 어떤 특정 dll을 참조해야합니까?


두 가지 제안을 모두 시도했지만 여전히 멈춘 것처럼 보입니다. 문제는 제 경우에 "귀하의 시스템에 적합한 COM 라이브러리"가 무엇입니까?
Maxim Gershkovich

이걸 알아 냈어? 나는 같은 문제가 있습니다.
rd42

답변:


157

참조를 추가하여 참조 추가 창 Microsoft.Office.Core에서 COM 구성 요소 탭에서 참조를 추가 할 수 있습니다 Microsoft Office 12.0 Object Library. 스크린 샷은 필요한 구성 요소를 보여줍니다.

여기에 이미지 설명 입력


.NET-> Office (PIA가 설치된 경우). 아래 Spike의 답변을 참조하십시오.
samis dec.

3
나는 "Microsoft Office 14.0 Object Library"(12.0이 존재하지 않음)를 사용했고 잘 작동했습니다. 또한 먼저 "Microsoft.Office.Core"에 대한 참조를 삭제해야했습니다.
marsze

Jazakallah Adil bhai. 나를 위해 일했습니다.
shaikhspear

2
Visual Studio 2017을 사용하고 있지만 COM 탭에 "Microsoft Office XX.X Object Library"가 표시되지 않습니다. "Microsoft Office"를 설치해야합니까?
Casper

@Kin 무엇을해야하는지 알아 냈습니까? 나는 또한 VS 2017을 사용하고 있으며 사무실 도서관에 대한 참조가 보이지 않습니다. Microsoft Office를 설치해야 했습니까?
Luis Palacios

22

위의 답변 중 어느 것도 도움이되지 않았습니다. 저는 Visual Studio 2017을 사용하고있었습니다. 제가 한 것은 Visual Studio Installer를 사용하여 Office / SharePoint Development를 설치 한 것입니다.

여기에 이미지 설명 입력

그 후 '사무실'을 볼 수 있었는데,이 어셈블리에는 Microsoft.Office.Core가 포함되어 있습니다.

여기에 이미지 설명 입력

도움이 되었기를 바랍니다.


18

사용중인 Office 버전에 대한 PIA (기본 interop 어셈블리)를 다운로드하여 설치해야합니다. 일단 설치되면 프로젝트에 대한 참조를 추가 할 수 있으며 참조 추가 대화 상자에서 사용할 수 있습니다. 다운로드 링크는 다음과 같습니다.

Office 2010 PIA

Office 2007 PIA

Office 2003 PIA


7
세 가지를 모두 시도했습니다. 지금까지 운이 없습니다!
Maxim Gershkovich

3
PIA를 설치했지만 "참조 추가"에서 찾을 수 없었지만 C : \ Windows \ assembly \ GAC_MSIL \ Microsoft.Office.Interop.Excel \ xxxx \ ... 경로에서 직접 DLL을 추가하여 저에게 효과적이었습니다. .
oo_dev

2
나는 다른 PIA를하지만 Microsoft.Office.Core 찾을 수 있었다
JohnD

참조로 추가 할 COM 목록에 여전히 표시되지 않음
Edward

5

누군가가 .NET. COM (탭) 또는 Visual이 설치된 컴퓨터에 Office가 설치되어 있지 않으면 다음을 수행 할 수 있습니다.

  1. 다운로드 및 설치 : Microsoft Office 개발자 도구
  2. 다음에서 참조 추가 :

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

4

Office PIA (주 interop 어셈블리)를 설치 한 후 프로젝트에 대한 참조를 추가합니다.-> .NET 탭에서 해당 참조를 추가합니다.


1
이것이 실제로 저에게 적용 되었기 때문에 찬성했습니다. 처음에 .COM에 대한 참조를 설정해도 문제가 해결되지 않았습니다.
DrMarbuse 2011

이 .NET 탭이 어디 있는지 알고 좋은
에드워드

3

이제이를위한 너겟 패키지가 있습니다.

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

처음에는 COM에서 사무실을 찾지 못했기 때문에이 너겟을 사용해 보았는데 효과가있었습니다!


1
답변에 추가 : NuGet 패키지 관리자 콘솔 (예 : PowerPoint 또는 Excel)을 통해 Office Interop lib를 설치하면 이것도 설치되는 것 같습니다 .Visual Studio NuGet GUI를 사용하는 경우에도 동일하지 않은 것 같습니다.
Thumper

2

실제로 참조로 이동하여 'Microsoft.Office.Core'라이브러리에 .NET 참조를 추가 했습니까? 예제 애플리케이션을 다운로드 한 경우 대답은 '예'입니다. 이 경우 기사의 조언을 따르십시오.

시스템에 Microsoft Office Outlook 2003이없는 경우 "OutlookConnector"프로젝트에서 사용하는 참조를 변경해야 할 수 있습니다. 즉, "네임 스페이스 이름 'Outlook'유형을 찾을 수 없습니다."라는 빌드 오류를 수신 한 경우 Office 2003이 없을 수 있습니다. 프로젝트 참조를 확장하고 영향을받는 항목을 제거한 다음 추가하십시오. 시스템에 적합한 COM 라이브러리. 누군가가 이것을 처리하는 역동적 인 방법을 가지고 있다면, 나는 당신이 한 일을보고 싶습니다.

그것은 당신의 문제를 해결할 것입니다. 그렇지 않은 경우 알려주십시오.


2

Visual Studio 2012를 사용하는 경우, 이것이 작동하고 Microsoft Office Core를 참조하기 위해서는 최상위 메뉴의 Project, Add Reference, Extensions 버튼을 클릭하고 Office를 확인하여 Visual Studio를 통해 참조해야합니다. 이제 (14.0)입니다.


1

Office 2013 용 PIA를 찾을 수없는 경우 다음 단계를 따르세요.

  1. Visual Studio에서 솔루션 탐색기를 클릭하십시오.
  2. 프로젝트 이름 (솔루션 이름 아님)을 마우스 오른쪽 버튼으로 클릭합니다.
  3. 'Nuget 패키지 관리'를 선택하십시오.
  4. 찾아보기를 클릭하고 PIA 2013을 검색 한 다음 표시된 PIA를 선택하고 설치 .....를 클릭합니다.

그리고 당신은 끝났습니다.



0

이전 C # 프로젝트를 Visual Studio 2017 버전으로 열려고 할 때 동일한 문제에 직면했습니다. 이 문제는 일반적으로 이전 버전의 VS로 만든 프로젝트를 열고 최신 버전으로 열려고 할 때 발생합니다. 내가 한 일은 내 프로젝트를 열고 내 프로젝트에서 참조를 삭제 한 다음 Microsoft Outlook 12.0 개체 라이브러리 및 Microsoft Office 12.0 개체 라이브러리를 추가했습니다. Microsoft Outlook 12.0 개체 라이브러리


-1

솔루션의 속성을 열고 게시를 클릭합니다. 그런 다음 응용 프로그램 파일을 다시 클릭합니다. 포함 할 전제 조건을 변경하십시오.


-1

나도 같은 문제가 있습니다. 참조 추가, COM 탭, Microsoft Office 15.0 Objetct Library를 선택했습니다. 좋아, 내 문제가 끝납니다.

내 코드의 일부는 다음과 같습니다.

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()));
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.