Excel-DNA / Excel-DNA/ExcelDna
Multi targeting and embedding assembly resources
- 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
Assessment
This issue has not been assessed yet.