我试图创建一个自包含的.net 7控制台应用程序,并在linux容器上手动运行它。为了达到这个目的,这就是我正在做的
1.使用以下dotnet publish -c Release -r linux-musl-x64 --self-contained true /p:PublishTrimmed=true -o ./deploy
将控制台应用程序发布为自包含应用程序
1.运行以下容器docker run -it mcr.microsoft.com/dotnet/runtime-deps:6.0-alpine
1.使用以下docker cp deploy <container_id>:/
将step 1
的输出复制到step 2
上的容器中
现在,当我导航到步骤2中创建的容器并尝试运行简单控制台应用程序时,我得到以下错误qemu-x86_64: Could not open '/lib/ld-musl-x86_64.so.1': No such file or directory
. i也遵循了这里给出的步骤dotnet publish --self-contained option on Linux container,但没有成功。不知道出了什么问题。这就是我的.csproj的样子
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
1条答案
按热度按时间6yt4nkrj1#
在Fedora上,我运行:
上面写着我需要的包裹是
查找软件包名称的命令可能会有所不同,具体取决于您正在运行的发行版。