【发布时间】:2020-05-07 01:07:49
【问题描述】:
我正在尝试在 ubuntu 上将 libshout 与 C# 一起使用,但无法链接二进制文件。
我将此添加到我的 .csproj 中
<ItemGroup>
<None Include="libshout.so">
<Pack>true</Pack>
<PackagePath>/usr/lib/x86_64-linux-gnu/</PackagePath>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
在我的 C# 代码中,我有:
[DllImport("libshout.so", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
private static extern void shout_init();
我可以看到二进制文件存在
/usr/lib/x86_64-linux-gnu/libshout.so.3.2.0
我收到此错误:
Microsoft.Common.CurrentVersion.targets(4601, 5): [MSB3030] 不能 复制文件 “/home/pc/RiderProjects/icecast-radio-broadcast/Api/libshout.so” 因为没找到。
感谢任何帮助或提示。谢谢
【问题讨论】:
-
您可能会从stackoverflow.com/questions/51166866/… 那里得到一些想法 操纵
LD_LIBRARY_PATH是一种常见的解决方案。
标签: c# linux .net-core native asp.net-core-3.1