我有一个针对 linux-x64 发布的 .Net Core 3 控制台应用程序。
我想在 Ubuntu Core 18 上运行它。
我已经安装了 dotnet-runtime-30 Snap 并为其设置了别名,如下所示这个问题。
当正常运行二进制文件时我得到:
A fatal error occurred. The required library libhostfxr.so could not be found.
If this is a self-contained application, that library should exist in [/home/anthony-c/linux-x64/].
If this is a framework-dependent application, install the runtime in the global location [/usr/share/dotnet] or use the DOTNET_ROOT environment variable to specify the runtime location or register the runtime location in [/etc/dotnet/install_location].
当我运行该程序的 dll 时,dotnet scan.dll
我得到:
Invalid runtimeconfig.json [/home/anthony-c-ct4/linux-x64/Canopy.ScanPorts.runtimeconfig.json] [/home/anthony-c-ct4/linux-x64/Canopy.ScanPorts.runtimeconfig.dev.json]
搜索该错误返回这个问题但我对该文件夹有写权限。
我觉得 dotnet 运行时似乎足够有效:
anthony-c@localhost:~/linux-x64$ dotnet --info
It was not possible to find any installed .NET Core SDKs
Did you mean to run .NET Core SDK commands? Install a .NET Core SDK from:
https://aka.ms/dotnet-download
Host (useful for support):
Version: 3.0.0
Commit: 95a0a61858
.NET Core SDKs installed:
No SDKs were found.
.NET Core runtimes installed:
Microsoft.NETCore.App 3.0.0 [/snap/dotnet-runtime-30/1/shared/Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
当我使用通过标准 debs 安装的带有 .Net Core 运行时的经典 Ubuntu 时,它既可以与二进制文件一起工作,也可以调用 dll。
当我发布独立应用程序而不是依赖框架的应用程序时,应用程序会按预期运行。但是我宁愿使用依赖框架的应用程序,因为应用程序将调用插件。
是否有其他方法可以在 Ubuntu Core 上运行 .Net Core 应用程序或我遗漏了其他东西?(谢谢)