none
关于开发VSTO插件与所使用Office版本的问题

    问题

  • 背景:

    原是WIN7+VS2010+OFFICE2007做针对07Excel插件的开发;

    现在换了电脑WIN10,OFFICE用上了2016的版本,开发平台仍旧用VS2010;

    想着继续开发原来的工程文件,但出现这个错误提示;

    由于未安装所需版本的Microsoft Office应用程序,您不能调试或运行此项目。

    我的问题是:

    Q1.是否有可以改工程适用OFFICE版本的办法?

    Q2.该错误提示就目前来看仅影响调试程序的打开,生成后,其插件还是能够在Excel2016版本中运作(间接调试),若Q1不可行,是否继续这样开发也没问题?

    Q3.若Q1和Q2均不可行,我想额外问一套问题,重新开发的话,配哪个版本的VS适合,新版本的平台能继续支持framework4.0+2010 runtime这样的搭配吗?


    2018年6月14日 9:04

全部回复

  • 1  可以针对多个版本的Office 2010,2013,2016单独开发,打包部署时,根据用户安装的Office的版本,只部署与用户Office匹配的版本。

    2 VS2015可以开发Office 2016的应用,可以支持framework4.0+2010 runtime。

       


    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2018年6月15日 0:36
  • 感谢您的答复;

    建项目的时候,是要选择office版本的,我选择了2007的外接程序,现在就是因为没有安装2007的OFFICE就不能直接调试了,因为是做的小玩意,也没那么多用户的概念,主要是自用,也就不会去考虑单独开发多个版本了。

    也就是接着开发的话,不能直接调试有些不方便。

    但如按您建议使用VS2015进行开发,只要还在F4.0及2010RT的框架下,那我原来的老电脑也是可以正常运作的对吧。

    2018年6月15日 2:44
  • 如果有两台机器的话可以用VS远程调试的功能确保你的代码能在Office 2007上运行。

    在新系统下重新编译代码会更新类型库。在类型库不兼容旧版本的时候会有兼容性问题。比如一些用到ADO的程序因此在旧版本Windows上无法运行(An ADO-based application that is compiled in Windows 7 SP1 or in Windows Server 2008 R2 SP1 does not run in earlier versions of Windows)。如果你的插件也用到ADO的类型库的话,升级到Windows 10意味着你的Windows 7客户需要升级到SP1或者至少安装kb2640696。

    另外引用新的类型库也可能导致不小心用到新的版本才有的属性和方法。你的旧代码都兼容Office 2007,仅在添加新的代码的时候需要注意和Office 2007的兼容性。



    Visual C++ MVP

    2018年6月26日 15:15
    版主