asp.net-core.net-corepublishdotnet-build

How to include third party libraries in dotnet publish as single file?


We have a WPF application that we are trying to publish as a single file.

I am running the command:

dotnet publish .\{path_to_projectA_csproj_file}.csproj -c Release --self-contained -p:PublishSingleFile=true -p:PublishReadyToRun=true -p:IncludeNativeLibrariesForSelfExtract=true --nologo -v q --property WarningLevel=0 /clp:ErrorsOnly

It generates the following files: published files

Problem is, when trying to run it in test environment, it does not find a third party .dll. Error from event log:

enter image description here

The third party .dll is referenced in ProjectB that is referenced by ProjectA that I am trying to publish.

Third party .dll reference in ProjectB .csproj:

projectBcsproj

I tried:

tl;dr how to include third party libraries into .exe file when publishing a dotnet application as single file?


Solution

  • The third-party .dll was compiled as 32-bit, so I had to add a "win-x86" runtime identifier to the project.