Hi,
We are investigating a general issue with installing custom add-ins in Dynamicweb 10 when the solution consists of multiple internal projects with project references between them.
Our setup is roughly like this:
- Package A
- Package B -> references Package A
- Package C -> references Package A and Package B
All projects target .NET 8 and are packed as .nupkg add-ins.
What we are seeing:
- Simple leaf packages install fine
- Packages with dependencies on other custom packages often fail during installation with:
"One or more errors occurred. (Central Directory corrupt.)"
- In some cases installation succeeds, but the assemblies are not loaded in a way that makes them available for Razor/template compilation afterwards
What we have tested:
1. Installing only top-level packages
2. Installing all packages in explicit dependency order
3. Uploading all packages to /Files/System/AddIns/Local before installation
4. Installing with and without --queue
5. Bundling dependent DLLs into a single nupkg instead of declaring them as NuGet package dependencies
From looking at the Dynamicweb 10 source, it seems that:
- LocalAddinProvider installs .nupkg files and then resolves package dependencies through NuGetAddinProvider
- NuGetAddinProvider uses nuget.org as the package source
- This appears problematic for internal custom packages that are not available on nuget.org
- When bundling multiple DLLs into one nupkg, the installer extracts them into separate Installed folders, which may lead to load-context / dependency-resolution issues afterwards
So the general question is:
What is the recommended and supported way to deploy custom add-ins in DW10 when:
- multiple internal custom projects depend on each other
- they are not published to nuget.org
- they need to be available both for runtime execution and Razor/template compilation
Thanks