Как Microsoft Office не требует .NET 3.5 или 4.5, а надстройки VSTO требуют их? - PullRequest
0 голосов
/ 30 ноября 2018

При создании любого надстройки (в Visual Studio) для Microsoft Office мы должны выбрать цель .NET FRAMEWORK.На самом деле, на нескольких ПК, на которых я установил MS OFFICE 2010, не требовалось ни .NET 3.5, ни 4.5.Однако, пытаясь установить мою надстройку на тот же ПК, он запрашивает .NET.

. Не возможно ли заставить надстройку работать так же, как работает MS-OFFICE (без запроса платформы .NET)

1 Ответ

0 голосов
/ 30 ноября 2018

Чтобы ответить на заданный вопрос :

Как Microsoft Office не требует .NET 3.5 или 4.5, а надстройки VSTO требуют их?

Microsoft Office основан на COM и написан с использованием языков C (C, C +, C ++, но не C #), поэтому .NET Framework не требуется.Office предшествует .NET более чем на десятилетие!

Если вы разрабатываете надстройку с использованием Visual Studio .NET, то для этого потребуется версия .NET Framework, выбранная для проекта .NET.на машине.Так обстоит дело, например, с VSTO.

Классический VB6 раньше был распространенным инструментом для создания надстроек Office.Он не требовал .NET, потому что это был язык программирования COM - и именно поэтому он не поддерживался и не обновлялся, чтобы его программы могли работать на более поздних версиях Windows (64-разрядных).Таким образом, он вышел из употребления.

Любой язык программирования, который может использовать интерфейс IDTExtesibility2 , который создает основу для надстроек Office COM, может (по крайней мере, теоретически) использоваться для написанияНадстройка COM для Office.Чтобы запрограммировать надстройку Office, необходимо изучить и понять этот интерфейс, а также то, как выбранный язык программирования относится к среде Windows COM.

Надстройки Microsoft того типа, о котором вы думаете, не могут быть разработаны с использованием VBA (как было предложено в комментарии) - VBA должна работать в приложении хоста и содержится в документе, принадлежащем хосту.приложение.VBA может автоматизировать другие приложения Office, но это не считается надстройкой.В большинстве приложений Office VBA можно использовать как «надстройку» для этого приложения, загружая документ контейнера кода определенным образом, делая код доступным для всех файлов, открытых в приложении Office.

...