我有一个简单的HelloWorld项目。试图在Windows10上构建它并在Debina9上运行:
dotnet build -c Release -r debian.9-x64
仅复制两个文件:
如果可能,我不想复制所有runtine .dll和.sos。 我收到消息:
遇到致命错误。需要库“ libhostpolicy.so” 在/ usr / share / dotnet中找不到执行该应用程序的程序。
在debian上,我尝试过:
locate libhostpolicy.so
结果:/usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.4/libhostpolicy.so
因此我添加了文件global.json以确保使用了3.1.4(SDK 3.1.4):
{
"sdk": {
"version": "3.1.300"
}
}
并将HelloWorld.deps.json复制到debian:
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v3.1/debian.9-x64",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v3.1": {},
".NETCoreApp,Version=v3.1/debian.9-x64": {
"HelloWorld/1.0.0": {
"dependencies": {
"runtimepack.Microsoft.NETCore.App.Runtime.linux-x64": "3.1.4"
},
"runtime": {
"HelloWorld.dll": {}
}
},
"runtimepack.Microsoft.NETCore.App.Runtime.linux-x64/3.1.4": {
"runtime": {
...
但是问题仍然存在,我错过/做错了什么吗?
答案 0 :(得分:0)
这样做之后:dotnet publish -c Release -r debian.9-x64 --no-self-contained
并将一些多余的文件复制到Debian上,而一切都无法进行。