ไม่มีการอ้างอิง Microsoft.Office.Core


94

การใช้ตัวอย่างที่ให้ไว้ในcodeprojectฉันกำลังดิ้นรนหาวิธีหาข้อมูลอ้างอิงไปยังไลบรารี Microsoft.Office.Core

ฉันได้รับข้อผิดพลาด "ไม่พบส่วนประกอบที่อ้างถึง 'Microsoft.Office.Core'"

ฉันมี Office 2007 Enterprise Edition และ Outlook 2003 เท่านั้นที่ติดตั้งในระบบนี้ นี่อาจเป็นสาเหตุของเรื่องนี้หรือไม่? มิฉะนั้นฉันควรจะอ้างอิง dll ใดโดยเฉพาะ


ลองทั้งสองคำแนะนำแล้วก็ยังดูเหมือนจะติดขัด คำถามคือ "COM Library ที่เหมาะสมกับระบบของคุณ" ในกรณีของฉันคืออะไร?
Maxim Gershkovich

คุณเคยคิดออกไหม? ฉันมีปัญหาเดียวกัน
rd42

คำตอบ:


158

คุณสามารถเพิ่มการอ้างอิงMicrosoft.Office.Coreจากแท็บคอมโพเนนต์ COMในหน้าต่างอ้างอิงเพิ่มโดยเพิ่มการอ้างอิงของMicrosoft Office 12.0 Object Library. ภาพหน้าจอจะแสดงส่วนประกอบที่คุณต้องการ

ป้อนคำอธิบายภาพที่นี่


.NET-> Office (หากติดตั้ง PIA) ดูคำตอบของ Spike ด้านล่าง
samis

3
ฉันใช้ "Microsoft Office 14.0 Object Library" (ไม่มี 12.0) และใช้งานได้ดี นอกจากนี้ฉันต้องลบการอ้างอิงถึง "Microsoft.Office.Core" ก่อน
marsze

ญะซากัลลอฮ์ Adil bhai. ทำงานให้ฉัน
shaikhspear

2
ฉันใช้ Visual Studio 2017 แต่ฉันไม่เห็น "Microsoft Office XX.X Object Library" ในแท็บ COM ต้องติดตั้ง "Microsoft Office" หรือไม่
Casper

@ คินเจอแล้วเหรอ? ฉันใช้ VS 2017 ด้วยและฉันไม่เห็นการอ้างอิงถึงไลบรารีของสำนักงาน คุณต้องติดตั้ง Microsoft Office หรือไม่?
Luis Palacios

23

ไม่มีคำตอบข้างต้นช่วยฉันฉันใช้ Visual Studio 2017 สิ่งที่ฉันทำคือติดตั้ง Office / SharePoint Development โดยใช้ Visual Studio Installer

ป้อนคำอธิบายภาพที่นี่

หลังจากนั้นฉันก็สามารถเห็น 'office' ชุดประกอบนี้มี Microsoft.Office.Core

ป้อนคำอธิบายภาพที่นี่

หวังว่านี่จะช่วยคุณได้


18

คุณต้องดาวน์โหลดและติดตั้ง PIA (ชุดประกอบการทำงานร่วมกันหลัก) สำหรับ Office เวอร์ชันที่คุณใช้อยู่ เมื่อติดตั้งแล้วคุณสามารถเพิ่มการอ้างอิงไปยังโครงการของคุณและจะพร้อมใช้งานจากกล่องโต้ตอบเพิ่มการอ้างอิง นี่คือลิงค์สำหรับดาวน์โหลด ...

Office 2010 PIA

Office 2007 PIA

Office 2003 PIA


7
ลองทั้งสามแล้ว ป่านนี้ไม่มีโชค!
Maxim Gershkovich

3
ติดตั้ง PIA แต่ไม่พบใน "เพิ่มการอ้างอิง" แต่ก็ใช้งานได้สำหรับฉันโดยการเพิ่ม DLL จากเส้นทางโดยตรงเช่น C: \ Windows \ assembly \ GAC_MSIL \ Microsoft.Office.Interop.Excel \ xxxx \ ... .
oo_dev

2
ฉันสามารถค้นหา PIA อื่น ๆ ได้ แต่ไม่ใช่ Microsoft.Office.Core
JohnD

