关于MacOS中build ET7.2框架报错找不到kcp库的问题

发布时间 2023-05-07 14:34:08作者: 向饿势力低头

在buildET7.2框架Solution后,会在Bin目录下生成一系列dll,此时通过终端使用dotnet App.dll --Process=1 --Console=1命令进行启动时,报错了如下信息:
System.TypeInitializationException: The type initializer for 'ET.KService' threw an exception. ---> System.DllNotFoundException: Unable to load shared library 'kcp' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLD_PRINT_LIBRARIES environment variable: 。。。。。。。。

我们打开ThirdParty.csproj文件后,找到libkcp相关内容:
<ItemGroup> <Content Include="..\..\Unity\Assets\Plugins\MacOS\x86_64\libkcp.dylib"> <Link>runtimes\osx\native\libkcp.dylib</Link> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
我们会发现它是去x86_64下面找libkcp.dylib文件,我们可以将内容更改为:
<Content Include="..\..\Unity\Assets\Plugins\MacOS\arm64\libkcp.dylib"> <Link>runtimes\osx\native\libkcp.dylib</Link> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>