Win32 .dll File Dependency

Hello everyone,

I developed a result listener plugin that takes published results and writes them into a PDF file. PDF library has dependencies called SkiaSharp and HarfBuzzSharp. .NET .dlls of these libraries are added to the package.xml file without problem. However, these .dll files have dependencies on unmanaged .dll files that are called “libHarfBuzzSharp.dll” and “libSkiaSharp.dll”. These unmanaged .dll files are not added when i install the package using .TapPackage file.

It works without a problem when I build the project in release mode, it automatically adds these files to the x64 folder in the output path. Issue only happens when I try to install the package using .TapPackage file. I think addition of these unmanaged .dll files to the x64 folder is a build action.

I can’t ask everyone to add these files to the x64 folder manually (which solves the problem) so i need to find a way to solve this problem. When the .TapPackage file is installed, it should automatically add unmanaged .dll files to the x64 folder. Here is a screenshot of the x64 folder in the OpenTap output path of the Visual Studio project.

Any help is appreciated.

Edit:

Ok i found a solution which I find in the SQLite package.xml. After creating the package by building in release mode, I manually added necessary files to the .TapPackage archive and added elements shown below to the package.xml file.
image

I am still confused about the package generation though. Is there a way to achieve this without manually adding these files?

1 Like

Hi @btyilmaz,

It is fine if you want to include native dependencies in your TapPackage file. Just include them in the package definition XML under ‘files’.

You can read more about it here: OpenTAP

2 Likes