Excel-DNA / Excel-DNA/ExcelDna

Multi targeting and embedding assembly resources

Open
#388 5 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C#
Stars
1.5k
Forks
292
Avg merge
20d 12h
Merged PRs (30d)
1

Description

Hi this is a suggestion to simplify the build process and make it work better for multi targeting.
Rather than embed the c# Assemblies in the output DLL/XLL of the C++ project ExcelDna move this to ExcelDna.ManagedHost. This would mean each target platform in get's it's own ExcelDna.XLL and ExcelDna64.XLL with the assemblies for that target framework embeded, including Debug versus Release. The current build hardcodes a particular framework version in the vcxproj and embeds that.

This would require the following

1) Remove the PostBuildEvent stuff from ExcelDna.vcxproj.
2) Remove the embed of ExcelDna.ManagedHost.dll from ExcelDna.rc
3) Add a post build event to ExcelDna.ManagedHost to copy ExcelDna[64].XML local and the call ExcelDnaPack
4) Add one line to ExcelDnaPack to pack the ExcelDna.ManagedHost.dll on PackXllBuild style pack call

Note this may be a step towards supporting .NET5.0 although I noticed you mentioning .NET Native builds as an alternative presumably to Assembly embedding. I suspect .NET Native would require other extensive changes.

BTW Would be nice to have labels like "Build"

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.