构建.Net单个文件,不包含NuGet包的DLL

问题描述 投票:0回答:1

我有一个 C# .Net 8.0(核心)项目,其中有很多附带的 NuGet 包。

现在,我想将其构建为项目的单个 .exe,并使用 NuGet 包的单独 .dll。

到目前为止,MSBuild 进程为我的项目生成了多个文件:.application、.deps.json、.dll、.dll.manifest、.exe、.pdb 和 .runtimeconfig.json。

<PropertyGroup>
中的 .csproj 文件内,我定义了以下内容:

<SelfContained>false</SelfContained>
<PublishSingleFile>true</PublishSingleFile>
<DebugType>embedded</DebugType>

但是这会生成一个 .exe,没有 NuGet 包的单独 .dll 文件。

我预计文件大小约为 5 MB。

c# .net msbuild
1个回答
-1
投票
<PublishSingleFile>false</PublishSingleFile>

传统的方法是使用单个文件。但是,如果您的解决方案分布在多个项目中,这可能无法满足您的需求。此更改将为每个项目提供一个 .DLL,并为您的主应用程序提供一个 .EXE。

© www.soinside.com 2019 - 2024. All rights reserved.