Отсутствует "cabinet.dll" при использовании microsoft.deployment.compression.cab on linux в c#Linux

Ответить
Anonymous
 Отсутствует "cabinet.dll" при использовании microsoft.deployment.compression.cab on linux в c#

Сообщение Anonymous »

Я работаю над приложением в C#, и я сталкиваюсь с отсутствующей проблемой библиотеки при попытке запустить мой проект
https://github.com/am7999/cli-installer-framework on Windows since it has cabinet.dll as an OS component but will result in a Library not found error on Linux
This is the error i receive after running dotnet Installer.dll -p /home/user/Desktop/testProject/

Код: Выделить всё

Unhandled exception. System.DllNotFoundException: Unable to load shared library 'cabinet.dll' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace.  If you're using glibc, consider setting the LD_DEBUG environment variable:
/tmp/.mount_dotnetHfBaiM/shared/Microsoft.NETCore.App/8.0.15/cabinet.dll.so: cannot open shared object file: No such file or directory
/home/user/git/CLI-Installer-Framework/csharplearning/bin/Debug/net8.0/cabinet.dll.so: cannot open shared object file: No such file or directory
/tmp/.mount_dotnetHfBaiM/shared/Microsoft.NETCore.App/8.0.15/libcabinet.dll.so: cannot open shared object file: No such file or directory
/home/user/git/CLI-Installer-Framework/csharplearning/bin/Debug/net8.0/libcabinet.dll.so: cannot open shared object file: No such file or directory
/tmp/.mount_dotnetHfBaiM/shared/Microsoft.NETCore.App/8.0.15/cabinet.dll: cannot open shared object file: No such file or directory
/home/user/git/CLI-Installer-Framework/csharplearning/bin/Debug/net8.0/cabinet.dll: cannot open shared object file: No such file or directory
/tmp/.mount_dotnetHfBaiM/shared/Microsoft.NETCore.App/8.0.15/libcabinet.dll: cannot open shared object file: No such file or directory
/home/user/git/CLI-Installer-Framework/csharplearning/bin/Debug/net8.0/libcabinet.dll: cannot open shared object file: No such file or directory

at Microsoft.Deployment.Compression.Cab.NativeMethods.FCI.Create(IntPtr perf, PFNFILEPLACED pfnfcifp, PFNALLOC pfna, PFNFREE pfnf, PFNOPEN pfnopen, PFNREAD pfnread, PFNWRITE pfnwrite, PFNCLOSE pfnclose, PFNSEEK pfnseek, PFNDELETE pfndelete, PFNGETTEMPFILE pfnfcigtf, CCAB pccab, IntPtr pv)
at Microsoft.Deployment.Compression.Cab.CabPacker.CreateFci(Int64 maxArchiveSize)
at Microsoft.Deployment.Compression.Cab.CabPacker.Pack(IPackStreamContext streamContext, IEnumerable`1 files, Int64 maxArchiveSize)
at Microsoft.Deployment.Compression.Cab.CabEngine.Pack(IPackStreamContext streamContext, IEnumerable`1 files, Int64 maxArchiveSize)
at Microsoft.Deployment.Compression.CompressionEngine.Pack(IPackStreamContext streamContext, IEnumerable`1 files)
at Microsoft.Deployment.Compression.ArchiveInfo.PackFiles(String sourceDirectory, IList`1 sourceFileNames, IList`1 fileNames, CompressionLevel compLevel, EventHandler`1 progressHandler)
at Microsoft.Deployment.Compression.ArchiveInfo.Pack(String sourceDirectory, Boolean includeSubdirectories, CompressionLevel compLevel, EventHandler`1 progressHandler)
at net.am7999.Package.Package.Pack(String sourceDir, String destDir) in /home/user/git/CLI-Installer-Framework/net.am7999.Package/Package.cs:line 85
at App.c__DisplayClass0_1.b__1(StatusContext ctx) in /home/user/git/CLI-Installer-Framework/csharplearning/Installer.cs:line 107
at Spectre.Console.Status.c__DisplayClass14_0.b__0(StatusContext ctx) in /_/src/Spectre.Console/Live/Status/Status.cs:line 44
at Spectre.Console.Status.c__DisplayClass16_0.d.MoveNext() in /_/src/Spectre.Console/Live/Status/Status.cs:line 79
--- End of stack trace from previous location ---
at Spectre.Console.Status.c__DisplayClass17_0`1.d.MoveNext() in /_/src/Spectre.Console/Live/Status/Status.cs:line 120
--- End of stack trace from previous location ---
at Spectre.Console.Progress.c__DisplayClass32_0`1.d.MoveNext() in /_/src/Spectre.Console/Live/Progress/Progress.cs:line 138
--- End of stack trace from previous location ---
at Spectre.Console.Internal.DefaultExclusivityMode.RunAsync[T](Func`1 func) in /_/src/Spectre.Console/Internal/DefaultExclusivityMode.cs:line 40
at Spectre.Console.Progress.StartAsync[T](Func`2 action) in /_/src/Spectre.Console/Live/Progress/Progress.cs:line 121
at Spectre.Console.Status.StartAsync[T](String status, Func`2 func) in /_/src/Spectre.Console/Live/Status/Status.cs:line 117
at Spectre.Console.Status.StartAsync(String status, Func`2 action) in /_/src/Spectre.Console/Live/Status/Status.cs:line 77
at Spectre.Console.Status.Start(String status, Action`1 action) in /_/src/Spectre.Console/Live/Status/Status.cs:line 48
at App.Main(String[] args) in /home/user/git/CLI-Installer-Framework/csharplearning/Installer.cs:line 105
Aborted (core dumped)
Не совсем уверен, как это исправить,

Подробнее здесь: https://stackoverflow.com/questions/796 ... on-linux-i
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»