You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ExcelDna.AddIn(NuGet安装)运行报错求助:ExcelDna.xll不存在

解决ExcelDna.AddIn 1.7.0运行错误及NU1701警告问题

问题根源

  • NU1701警告:ExcelDna.Integration 1.7.0基于.NET Framework开发,你的项目目标框架为.NETStandard 2.1,包恢复时只能回退到.NET Framework版本,引发兼容性提示,这也是后续XLL文件缺失的核心诱因。
  • DNA1899655818错误:项目构建流程因框架不兼容异常,导致ExcelDna.xll未被正确生成或复制到输出目录。

解决方案

1. 切换项目目标框架至.NET Framework

ExcelDna的AddIn工具链对.NET Framework支持最成熟,修改项目文件如下:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <!-- 选择与Office 2021兼容的.NET Framework版本,推荐v4.8 -->
    <TargetFramework>net48</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="ExcelDna.AddIn" Version="1.7.0" />
  </ItemGroup>
</Project>

保存后重新生成项目,NU1701警告会自动消失。

2. 验证构建输出文件

生成完成后,检查项目的输出目录(默认bin/Debug/net48),确认存在以下文件:

  • [你的项目名]-AddIn64.xll
  • ExcelDna.xll(由NuGet包自动复制)

若文件缺失,右键项目→属性→生成事件,确认ExcelDna的MSBuild任务已正确绑定。NuGet包会自动添加构建逻辑,切换框架后该流程应正常触发。

3. 修正launchSettings.json路径(可选)

如果输出目录变更,确保启动参数中的XLL路径正确:

{
  "profiles": {
    "Excel": {
      "commandName": "Executable",
      "executablePath": "C:\\Program Files\\Microsoft Office\\root\\Office16\\EXCEL.EXE",
      "commandLineArgs": "/x \"$(SolutionDir)$(ProjectName)\\bin\\Debug\\net48\\$(ProjectName)-AddIn64.xll\""
    }
  }
}

使用MSBuild变量可避免硬编码路径,适配不同环境。

4. 强制修复NuGet包绑定(若问题依旧)

如果自动构建仍未生成XLL,打开NuGet包管理器控制台,执行以下命令重新安装包:

Install-Package ExcelDna.AddIn -Version 1.7.0 -Force

这会强制修复MSBuild任务的绑定关系,确保构建流程正常执行。

补充说明

旧版ExcelDna 1.1依赖手动复制文件,新版通过NuGet集成了自动化构建流程,目标框架不兼容会直接打断这个流程。若坚持使用.NET Standard,建议升级ExcelDna至1.11及以上版本,新版本对.NET Core/.NET Standard的支持更完善,但需额外配置启用.NET Core兼容模式。

内容的提问来源于stack exchange,提问作者insomniac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 08:10:01