【问题标题】:NET5.0 PublishSingleFile publish more than one fileNET5.0 PublishSingleFile 发布多个文件
【发布时间】:2021-03-23 09:08:49
【问题描述】:

我正在发布我的 net 5 应用程序:

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

但是,结果我有:

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        2/16/2021  10:20 PM         747896 clrcompression.dll
-a----        2/16/2021  10:20 PM        1322360 clrjit.dll
-a----        2/16/2021  10:20 PM        5153144 coreclr.dll
-a----        3/15/2021  11:48 AM       53841260 fff.exe
-a----        3/15/2021  11:48 AM          11300 fff.pdb
-a----        3/15/2021  11:48 AM            537 fff.xml
-a----        2/16/2021  10:20 PM        1056640 mscordaccore.dll

仅部署 fff.exe 不起作用。也必须部署dll。为什么? 参考源代码可以在这里找到:Fast Find in Files

【问题讨论】:

    标签: publish .net-5 single-file


    【解决方案1】:

    仅部署 fff.exe 不起作用。也必须部署dll。为什么?

    回答您的实际问题...以下是fff.exe文件更多的原因:

    • coreclr.dll 包含 dotnet 核心框架的原生库。
    • clrjit.dll 包含 dotnet 核心框架的即时编译器
    • clrcompression.dll 包含本机数据压缩例程。
    • *.pdb 包含调试符号。您可以在发布版本中省略它们。
    • *.xml 包含摘要(类、方法等的描述)

    就像已经提到的@JL0PD。要达到您想要的结果,只需使用此命令发布您的应用程序:

    dotnet publish -r win-x64 /p:PublishSingleFile=true /p:IncludeNativeLibrariesInSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true -c release
    

    【讨论】:

      【解决方案2】:

      改用这个命令

      dotnet publish -r win-x64 /p:PublishSingleFile=true /p:IncludeNativeLibrariesInSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true -c release
      

      Documentation

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-09-25
        • 1970-01-01
        • 1970-01-01
        • 2016-01-04
        • 2017-01-18
        • 2018-01-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多