VSTO Eklentileri Mimarisi

Visual Studio'da Office geliştirici araçları kullanılarak oluşturulan VSTO Eklentileri, kararlılığı ve güvenliği vurgulayan ve Microsoft Office ile yakın çalışmalarına olanak tanıyan mimari özelliklere sahiptir. Bu konuda VSTO Eklentilerinin aşağıdaki yönleri açıklanmaktadır:

VSTO Eklentilerini Anlama

VsTO Eklentisi oluşturmak için Visual Studio'daki Office geliştirici araçlarını kullandığınızda, Microsoft Office uygulaması lication tarafından yüklenen bir yönetilen kod derlemesi oluşturursunuz. Derleme yüklendikten sonra VSTO Eklentisi uygulamada tetiklenen olaylara yanıt verebilir (örneğin, bir kullanıcı bir menü öğesine tıkladığında). VSTO Eklentisi, uygulamayı otomatikleştirmek ve genişletmek için nesne modeline de çağrı yapabilir ve .NET Framework'teki sınıflardan herhangi birini kullanabilir.

Derleme, uygulamanın birincil birlikte çalışma derlemesi aracılığıyla uygulamanın COM bileşenleriyle iletişim kurar. Daha fazla bilgi için bkz. Office birincil birlikte çalışma derlemeleri ve Office çözümleri geliştirmeye genel bakış (VSTO).

Bir uygulama için birden çok VSTO Eklentisi yüklüyse, her VSTO Eklentisi farklı bir uygulama etki alanına yüklenir. Bu, hatalı davranan bir VSTO Eklentisinin diğer VSTO Eklentilerinin başarısız olmasına neden olamayacağı anlamına gelir. Ayrıca, uygulama kapatıldığında tüm VSTO Eklenti derlemelerinin bellekten kaldırılmasını sağlamaya da yardımcı olur. Uygulama etki alanları hakkında daha fazla bilgi için bkz . Uygulama etki alanları.

Not

Visual Studio'da Office geliştirici araçlarını kullanarak oluşturduğunuz VSTO Eklentileri, yalnızca konak Microsoft Office uygulaması lication bir son kullanıcı tarafından başlatıldığında kullanılacak şekilde tasarlanmıştır. Uygulama program aracılığıyla başlatılırsa (örneğin, Otomasyon kullanılarak), VSTO Eklentisi beklendiği gibi çalışmayabilir.

VSTO Eklentilerinin Bileşenleri

Ana bileşen VSTO Eklenti derlemesi olsa da, Microsoft Office uygulaması'lerinin VSTO Eklentilerini bulma ve yükleme konusunda önemli bir rol oynayan birkaç bileşen daha vardır.

Kayıt defteri girdileri

Microsoft Office uygulaması lications, bir kayıt defteri girdileri kümesi arayarak VSTO Eklentilerini bulur. VSTO Eklentileri tarafından kullanılan kayıt defteri girdilerinin tam listesi için bkz . VSTO Eklentileri için kayıt defteri girdileri.

Çözümünüzü oluştururken Visual Studio, VSTO Eklentinizin hatalarını ayıklayıp çalıştırabilmeniz için geliştirme bilgisayarında gerekli tüm kayıt defteri girdilerini oluşturur. Daha fazla bilgi için bkz . Office çözümleri oluşturma.

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

Dağıtım bildirimi ve uygulama bildirimi

VSTO Eklentileri, VSTO Eklenti derlemesinin en güncel sürümünü tanımlamak ve yüklemek için dağıtım bildirimlerini ve uygulama bildirimlerini kullanır. Dağıtım bildirimi geçerli uygulama bildirimine işaret eder. Uygulama bildirimi VSTO Eklenti derlemesine işaret eder ve derlemede yürütülecek giriş noktası sınıfını belirtir. Daha fazla bilgi için bkz . Office çözümlerinde uygulama ve dağıtım bildirimleri.

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

Visual Studio'da Office geliştirici araçları kullanılarak oluşturulan VSTO Eklentilerini çalıştırmak için, son kullanıcı bilgisayarlarda Office çalışma zamanı için Visual Studio Araçları yüklü olmalıdır. Çalışma zamanı yönetilmeyen bileşenler ve bir dizi yönetilen derleme içerir. Yönetilmeyen bileşenler VSTO Eklenti derlemesini yükler. Yönetilen derlemeler, VSTO Eklenti kodunuzun konak uygulamayı otomatikleştirmek ve genişletmek için kullandığı nesne modelini sağlar.

Daha fazla bilgi için bkz. Office çalışma zamanı için Visual Studio Araçları genel bakış.

