是否可以从Visual Studio 2010创建Office 2003 VSTO加载项?

时间:2010-06-22 01:12:37

标签: visual-studio visual-studio-2010 vsto ms-office

我们现有适用于Word 2003和Excel 2003的VS 2008 VSTO加载项。我们目前无法升级Office版本。

我们刚刚尝试将我们的解决方案升级到VS 2010并且转换和编译很好,但是在构建和运行加载项时,我们会收到一条消息,指出未安装所需的Office版本。

有没有办法解决此问题(不升级到Office 2007或2010),以便我们可以使用VS 2010来构建此加载项?

3 个答案:

答案 0 :(得分:5)

不,不幸的是,这是不可能的。 VSTO 2010不会编译为Office 2003设计的解决方案。它旨在与2007/2010一起使用。

要为Office 2003创建解决方案,您需要VS2003上的VSTO 2005或VS2008上的VSTO 2005 SE / VSTO 2008(在后者的情况下,您也可以为Office 2007开发)。

答案 1 :(得分:1)

没有。 Office版本与VSTO版本绑定,后者与Visual Studio版本绑定。由于VSTO 2010不支持Office 2003,因此无法迁移。

此外,您需要知道打开文件扩展名可能会打开错误的Office版本。例如,在启动时,Office的更高版本将自己注册到注册表中。如果您正在开发Excel 2003 VSTO项目,但手动打开Excel 2007工作簿,则2007将成为默认值。下次使用Excel 2003 VSTO项目时,它将使用Excel 2007.要返回Excel 2003,您必须运行excel /regserver

答案 2 :(得分:0)

答案有很多不便。

首先:即使在没有安装Office 2010的计算机上,Visual Studio 2010 也可以安装其VSTO程序包,对我来说,升级VS2008 / VSTO3项目时已完成。

第二:升级后的项目保留链接指向Office 11,Visual Studio 9程序集的链接。 (老实说,我怀疑这会传递VS2012,如果这些程序集不是单独的VSTO3.0 / 4.0运行时包的一部分)。

此外,从VS2010 创建 Office 2003项目是不可能的,但https://stackoverflow.com/a/5325505/438039指出了制作VSTO4.0的广泛可能性(例如Interop for Office 12,Visual Studio 10 )在Office 2003中项目运行。我认为也可以通过更改项目设置从Studio运行它,如下所示:C# - can't debug office word add-in - 这样,我建议在没有调试的情况下启动(因为外部)启动时,应用程序未附加到调试器..)。这也揭示了VSTOWord2003Adaptor.dll的存在,它是从我系统上的VS2008目录加载的。 - 希望它是VSTO3 / VSTO4运行时包的一部分。另一种方法是编辑.csproj,提供WinWord.exe的路径 - https://stackoverflow.com/a/12584772/438039 - 两者都无法正常工作。


设置正确的VS2010 / VSTO4开发环境比构建针对Office 2003的插件更难。