我有一个 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。
<PublishSingleFile>false</PublishSingleFile>
传统的方法是不使用单个文件。但是,如果您的解决方案分布在多个项目中,这可能无法满足您的需求。此更改将为每个项目提供一个 .DLL,并为您的主应用程序提供一个 .EXE。