-2

因此,如果可能的话,我正在尝试将我所有的 DLL 文件合并到我的 exe 中,这样我就可以运行 exe 而无需在同一个目录中的 DLL 文件我试着四处寻找其他人问同样的问题,但并没有真正找到任何有用的东西或任何我个人可以遵循的东西。

在此处输入图像描述

在此处输入图像描述

在此先感谢您的帮助

4

1 回答 1

2

选项 1:.NET Core >3.x,.NET 5

单文件部署中,您可以编辑项目文件以包含以下内容

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net5.0</TargetFramework>
    <PublishSingleFile>true</PublishSingleFile>
    <SelfContained>true</SelfContained>
    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
    <PublishTrimmed>true</PublishTrimmed>
    <PublishReadyToRun>true</PublishReadyToRun>
  </PropertyGroup>

</Project>

这对应于运行 CLI 工具: dotnet publish -r win-x64 -p:PublishSingleFile=true --self-contained true

选项 2:.NET 框架

在单文件部署可用之前(在 .NET Framework 中),我个人使用Fody Costura。Fody 是一个程序集编织器,在安装后,它会将一些命令放入项目的 MSBuild 配置中,使您能够做很多事情。一个加载项是 Costura,它将您的依赖项编织到一个程序集中。

于 2021-06-12T14:53:02.503 回答