使用VS 2013(安装了Office 2016)加载项目时出现以下错误
无法创建项目,因为与此关联的应用程序 此计算机上未安装项目类型。你必须安装 与此项目关联的Microsoft Office应用程序 类型。
C#项目最初是作为Excel Workbook创建的,使用VS 2013与Office 2013和运行时作为“Visual Studio 2010 Office Runtime工具”。 .Net Framework也没有改变。根据{{3}}
,一切看起来都不错当我查看.csproj文件时,我发现以下对Office Dll的引用,Office版本和ProjectProperties部分指向C:\ Program Files \ Microsoft Office \ Office15 \ Excel.exe,后面不存在升级到Office 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 "[$OUTPUT]Workbook.xlsx"" />
答案 0 :(得分:1)
我在Visual Studio 2015中解决了类似的问题,也许这会有所帮助。
我在Visual Studio外部手动编辑了.csproj文件,用OfficeVersion="15.0"
更改了ProjectProperties
元素中的属性OfficeVersion="14.0"
(是的!降级它!)
然后当我在Visual Studio中打开解决方案时,项目被标记为(需要迁移),然后当我尝试重新加载项目时Visual Studio要求迁移项目然后完成所有工作
N.B。首先确保您能够创建新项目“Excel 2013和2016 VSTO工作簿”,如果不尝试更新Excel并验证是否已启用VSTO加载项