Excel VSTO项目从Office 2013升级到Office 2016后无法加载

使用VS 2013加载项目时出现以下错误(安装了Office 2016)

无法创build项目,因为与此项目types关联的应用程序未安装在此计算机上。 您必须安装与此项目types关联的Microsoft Office应用程序。

C#项目最初创build为使用VS 2013与Office 2013和运行时作为“Visual Studio 2010 Office for Office Runtime”工具的Excel工作簿。 .Net框架也没有改变。 按照https://msdn.microsoft.com/en-us/library/bb772080.aspx,一切看起来都不错

当我查看.csproj文件时,发现Office Dll,Office版本和ProjectProperties部分的下列引用指向升级到Office后不存在的C:\ Program Files \ Microsoft Office \ Office15 \ Excel.exe 2016年

我需要在.csproj文件中手动修复以获取项目加载的所有东西是什么?

<ItemGroup> <Reference Include="stdole, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <Private>False</Private> </Reference> <Reference Include="Office, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"> <Private>False</Private> <EmbedInteropTypes>true</EmbedInteropTypes> </Reference> <Reference Include="Microsoft.Vbe.Interop, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"> <Private>False</Private> <EmbedInteropTypes>true</EmbedInteropTypes> </Reference> <Reference Include="Microsoft.Office.Interop.Excel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"> <Private>False</Private> <EmbedInteropTypes>true</EmbedInteropTypes> </Reference> </ItemGroup> 

…..

 <ProjectProperties HostName="Workbook.xlsx" HostPackage="{3F2B7691-D1D1-402F-9370-2704A737CF60}" OfficeVersion="15.0" VstxVersion="4.0" ApplicationType="XLS" Language="CS" TemplatesPath="VSTOTemplates" DebugInfoExeName="C:\Program Files\Microsoft Office\Office15\Excel.exe" DebugInfoCommandLine="/x &quot;[$OUTPUT]Workbook.xlsx&quot;" /> 

我在Visual Studio 2015中解决了类似的问题,也许这会有所帮助。

我手动编辑了Visual Studio以外的文件.csproj,在OfficeVersion="14.0"ProjectProperties元素中更改了属性OfficeVersion="15.0" OfficeVersion="14.0" (是的!降级!

然后,当我在Visual Studio中打开解决scheme时,项目被标记为(需要迁移) ,然后当我尝试重新加载项目时,Visual Studio要求迁移该项目,然后完成所有工作。

NB首先确保您能够创build一个新项目“Excel 2013和2016 VSTO工作簿”,如果不尝试更新Excel并validationVSTO插件已启用