VSTO Eklentileri Microsoft Office uygulaması ile nasıl çalışır?

Kullanıcı bir Microsoft Office uygulaması lication başlattığında, uygulama VSTO Eklenti derlemesinin en güncel sürümünü bulmak ve yüklemek için dağıtım bildirimini ve uygulama bildirimini kullanır. Aşağıdaki çizimde bu VSTO Eklentilerinin temel mimarisi gösterilmektedir.

2007 Office add-in architecture

Not

.NET Framework 4 veya .NET Framework 4.5'i hedefleyen Office çözümlerinde çözümler, doğrudan PIA'ya çağırmak yerine çözüm derlemesine eklenmiş PIA tür bilgilerini kullanarak konak uygulamasının nesne modeline çağrır. Daha fazla bilgi için bkz . Office çözümleri tasarlama ve oluşturma.

Yükleme işlemi

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

  1. Uygulama, Visual Studio'daki Office geliştirici araçları kullanılarak oluşturulan VSTO Eklentilerini tanımlayan girdiler için kayıt defterini denetler.

  2. Uygulama bu kayıt defteri girdilerini bulursa, uygulama VSTOEE.dll dosyasını yükler ve bu da VSTOLoader.dll dosyasını yükler. Bunlar, Office Çalışma Zamanı için Visual Studio 2010 Araçları'nın yükleyici bileşenleri olan yönetilmeyen DLL'lerdir. Daha fazla bilgi için bkz. Office çalışma zamanı için Visual Studio Araçları genel bakış.

  3. VSTOLoader.dll , .NET Framework'leri yükler ve Office çalışma zamanı için Visual Studio Araçları yönetilen bölümünü başlatır.

  4. Office çalışma zamanı Visual Studio Araçları bildirim güncelleştirmelerini denetler ve en son uygulama ve dağıtım bildirimlerini indirir.

  5. Office çalışma zamanı için Visual Studio Araçları bir dizi güvenlik denetimi gerçekleştirir. Daha fazla bilgi için bkz . Office çözümlerinin güvenliğini sağlama.

  6. VSTO Eklentisinin çalışmasına güveniliyorsa, Office çalışma zamanı için Visual Studio Araçları derleme güncelleştirmelerini denetlemek için dağıtım bildirimini ve uygulama bildirimini kullanır. Derlemenin yeni bir sürümü varsa, çalışma zamanı derlemenin yeni sürümünü istemci bilgisayardaki ClickOnce önbelleğine indirir. Daha fazla bilgi için bkz . Office çözümü dağıtma.

  7. Office çalışma zamanı için Visual Studio Araçları, VSTO Eklenti derlemesinin yükleneceği yeni bir uygulama etki alanı oluşturur.

  8. Office çalışma zamanı için Visual Studio Araçları VSTO Eklenti derlemesini uygulama etki alanına yükler.

  9. Office çalışma zamanı için Visual Studio Araçları, geçersiz kıldıysanız VSTO Eklentinizde yöntemini çağırırRequestComAddInAutomationService.

    VSTO Eklentinizdeki bir nesneyi diğer Microsoft Office çözümlerine göstermek için isteğe bağlı olarak bu yöntemi geçersiz kılabilirsiniz. Daha fazla bilgi için bkz . Diğer Office çözümlerinden VSTO Eklentileri'nde kod çağırma.

  10. Office çalışma zamanı için Visual Studio Araçları, geçersiz kıldıysanız VSTO Eklentinizde yöntemini çağırırRequestService.

    İsteğe bağlı olarak, genişletilebilirlik arabirimi uygulayan bir nesne döndürerek Microsoft Office özelliğini genişletmek için bu yöntemi geçersiz kılabilirsiniz. Daha fazla bilgi için bkz . Genişletilebilirlik arabirimlerini kullanarak kullanıcı arabirimi özelliklerini özelleştirme.

    Not

    Office çalışma zamanı için Visual Studio Araçları, konak uygulama tarafından desteklenen her genişletilebilirlik arabirimi için yöntemine ayrı çağrılar RequestService yapar. Yöntemine ilk çağrı genellikle yöntemine RequestService çağrılmadan ThisAddIn_Startup önce gerçekleşse de, VSTO Eklentiniz yöntemin ne zaman RequestService çağrılacağı veya kaç kez çağrılacağı hakkında hiçbir varsayımda bulunmamalıdır.

  11. Office çalışma zamanı için Visual Studio Araçları VSTO Eklentinizde yöntemini çağırırThisAddIn_Startup. Bu yöntem, olay için varsayılan olay işleyicidir Startup . Daha fazla bilgi için bkz . Office projelerindeki olaylar.