ยังไม่ปรากฏในรายการ COM เพื่อเพิ่มเป็นข้อมูลอ้างอิง
Edward

5

หากใครไม่มีข้อมูลอ้างอิงใน. NET COM (แท็บ) หรือไม่ได้ติดตั้งสำนักงานบนเครื่องที่ติดตั้งภาพสามารถทำได้:

  1. ดาวน์โหลดและติดตั้ง: Microsoft Office Developer Tools
  2. เพิ่มการอ้างอิงจาก:

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

4

หลังจากติดตั้ง Office PIA (แอสเซมบลีการทำงานร่วมกันหลัก) ให้เพิ่มการอ้างอิงไปยังโปรเจ็กต์ของคุณ -> บนแท็บ. NET - ชื่อคอมโพเนนต์ "Office"


1
โหวตเพิ่มขึ้นเพราะสิ่งนี้ทำกับฉันได้จริง ในขั้นต้นการตั้งค่าการอ้างอิงเป็น. COM ไม่สามารถแก้ปัญหาได้
DrMarbuse

ยินดีที่ได้ทราบว่าแท็บ. NET นี้อยู่ที่ไหน
Edward

3

ตอนนี้มีแพ็คเกจ nuget สำหรับสิ่งนั้น

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

ก่อนอื่นฉันไม่พบสำนักงานใน COM ดังนั้นลองใช้นักเก็ตนี้และได้ผล!


1
การเพิ่มคำตอบ: ถ้าคุณติดตั้ง Office Interop lib ผ่านคอนโซลตัวจัดการแพ็คเกจ NuGet (พูดว่า PowerPoint หรือ Excel) ดูเหมือนว่าจะติดตั้งสิ่งนี้ด้วยเช่นกัน ... ดูเหมือนจะไม่เป็นจริงถ้าคุณใช้ Visual Studio NuGet GUI
Thumper

2

คุณได้ไปที่ข้อมูลอ้างอิงของคุณและเพิ่มการอ้างอิง. NET ในไลบรารี 'Microsoft.Office.Core' แล้วหรือยัง หากคุณดาวน์โหลดแอปพลิเคชันตัวอย่างคำตอบคือใช่ หากเป็นเช่นนั้นให้ทำตามคำแนะนำในบทความ:

ถ้าระบบของคุณไม่มี Microsoft Office Outlook 2003 คุณอาจต้องเปลี่ยนการอ้างอิงที่ใช้โดยโครงการ "OutlookConnector" กล่าวคือหากคุณได้รับข้อผิดพลาดในการสร้างที่อธิบายว่า "ไม่พบชนิดของชื่อเนมสเปซ" Outlook "คุณอาจไม่มี Office 2003 เพียงแค่ขยายการอ้างอิงโครงการลบรายการที่เป็นปัญหาและเพิ่ม COM Library ที่เหมาะสมกับระบบของคุณ หากมีใครมีวิธีจัดการแบบไดนามิกฉันอยากรู้อยากเห็นว่าคุณทำสำเร็จแล้ว

นั่นน่าจะช่วยแก้ปัญหาของคุณได้ ถ้าไม่โปรดแจ้งให้เราทราบ


2

ในกรณีที่คุณใช้ Visual Studio 2012 เพื่อให้สามารถใช้งานได้และในการอ้างอิงถึง Microsoft Office Core คุณต้องทำการอ้างอิงผ่าน Visual Studio โดยคลิกที่เมนูด้านบนของโครงการปุ่มเพิ่มการอ้างอิงส่วนขยายและตรวจสอบสำนักงานที่ คือตอนนี้ (14.0)


1

หากคุณไม่พบ PIA สำหรับ Office 2013 ให้ทำตามขั้นตอนเหล่านี้:

  1. คลิกที่ Solution Explorer ใน Visual Studio
  2. คลิกขวาที่ชื่อโครงการของคุณ (ไม่ใช่ชื่อโซลูชัน)
  3. เลือก 'จัดการแพ็คเกจ Nuget'
  4. คลิกที่ Browse และค้นหา PIA 2013 เลือก PIA ที่แสดงแล้วคลิก Install .....

และคุณทำเสร็จแล้ว



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.