Microsoft Office如何不需要.NET 3.5或4.5,而VSTO插件需要它们?

时间:2018-11-30 09:42:31

标签: ms-office vsto office-addins

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

是否有可能使外接程序像MS-OFFICE一样工作(无需请求.NET框架)?

1 个答案:

答案 0 :(得分:3)

回答陈述的问题

  

VSTO时Microsoft Office如何不需要.NET 3.5或4.5   插件需要它们吗?

Microsoft Office是基于COM的,并且使用C语言(C,C +,C ++,但不是C#)编写,因此不需要.NET Framework。 Office比.NET早十多年!

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

经典VB6曾经是用于创建Office加载项的常用工具。它不需要.NET,因为它是一种COM编程语言-这就是为什么不对其进行维护或更新,以便使其程序可以在Windows的最新版本(64位)上运行的原因。因此它被废弃了。

任何可以利用 IDTExtesibility2接口来构建Office COM加载项基础的编程语言(至少在理论上来说)都可以用于编写Office的COM加载项。为了对Office加载项进行编程,有必要研究和理解该接口以及所选的编程语言与Windows COM环境的关系。

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