0

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

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

C# 项目最初是使用 VS 2013 与 Office 2013 和运行时作为“用于 Office 运行时的 Visual Studio 2010 工具”创建的 Excel 工作簿。.Net Framework 也没有改变。根据https://msdn.microsoft.com/en-us/library/bb772080.aspx ,一切对我来说都很好

当我查看 .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 &quot;[$OUTPUT]Workbook.xlsx&quot;" />
4

1 回答 1

1

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

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

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

注意首先确保您能够创建一个新项目“Excel 2013 and 2016 VSTO Workbook”,如果不能尝试更新 Excel 并验证是否启用了 VSTO 加载项

于 2017-05-11T09:36:19.937 回答