自包含的单个文件不生成单个文件

Jack J Jun 25,316 信誉分
2024-02-02T02:47:37.27+00:00

我有一个小型的 .Net 5 控制台应用程序,不依赖于第三方组件。
我已将其设置为作为独立的单个文件发布。
但是,发布目录中是 EXE 文件和四个 DLL。如果没有这些 DLL,EXE 文件将无法运行。
DLL 包括: clrcompression.dll
clrjit.dll
coreclr.dll
mscordaccore.dll 为什么Visual Studio 在单文件发布中不理解单?

Note:此问题总结整理于:Self-Contained Single-File does not produce a single file - Microsoft Q&A

开发人员技术 | .NET | 其他
0 个注释 无注释
{count} 票

1 个答案

排序依据: 非常有帮助
  1. Hui Liu-MSFT 48,711 信誉分 Microsoft 外部员工
    2024-02-02T06:50:32.2266667+00:00

    您好,您需要使用 IncludeNativeLibrariesForSelfExtract 或 IncludeAllContentForSelfExtract。 在 .Net CLI 中按如下方式使用它:

    dotnet publish -r win-x64 /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true --self-contained true 
    
    

    要么将其添加到 projectName.csproj 文件中:

    
     <IncludeAllContentForSelfExtract>true</IncludeAllContentForSelfExtract> 
    
    

    这样,发布后将只有一个 exe 文件和一个 pdb 文件。 如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    0 个注释 无注释

你的答案

提问者可以将答案标记为“已接受”,版主可以将答案标记为“已推荐”,这有助于用户了解答案是否解决了提问者的问题。