Excel-Dna version 0.28 consolidates recent bugfixes and updates to the Excel-Dna Runtime. Although I've marked two items as breaking changes below, the Reference resolution change should not affect many users, and the Ribbon type namespace changes require only a change in namespace declaration when recompiling. Please test and check a bit if you are using the Ribbon support. For most users, this version should be a drop-in replacement that just works a bit better.
There is one significant improvement in this version that might ease the use and deployment in network scenarios (and make these possible under .NET 4). Excel-Dna now creates a FullTrust Sandboxed AppDomain for each add-in. While Excel-Dna has made a separate AppDomain per add-in for many years, the full trust sandbox means that Excel-Dna effectively opts out of the code-access security policy mechanism. Note that in .NET 4, the CAS policy has been deprecated completely, delegating all security setup to the runtime host. This means you don't have to fiddle with caspol to deploy Excel-Dna based add-ins on a network anymore, and with the ShadowCopyFiles feature which was added in the previous version, network-based deployment should be much easier than before.
As always, I greatly appreciate any feedback on this version, and on Excel-Dna in general.Govert
Complete list of changes:
- BREAKING CHANGE! IRibbonUI, IRibbonControl etc. moved to ExcelDna.Integration.CustomUI namespace to avoid type name clash in external libs.
- BREAKING CHANGE! Extended Reference path resolution for code in .dna files:
- XML Attribute Reference.AssemblyPath renamed to Reference.Path,
- Reference resolution first probes using Reference.Path,
- then LoadWithPartialName is called with Reference.Name.
- Fixed xml namespace for Excel 2010 Ribbon.
- ExcelRibbon objects only instantiated in Excel 2007 and later.
- Explicitly create a FullTrust sandbox AppDomain for all add-ins. This makes loading of libraries over a network or http possible under .Net 4, and easier under .Net 2.0.
- Added http://... support for loading ExternalLibraries.
- Fixed packed image bug.
- Fixed object marshaling crash.
- Changed LogDisplay to address freezing report.
- Added check for <MyAddin>.xll in packer.
- Added VS2008 solution and project files.
- Somewhat better error handling when Assembly Load fails, e.g. ExternalLibrary failures.
- Added ExcelCommandBarUtil to allow explicit load of command bars from xml string.
- Made late-bound CommandBars API public - check Distribution\Samples\Ribbon\CommandBarsAllWays.dna.
- Fixed non-zero-base array marshaling bug.