2011-05-09 11 views
72

codeproject에 제공된 예제를 사용하여 Microsoft.Office.Core 라이브러리에 대한 참조를 찾을 수있는 곳을 찾기 위해 고심하고 있습니다.Microsoft.Office.Core Reference Missing

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

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

+0

두 가지 제안을 모두 시도했지만 여전히 고착 된 것처럼 보입니다. 내 질문에 "내 시스템에 적합한 COM 라이브러리"란 무엇입니까? –

+0

혹시 이것을 알아 냈습니까? 나는 같은 문제가있다. – rd42

답변

122

당신은 COM 구성 요소 참조 추가 창에서 탭에서 Microsoft.Office.Core의 참조를 추가 할 수 있습니다 ...을 다운로드 할 수있는 링크입니다 Microsoft Office 12.0 Object Library. 스크린 샷에는 필요한 구성 요소가 표시됩니다.

enter image description here

+0

이것은 실제로 효과가 있었지만 가장 큰 대답은 아니 었습니다. – Dave

+0

아래 표의 이유? – Adil

+0

.NET-> Office (PIA가 설치된 경우). 아래 스파이크의 대답을 참조하십시오. – samosaris

1

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

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

그러면 문제가 해결됩니다. 그렇지 않다면 저희에게 알려주십시오.

17

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

Office 2010 PIA

Office 2007 PIA

Office 2003 PIA

+6

3 명 모두 시도했습니다. 지금까지 운이 없다! –

+2

PIA가 설치되었지만 "참조 추가"에서 찾을 수 없지만 경로에서 직접 DLL을 추가하여 나를 위해 일했습니다. C : \ Windows \ assembly \ GAC_MSIL \ Microsoft.Office.Interop.Excel \ xxxx \ .... – copa017

+1

다른 PIA는 찾을 수 있지만 Microsoft는 아닙니다. Office.Core – JohnD

2

사무실 PIA (주 interop 어셈블리)을 설치 한 후, 프로젝트에 대한 참조를 추가 -> .NET 탭에 자사의 - 구성 요소 이름 "오피스"

+0

진술이 틀리기 때문에 Downvoted. – TheMathemagician

+0

Upvoted 이것이 실제로 저에게 그것을했기 때문입니다. 초기에 .COM에 대한 참조를 설정해도 문제가 해결되지 않았습니다. – DrMarbuse

+0

이 .NET 탭이 어디에 있는지 알고 있습니다. – Edward

2

이 경우 당신은 비주얼 사용 Studio 2012를 사용하려면 Microsoft Office Core에 대한 참조를 만들기 위해 최상위 메뉴의 프로젝트, 참조 추가, 확장 버튼을 클릭하고 현재 사무실 (14.0)을 클릭하여 Visual Studio를 통해 참조를 만들어야합니다.

5

누군가 .NET에서 참조가없는 경우.

  1. 다운로드 및 설치 :

    C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\PIA\Office15 
    
:
  • 가에서 참조를 추가 마이크로 소프트 오피스 개발자 도구을 COM (탭) 여부를 사무실 시각이 할 수있는 설치된 컴퓨터에 설치 한

  • -1

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

    -1

    동일한 문제가 있습니다. 내가 참조를 추가, COM 탭, 선택 Microsoft Office 15.0 Objetct 라이브러리에 갔다. 좋아, 내 문제는 끝이야. 내 코드의

    부분은 다음과 같습니다

    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())); 
    
    2

    이제위한 nuget 패키지가있다.

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

    우선은 COM에 사무실을 찾지 못했습니다, 그래서이 nuget을 시도하고 일했다!

    +1

    답변 추가 : NuGet 패키지 관리자 콘솔 (예 : PowerPoint 또는 Excel)을 통해 Office Interop 라이브러리를 설치하면이 도구도 설치됩니다. Visual Studio NuGet GUI를 사용하면 사실 인 것 같습니다. – Thumper

    3

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

    enter image description here

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

    enter image description here

    희망이 당신을 도와줍니다. 그런 다음 다음 단계를 수행 오피스 2013 PIA를 찾을 수없는 경우

    1

    : Visual Studio에서 솔루션 탐색기에

    1. 를 클릭하여 프로젝트 이름을 마우스 오른쪽 버튼으로 클릭 (하지 솔루션 이름)
    2. 선택 ..... 찾아보기
    3. 클릭 'Nuget 패키지 관리'와 같이 PIA를 선택하고 설치를 클릭 PIA 2013 검색

    그리고 끝났습니다.