.net - Office 2010 插件 - VSTO 版本困惑

标签 .net vsto office-2010

我正在努力创建 Word 2010 插件并创建 Windows 安装程序包来部署插件。该插件的目标框架是.NET 3.5。

据我在阅读 Microsoft 的部署指南时了解到,.NET 3.5 的 VSTO 运行时是随 Office 2010 安装的。
这是否意味着我可以假设只要目标计算机上安装了 Word 2010,.NET 3.5 的 VSTO 运行时也会存在?
http://msdn.microsoft.com/en-us/library/ff937654.aspx

我遇到的另一个问题是我应该引用哪个版本的 vsto。
通过上面的链接提供的部署示例代码引用了一个程序集,我假设该程序集(版本是 9,而不是我期望的 4)是针对 .NET 3.5 的 VSTO 2010 的一部分
Program Files\Reference Assemblies\Microsoft\VSTO\v9.0\Microsoft.Office.Tools.v9.0.dll

但是当我检查示例中安装程序的启动条件时,它通过检查 key 中的版本字符串来搜索 VSTO 2010 Runtime
HKLM\Software\Microsoft\VSTO 运行时设置\V4R

HKLM\Software\Microsoft\VSTO 运行时设置\V4

但是引用的程序集在文件夹路径中有 v9.0,这让我认为它们会匹配
HKLM\Software\Microsoft\VSTO Runtime Setup\V9.0.21022 或 V9.0.30729

即使当我引用我使用 v9 的程序集时,我仍然可以使用 v4,还是我在这里混淆了东西?

最佳答案

您想要对加载项使用一次单击部署方法。转到项目属性上的发布选项卡,然后单击先决条件。在这里您可以添加2010 VSTO框架。当您的项目构建时,它将构建一个需要由您的用户运行的 setup.exe。这将保证安装必要的位并启动 vsto 安装。

这些版本都非常困惑。版本 9 是适用于 Visual Studio 9 的 VSTO 3,支持 Office 2007。您需要适用于 Office 2010 的 VSTO 4(为 Visual Studio 10 安装)。请确保所有引用都引用正确的版本。此版本还向后兼容,因此只要您不使用 2007 不可用的任何功能,它就可以与 2007 兼容。

关于.net - Office 2010 插件 - VSTO 版本困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4471507/

相关文章:

excel - 在 Excel 2010 中使用 VBA 代码调用 Web 服务

c# - TPL 数据流 - 非常快的生产者,不是那么快的消费者 OutOfMemory 异常

c# - 企业库异常: Activation error occured while trying to get instance of type ICacheManager, key ?

c# - VBA 中的 VSTO : AddIn. 对象有时返回 Nothing (null)

outlook - 运行内置版本vs时,自定义功能区未出现在Outlook中

.net 2.0 IRC 组件

c# - 用于存储在 SQL DB 中的信用卡加密

deployment - 是否可以在没有 Office 2007 的情况下部署 Office 2007 PIA?

outlook - "Outlook blocked access to the following potentially unsafe attachments"