我过去曾成功使用过 ExcelDna(当时必须手动修改 .dna 文件并复制 XLL),但我无法使 ExcelDna.Addin(通过 Nuget 下载)工作。
我按照 readme.txt 文件的说明进行操作,并收到以下错误,
Error DNA1899655818 File does not exist (Xll32FilePath): ExcelDna.xll
FWIW,我在 Visual Studio 中也有以下警告,
Warning NU1701 Package 'ExcelDna.Integration 1.7.0' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework '.NETStandard,Version=v2.1'. This package may not be fully compatible with your project.
这是.proj文件的完整内容,
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="ExcelDna.AddIn" Version="1.7.0" />
</ItemGroup>
</Project>
这是launchSettings.json文件的内容,
{
"profiles": {
"Excel": {
"commandName": "Executable",
"executablePath": "C:\\Program Files\\Microsoft Office\\root\\Office16\\EXCEL.EXE",
"commandLineArgs": "/x \"MyFuncs-AddIn64.xll\""
}
}
}
我完全按照说明进行操作,但无法使其正常工作。
我的系统配置是,
我使用的以前版本的 ExcelDna(我认为是 1.1,手动复制 .dna 和 .xll 文件)我使用的是相同版本的 VS,但使用的是 Excel 2013。
任何帮助/想法表示赞赏。
Excel-DNA 包不支持 .NET Standard 目标框架。
要使用.NET 4.0,修改.proj中的
TargetFramework
行就可以了,
<TargetFramework>net48</TargetFramework>