Microsoft.Office.Core.CustomTaskPane 和 Microsoft.Office.Tools.CustomTaskPane.. 之间有什么区别?
What are the differences between Microsoft.Office.Core.CustomTaskPane and Microsoft.Office.Tools.CustomTaskPane..?
我正在为 Microsoft Office 创建我的第一个 VSTO 加载项,我才意识到 CustomTaskPane 有两种类型,我把它们交叉了:
Imports Core = Microsoft.Office.Core 'Version 12
Imports Tools = Microsoft.Office.Tools 'Version 9
有什么区别..?
我知道它们在不同的图书馆中,但我想知道还有什么不同之处。如果我在对象浏览器中查看,工具版本有一些额外的方法和功能,但在其他方面看起来是一样的。我无法删除 Office 引用,因为我正在使用其中的成员,而这些成员在工具中不存在。
它们似乎 是同一类型,但查看基本类型,工具版本不引用核心版本。我不小心在我的代码中交叉了两个版本,但它仍然有效。但由于这是一个 VSTO 加载项,清理代码并坚持使用工具版本似乎是明智的。
有经验的人可以解释一下吗..?
如您所见,Tools
版本提供了扩展的功能。有大量 Tools
这种类型的对象,但并非所有对象都提供扩展功能。
VSTO "wraps" Office COM 库提供的对象,以便 .NET Framework "natively" 可以更多地使用它们,并且在特殊情况下,提供 COM 未提供的其他有用功能图书馆。
只要您不想使用任何扩展功能,理论上使用 Tools
或 COM Interop
命名空间都没有关系。在实践中,使用原始 COM 版本可以更快地执行。
就个人而言,我的偏好是始终使用 COM Interop
对象,除非我特别想使用 Tools
.
提供的功能
但是,对于自定义任务窗格,您应该 使用 Tools
命名空间。这已经过优化以与 Windows 窗体和 WPF 控件一起使用,并且通常与 .NET Framework 代码集成。
我正在为 Microsoft Office 创建我的第一个 VSTO 加载项,我才意识到 CustomTaskPane 有两种类型,我把它们交叉了:
Imports Core = Microsoft.Office.Core 'Version 12
Imports Tools = Microsoft.Office.Tools 'Version 9
有什么区别..?
我知道它们在不同的图书馆中,但我想知道还有什么不同之处。如果我在对象浏览器中查看,工具版本有一些额外的方法和功能,但在其他方面看起来是一样的。我无法删除 Office 引用,因为我正在使用其中的成员,而这些成员在工具中不存在。
它们似乎 是同一类型,但查看基本类型,工具版本不引用核心版本。我不小心在我的代码中交叉了两个版本,但它仍然有效。但由于这是一个 VSTO 加载项,清理代码并坚持使用工具版本似乎是明智的。
有经验的人可以解释一下吗..?
如您所见,Tools
版本提供了扩展的功能。有大量 Tools
这种类型的对象,但并非所有对象都提供扩展功能。
VSTO "wraps" Office COM 库提供的对象,以便 .NET Framework "natively" 可以更多地使用它们,并且在特殊情况下,提供 COM 未提供的其他有用功能图书馆。
只要您不想使用任何扩展功能,理论上使用 Tools
或 COM Interop
命名空间都没有关系。在实践中,使用原始 COM 版本可以更快地执行。
就个人而言,我的偏好是始终使用 COM Interop
对象,除非我特别想使用 Tools
.
但是,对于自定义任务窗格,您应该 使用 Tools
命名空间。这已经过优化以与 Windows 窗体和 WPF 控件一起使用,并且通常与 .NET Framework 代码集成。