代码之家  ›  专栏  ›  技术社区  ›  T.Todua

Microsoft Office如何不需要.NET 3.5或4.5,而VSTO加载项则需要它们?

  •  1
  • T.Todua  · 技术社区  · 5 年前

    为Microsoft Office生成任何加载项(在Visual Studio中)时,我们必须选择目标 .NET FRAMEWORK . 实际上,在我安装的几台电脑上 MS OFFICE 2010 两者都不需要 .NET 3.5 也不 4.5 . 但是,当尝试在同一台PC上安装外接程序时,它请求 .NET .

    是否无法使加载项像MS-Office一样工作(无需请求 .NET 框架)?

    1 回复  |  直到 5 年前
        1
  •  3
  •   Cindy Meister Prabhuprasad NG    5 年前

    回答 陈述的问题 :

    Microsoft Office如何不需要.NET 3.5或4.5,而VSTO 亚丁需要他们吗?

    微软Office是基于COM的,使用C语言编写(C、C++、C++,而不是C语言),因此不需要.NETFramework。Office预约会.NET超过十年!

    如果使用Visual Studio.NET开发外接程序,则需要在计算机上安装为.NET项目选择的.NET框架版本。例如,VSTO就是这样。

    经典的vb6曾经是创建Office加载项的常用工具。它不需要.NET,因为它是一种COM编程语言——这就是为什么它没有被维护或更新,这样它的程序就可以在更新版本的Windows(64位)上运行。所以它被废弃了。

    任何可以利用 IDTExteSibility2接口 这就建立了Office COM外接程序的基础,可以(至少在理论上)用来为Office编写COM外接程序。为了编写一个Office加载项,有必要研究和理解该接口以及所选编程语言与Windows COM环境的关系。

    无法使用VBA开发您正在考虑的类型的Microsoft加载项(如注释中建议的那样)-VBA必须在宿主应用程序中运行,并且包含在属于宿主应用程序的文档中。VBA能够 自动化 其他Office应用程序,但这不符合外接程序的条件。在大多数Office应用程序中,通过以某种方式加载代码容器文档,使代码可用于Office应用程序中打开的所有文件,可以将VBA用作该应用程序的“加载项”。