Microsoft.Office.Core Başvurusu Eksik


94

Codeproject'te sağlanan örneği kullanarak, Microsoft.Office.Core kitaplığına başvuruyu nerede bulabileceğimi bulmakta zorlanıyorum.

"Başvurulan 'Microsoft.Office.Core' bileşeni bulunamadı." Hatasını alıyorum.

Bu sistemde yalnızca Office 2007 Enterprise Edition ve outlook 2003 yüklü. Bunun nedeni bu olabilir mi? Aksi takdirde hangi belirli dll'ye başvurmam gerekir?


Her iki öneriyi de denedim ve hala takılı kalmış gibi görünüyor. Soru, benim durumumda "sisteminize uygun COM Kitaplığı" nedir?
Maxim Gershkovich

Bunu hiç çözdün mü? Ben de aynı sorunu yaşıyorum.
rd42

Yanıtlar:


158

Sen referansı ekleyebilirsiniz Microsoft.Office.Coregelen COM bileşenleri arasında referans ekleyerek eklenti referans penceresindeki sekmede Microsoft Office 12.0 Object Library. Ekran görüntüsü hangi bileşene ihtiyacınız olduğunu gösterecektir.

görüntü açıklamasını buraya girin


.NET-> Office (PIA yüklüyse). Aşağıdaki Spike'ın cevabına bakın.
samis

3
"Microsoft Office 14.0 Nesne Kitaplığı" kullandım (12.0 mevcut değildi) ve işe yaradı. Ayrıca, önce "Microsoft.Office.Core" başvurusunu silmem gerekiyordu.
marsze

Jazakallah Adil bhai. Benim için çalıştı.
shaikhspear

2
Visual Studio 2017 kullanıyorum ancak COM sekmesinde "Microsoft Office XX.X Nesne Kitaplığı" nı göremiyorum. "Microsoft Office" yüklemem gerekiyor mu?
Casper

@Kin Ne yapacağını buldun mu? Ayrıca VS 2017 kullanıyorum ve ofis kütüphanelerine bir referans göremiyorum. Microsoft Office'i yüklemeniz gerekiyor mu?
Luis Palacios

23

Yukarıdaki cevaplardan hiçbiri bana yardımcı olmadı, Visual Studio 2017 kullanıyordum. Yaptığım şey, Visual Studio Installer kullanarak Office / SharePoint Development'ı kurmaktı.

görüntü açıklamasını buraya girin

Ondan sonra 'office'i görebildim, bu derleme Microsoft.Office.Core içeriyor.

görüntü açıklamasını buraya girin

Umarım bu size yardımcı olur.


18

Kullandığınız Office sürümü için PIA'yı (birincil birlikte çalışma derlemeleri) indirmeniz ve yüklemeniz gerekir. Kurulduktan sonra projenize bir referans ekleyebilirsiniz ve bunlar referans ekle iletişim kutusundan kullanılabilir olacaktır. İşte onları indirmek için bağlantılar ...

Office 2010 PIA

Ofis 2007 PIA

Office 2003 PIA


7
Üçünü de denedim. Şimdiye kadar şans yok!
Maxim Gershkovich

3
PIA'yı yükledim ancak "Referans ekle" içinde bulamadı, ancak daha sonra DLL'yi doğrudan yoldan ekleyerek benim için çalıştı, örneğin C: \ Windows \ assembly \ GAC_MSIL \ Microsoft.Office.Interop.Excel \ xxxx \ ... .
oo_dev

2
Diğer PIA'ları bulabildim ama Microsoft.Office.Core
JohnD

Referans olarak eklenmek üzere COM listesinde hala görünmüyor
Edward

5

.NET'te referansı yoksa. COM (sekme) veya görselin kurulu olduğu makinede ofis kurulu olmaması şunları yapabilir:

  1. İndirin ve kurun: Microsoft Office Geliştirici Araçları
  2. Şuradan referans ekleyin:

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

4

Office PIA'yı (birincil birlikte çalışma derlemeleri) yükledikten sonra, projenize bir başvuru ekleyin -> .NET sekmesinde - bileşen adı "Office"


1
Olumlu oy verildi çünkü bunu bana yaptı. Başlangıçta referansları .COM olarak ayarlamak sorunu çözmedi.
DrMarbuse

Bu .NET sekmesinin nerede olduğunu bilmek güzel
Edward

3

Şimdi bunun için bir nuget paketi var.

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

İlk önce COM'da ofis bulamadım, bu yüzden bu nuget'i denedim ve işe yaradı!


1
Yanıta ekleme: NuGet paket yöneticisi konsolu (örneğin PowerPoint veya Excel) aracılığıyla bir Office Interop kitaplığı yüklerseniz, bunu da yüklersiniz ... Visual Studio NuGet GUI kullanıyorsanız aynı durum doğru görünmüyor
Gürültücü

2

Referanslarınıza gerçekten gittiniz ve 'Microsoft.Office.Core' kitaplığına bir .NET referansı eklediniz mi? Örnek uygulamayı indirdiyseniz, cevap evet olacaktır. Durum buysa, makaledeki tavsiyelere uyun:

Sisteminizde Microsoft Office Outlook 2003 yoksa, "OutlookConnector" projesi tarafından kullanılan Referansları değiştirmeniz gerekebilir. Diğer bir deyişle, "'Outlook' ad alanı adı türü bulunamadı" olarak açıklanan bir yapı hatası aldıysanız, muhtemelen Office 2003'e sahip değilsinizdir. Proje referanslarını genişletin, etkilenen öğeleri kaldırın ve sisteminize uygun COM Kitaplığı. Birisinin bunu halletmek için dinamik bir yolu varsa, başardığınızı görmek isterim.

Bu, sorunu çözmeli. Değilse, bize bildirin.


2

Visual Studio 2012 kullanıyorsanız, bunun çalışması için ve Microsoft Office Core'a referans yapmak için, Visual Studio üzerinden üst menünün Project, Add Reference, Extensions butonlarına tıklayarak ve check office üzerinden referans yapmanız gerekmektedir. şimdi (14.0).


1

Office 2013 için PIA'yı bulamıyorsanız, şu adımları izleyin:

  1. Visual Studio'da Solution Explorer'a tıklayın
  2. Proje adınıza sağ tıklayın (çözüm adına değil)
  3. 'Nuget paketlerini yönet'i seçin
  4. Gözat'a tıklayın ve PIA 2013'ü arayın, gösterilen PIA'yı seçin ve Yükle'ye tıklayın ...

Ve bitirdiniz.



0

Eski c # projemi visual studio 2017 sürümüne açmaya çalıştığımda da aynı sorunla karşılaştım. Bu sorun tipik olarak VS'nin önceki sürümüyle yaptığınız bir projeyi açmaya ve onu en son sürümle açmaya çalıştığınızda ortaya çıkar. yaptığım şey, projemi açıp referansı projemden sildim, ardından Microsoft outlook 12.0 nesne kitaplığı ve Microsoft office 12.0 nesne kitaplığı Microsoft outlook 12.0 nesne kitaplığı ekledim


-1

Çözümün özelliklerini açın ve yayınla'yı tıklayın. Ardından, uygulama dosyalarını yeniden tıklayın. Ön koşulu dahil edecek şekilde değiştirin.


-1

Bende de aynı sorun var. Referans ekle, COM sekmesine, seçili bir Microsoft Office 15.0 Objetct Kitaplığı'na gittim. Tamam, sorunum biter.

kodumun bir parçası:

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()));
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.