Aracılığıyla paylaş


Uygulama Düzeyi Eklentisi Mimarisi

Visual Studio'daki Office geliştirme araçları kullanılarak oluşturulan eklentiler, kararlılık ve güvenlik sağlayan mimari özelliklere sahiptir ve onların Microsoft Office'le yakından çalışmasına olanak sağlar. Bu konuda eklentilerin aşağıdaki açıları anlatır:

  • Eklentileri anlama

  • Eklentilerin bileşenleri

  • Microsoft Office uygulamalarıyla eklentilerin nasıl çalıştığı

Uygulama alanı: Bu konudaki bilgiler, Microsoft Office 2010 ve 2007 Microsoft Office sisteminin uygulama düzeyi projelerine yöneliktir. Daha fazla bilgi için bkz: Office Uygulamalarında Kullanılabilir Özellikler ve Proje Türü.

Eklentiler oluşturma hakkında daha fazla bilgi için, bkz. Office Çözümleri Geliştirmesine Genel Bakış ve Uygulamaya Düzeyi Eklentilerini Programlamaya Başlarken.

Eklentileri Anlama

Eklenti yapılandırmak için Visual Studio'daki Office geliştirme araçlarını kullandığınızda, Microsoft Office uygulaması tarafından yüklenen bir yönetilen kod derlemesi oluşturursunuz. Derleme yüklendiğinde, eklenti uygulamada başlatılan olaylara (örn. kullanıcı bir menü öğesine tıkladığında) cevap verebilir. Eklenti ayrıca nesne modelini çağırıp uygulamayı genişletebilir ve .NET Framework'deki herhangi bir sınıfı kullanabilir.

Derleme, uygulamanın COM bileşenleriyle, uygulamanın birincil birlikte çalışma derlemesi tarafından iletişim kurar. Daha fazla bilgi için, bkz. Office Birincil Birlikte Çalışma Derlemeler ve Office Çözümleri Geliştirmesine Genel Bakış.

Eğer bir uygulama için çoklu eklentiler yüklenirse, her eklenti farklı bir uygulama etki alanına yüklenir. Bu, yanlış çalışan bir eklentinin diğer eklentilerin başarısız olmasına sebep olamaz. Ayrıca, uygulama kapatıldığında, tüm eklenti derlemelerinin bellekten yüklenmemesini sağlamaya yardımcı olur. Uygulama etki alanları hakkında daha fazla bilgi için, bkz. Application Domains.

Not

Visual Studio'da Office geliştirici aletleriyle oluşturduğunuz eklentiler, sadece konak Microsoft Office uygulaması bir son kullanıcı tarafından başlatıldığında kullanılmak için tasarlanmıştır. Eğer uygulama programlı olarak başlarsa (örn, Otomasyon kullanarak), eklenti beklendiği gibi çalışmayabilir.

Eklentilerin Bileşenleri

Eklenti derlemesi ana bileşen olsa bile, Microsoft Office uygulamalarının eklentileri nasıl buldukları ve yükledikleri hakkında önemli rol oynayan diğer birçok bileşen vardır.

Kayıt Defteri Girdileri

Microsoft Office uygulamaları, bir küme kayıt defteri girdisine bakarak eklentileri bulur. Eklentiler tarafından kullanılan kayıt defteri girdilerinin tüm listesi için, bkz. Uygulama Düzeyi Eklentileri için Kayıt Defteri Girdileri.

Çözümünüzü yapılandırdığınızda, eklentinizi çalıştırmanız ve hatasını ayıklamanız için Visual Studio tüm gerekli kayıt defteri girdilerini geliştirme bilgisayarında oluşturur. Daha fazla bilgi için bkz. Office Çözümleri Yapı İşlemine Genel Bakış.

Çözümünüzü dağıtmak için ClickOnce kullanırsanız, yayımlama işlemi tarafından yaratılan Kurulum programı otomatik olarak kayıt defteri anahtarlarını son kullanıcı bilgisayarında oluşturur. Daha fazla bilgi için bkz. Office Çözümleri Yayımlama.

Dağıtım Bildirimi ve Uygulama Bildirimi

Eklenti derlemesinin güncel sürümünü belirlemek ve yüklemek için, eklentiler dağıtım bildirimlerini ve uygulama bildirimlerini kullanır. Dağıtım bildirimi, geçerli uygulama bildirimini gösterir. Uygulama bildirimi, eklenti derlemesini gösterir ve derlemede yürütmek için giriş noktası sınıfını belirler. Daha fazla bilgi için bkz. Office Çözümlerinde Uygulama ve Dağıtım Bildirimleri.

Office Runtime için Visual Studio

Visual Studio'da Office geliştirici aletleri kulanılarak oluşturulan eklentileri çalıştırmak için, son kullanıcı bilgisayarlarında Visual Studio Tools for Office çalışma zamanı modülü yüklü olmalıdır. Çalışma zamanı, yönetilmeyen bileşenleri ve yönetilen derlemelerin bir kümesini içerir. Yönetilmeyen bileşenler eklenti derlemesini yükler. Yönetilen derlemeler, eklenti kodunuzun konak uygulamasını otomatikleştirmek ve genişletmek için kullandığı nesne modelini sağlar.

Daha fazla bilgi için bkz. Office için Visual Studio Araçları Çalışma Zamanına Genel Bakış.

