OctoPack: Not all files in bin/ are included

We have a project where the dev has chosen to separate the service part (separate classlib, which may have been fit to the needs of a customer) of an application from the framework facilitating the service (common for all customers). He wanted to avoid having project references from the common/framework project to all the service project so he’s used runtime/late binding to load the service classlib based on configuration. I.e. the common/framework project only loads 1 of the service libs.

The question is then how do we make sure the service DLLs are included into the package of the common/framework project. This was done by setting the output directory of the service lib projects to the same as the common/framework project. Like so:

FRAMEWORK PROJECT - output bin/
SERVICELIB PROJECT A - output …/frameworkproject/bin
SERVICELIB PROJECT B - output …/frameworkproject/bin
SERVICELIB PROJECT C - output …/frameworkproject/bin

With OctoPack 2.0.26 this actually works. Servicelib A, B, C DLLs will end up in the nuget package for the framework project. I suppose the entire bin directory is included (?).

When I updated to Octopack 3.0.31 this must have changed because the service lib DLLs were not included any more.

I’ve tried many tweaks to try to make them come back with 3.0.31, the only successful one was to add project references from the framework project to all the servicelibs. But the dev does not like that.

Is there any other way I can include the servicelib DLLs into the framework project nuget package with 3.0.31 (or later) Octopack ?

Hi,

Thanks for getting in touch!
We have made a change here, due to Visual Studio putting files in the bin directory that are across multiple projects and causing bloat, sorry about that.
There is an easy way to include everything from the bin using a nuspec file. Add the following line in the files tag.

<file src="bin\*.*" target="bin"></file>

Hope that helps!

Vanessa

Hi Vanessa,

That solved the problem. Thank you very much!

Worth noting is that the nuget placeholders like $id$, $author$ (and company) does not work. I guess because the nuget is being built from nuspec instead of csproj. Luckily $version$ works, which makes it less inconvenient.

Thanks for you help!