2012-06-06 35 views
11

Tôi đã phát triển một ứng dụng văn phòng bổ trợ cấp độ lớn và nó hoạt động giống như một sự quyến rũ, nhưng tôi gặp khó khăn trong việc hiểu cơ sở kỹ thuật.VSTO so với Hội đồng Interop chính, sự khác biệt là gì?

  1. Vì vậy, những gì chính xác là VSTOPIAs tốt cho?
  2. VSTO chỉ cung cấp một loại dự án thích hợp cho Visual Studio và đúng không?
  3. Có phải Hội đồng Interop chính (PIA) chỉ là một loại trình bao bọc để truy cập vào Mẫu đối tượng văn phòng?
  4. Cả hai có cung cấp nhiều thứ và tính năng hơn tôi biết không?

Trả lời

10

VSTO is the application runtime cung cấp móc (giải pháp nạp) vào hệ thống phụ văn phòng qua PIA. PIAs are wrappers xung quanh COM API không được quản lý (IDTExtensibility2) mà Office được tạo từ đó. PIA cung cấp quyền truy cập được quản lý và chạy trên thời gian chạy VSTO.

VSTO đi kèm với các loại dự án xây dựng yêu cầu deployment manifest để phát hiện các phụ thuộc và tải Add-In của bạn khi chạy.

Các PIAs provide managed access đến COM đối tượng mô hình, nhưng nó cũng supports unmanaged access bạn nên muốn kiểm soát nhiều hơn giải pháp của bạn được nạp như thế nào (do đó bạn luôn luôn có VSTO runtime, nhưng không phải lúc nào PIAs).

này MSDN link provides a great overview of the evolution of PIAs and VSTO xa IDtExtensibility2 mà là một tùy chọn tải (ngoài PIAs)

+0

@SilverNinja không VSTO yêu cầu cài đặt PIA? – JohnZaj

+1

Nếu bạn đang sử dụng VSTO 2010, bạn không cần cài đặt PIA. Theo mặc định, [loại interop được nhúng trong assembly bổ trợ của bạn] (http://msdn.microsoft.com/en-us/library/ee317478.aspx). Bạn có thể chuyển đổi hành vi này bằng cách thay đổi cờ ** Nhúng Interop Types ** cho mỗi cụm văn phòng bạn bao gồm. – SliverNinja

+1

Cảm ơn bạn đã xác nhận SilverNinja. Tôi nghĩ đây là trường hợp. Tôi thấy các interops được nhúng trong một add-in. Tôi chỉ cần chắc chắn rằng tất cả các hội đồng khác có cờ Nhúng Interop Types được đặt. – JohnZaj

Các vấn đề liên quan