Avatar ·

Como incorporar bibliotecas DLL em um arquivo EXE compilado em C#?

Olá a todos! Estou escrevendo um pequeno aplicativo em C# (Windows Forms) que usa uma biblioteca de terceiros — por exemplo, Newtonsoft.Json ou iTextSharp. Quando compilo o projeto no Visual Studio, na pasta Debug/Release aparecem meu arquivo .exe e vários arquivos .dll. Isso é inconveniente para os usuários: eles precisam garantir que todas as bibliotecas estejam junto com o exe, caso contrário o programa não será executado. Quero fazer com que todas as DLLs sejam incorporadas diretamente dentro de um único arquivo .exe. Ou seja, o usuário recebe um único arquivo, executa-o — e tudo funciona sem manipulações adicionais. Tentei pesquisar no Google, encontrei o ILMerge, mas ele está desatualizado e não suporta .NET Core / .NET 5+. Também ouvi falar do Costura.Fody, mas não tenho certeza de como configurá-lo corretamente. Existe uma maneira moderna de fazer isso no .NET 6/7/8? Ou m