Microsoft Office Uygulamalarıyla Eklentiler Nasıl Çalışır

Kullanıcı Microsoft Office uygulamasını başlattığında uygulama, en geçerli eklenti derlemesi sürümünü bulmak ve yüklemek için dağtım bildirimini ve uygulama bildirimini kullanır. Aşağıdaki çizim, bu eklentilerin temel mimarisini gösterir.

Eklenti mimarisi

2007 Office eklenti mimarisi

Not

.NET Framework 4 hedefleyen Office çözümlerinde, çözümler PIA'i doğrudan çağırmak yerine çözüm derlemesine gömülü olan PIA tür bilgisini kullanarak, konak uygulamasının nesne modelini çağırabilir. Daha fazla bilgi için bkz. Office Çözümleri Tasarlama ve Oluşturma.

Yükleme İşlemi

Kullanıcı bir uygulamayı başlattığında aşağıdaki adımlar gerçekleşir:

  1. Uygulama, Visual Studio'daki Office geliştirici aletler kullanılarak oluşturulan eklentileri belirleyen kayıt defteri girdilerini denetler.

  2. Eğer uygulama bu kayıt defteri girdilerini bulursa, uygulama VSTOLoader.dll yükleyen VSTOEE.dll'i yükler. Bunlar, Visual Studio 2010 Tools for Office Çalışma Zamanı Modülü için yükleyici bileşenleri olan yönetilmeyen DLL'lerdir. Daha fazla bilgi için bkz. Office için Visual Studio Araçları Çalışma Zamanına Genel Bakış.

  3. VSTOLoader.dll, .NET Framework yükler ve Visual Studio Tools for Office çalışma zamanı modülü'ın yönetilen kısmına başlar.

  4. Visual Studio Tools for Office çalışma zamanı modülü, bildirim güncellemelerini denetler ve en son uygulamayı ve dağıtım bildirimlerini yükler.

  5. Visual Studio Tools for Office çalışma zamanı modülü, bir dizi güvenlik denetimi gerçekleştirir. Daha fazla bilgi için bkz. Office Çözümlerinin Güvenliğini Sağlama.

  6. Eğer uygulama, çalıştırmak için güvenilirse, Visual Studio Tools for Office çalışma zamanı modülü derleme güncellemelerini denetlemek için dağıtım bildirmini ve uygulama bildirimini kullanır. Eğer derlemenin yeni bir sürümü kullanılabilirse, çalışma zamanı, derlemenin yen sürümünü istemci bilgisayarındaki ClickOnce önbelleğine yükler. Daha fazla bilgi için bkz. Office Çözümlerini Dağıtma.

  7. Visual Studio Tools for Office çalışma zamanı modülü, eklenti derlemesinin yükleneceği yeni bir uygulama etki alanı oluşturur.

  8. Visual Studio Tools for Office çalışma zamanı modülü, eklenti derlemesini uygulama etki alanına yükler.

  9. Visual Studio Tools for Office çalışma zamanı modülü, eğer siz onu geçersiz kıldıysanız, eklentinizdeki RequestComAddInAutomationService yöntemini çağırır.

    Eklentinizdeki bir nesneyi başka Microsoft Office çözümlerine geçirmek için bu yöntemi isteğe bağlı bir şekilde geçersiz kılabilirsiniz. Daha fazla bilgi için bkz. Uygulama Düzeyi Eklentilerindeki Kodu Başka Office Çözümlerinden Çağırma.

  10. Visual Studio Tools for Office çalışma zamanı modülü, eğer siz onu geçersiz kıldıysanız, eklentinizdeki RequestService yöntemini çağırır.

    Genişletilebilirlik arayüzünü uygulayan bir nesneyi döndürerek Microsoft Office özelliğini genişletmek için, bu yöntemi isteğe bağlı bir şekilde geçersiz kılabilirsiniz. Daha fazla bilgi için bkz. Genişletilebilirlik Arabirimi Kullanarak Kullanıcı Arabirimi (KA) Özelliklerini Özelleştirme.

    Not

    Visual Studio Tools for Office çalışma zamanı modülü, uygulama tarafından desteklenen her genişletilebilirlik arayüzü için RequestService yöntemine ayrı çağrılar yapar. RequestService yöntemine yapılan ilk çağrı, genellikle ThisAddIn_Startup yöntemine yapılan çağrıdan önce olmasına rağmen, eklentiniz RequestService yönteminin ne zaman veya kaç kere çağrılacağına dair varsayımlar yapmamalıdır.

  11. Visual Studio Tools for Office çalışma zamanı modülü, eklentinizdeki ThisAddIn_Startup'ı çağırır. Bu yöntem, Startup olayı için varsayılan olay işleyicisidir. Daha fazla bilgi için bkz. Office Projelerindeki Olaylar.

Ayrıca bkz.

Kavramlar

Belge Düzeyi Özelleştirmeleri Mimarisi

Office için Visual Studio Araçları Çalışma Zamanına Genel Bakış

Diğer Kaynaklar

Visual Studio'da Office Çözümleri Mimarisi

Uygulama Düzeyi Eklentileri Programlama

Office Çözümlerini Geliştirme

Office Çözümlerinin Güvenliğini Sağlama

Office Çözümlerini Dağıtma