-
Notifications
You must be signed in to change notification settings - Fork 480
Description
Description
When creating an MSIX package for a Windows application that uses LLamaSharp, the build fails with the following error:
Payload contains two or more files with the same destination path 'ggml-cpu.dll'. Source files:
C:\Users\usr.nuget\packages\llamasharp.backend.cpu\0.25.0\runtimes\win-x64\native\avx\ggml-cpu.dll
C:\Users\usr.nuget\packages\llamasharp.backend.cpu\0.25.0\runtimes\win-x64\native\avx2\ggml-cpu.dll
C:\Users\usr.nuget\packages\llamasharp.backend.cpu\0.25.0\runtimes\win-x64\native\avx512\ggml-cpu.dll
C:\Users\usr.nuget\packages\llamasharp.backend.cpu\0.25.0\runtimes\win-x64\native\noavx\ggml-cpu.dll
During normal build and runtime, this works correctly, as the appropriate backend is selected at runtime.
However, when generating an MSIX package, the MSIX tooling attempts to include all native DLLs, and since they all share the same filename (ggml-cpu.dll) and destination path, the packaging process fails.
Reproduction Steps
Create a Windows or MAUI Windows app
Reference:
PackageReference Include="LLamaSharp" Version="0.25.0" />
PackageReference Include="LLamaSharp.Backend.Cpu" Version="0.25.0" />
Build and run the app → works correctly
Attempt to create an MSIX package
Packaging fails with duplicate file path error
Environment & Configuration
- Operating system: windows 11
- .NET runtime version: net9.0
- LLamaSharp version: 0.25.0
- CPU & GPU device: i7-1185g7
Known Workarounds
No response