1
resposta

[Dúvida] Como fazer para compactor todos os arquivos em um só .exe

Boa noite,

Os programas em C# que estou gerando está tendo um monte de arquivos

app1.exe.config
app1.exe.manifest
app1.pdb

E se eu adiciono algo no projeto mais ainda, vai tendo um monte de DLL e também XML

Newtonsoft.Json.dll
Newtonsoft.Json.xml

Não tem um jeito simples de compilar tudo em um .exe só não???

Att

1 resposta

Olá Ewerton! Tudo ok contigo?

Compilar todos os arquivos em único arquivo .exe é possível utilizando uma técnica chamada "merging" ou mesclagem. Para fazer isso, você pode usar uma ferramenta chamada ILMerge.

Aqui está um exemplo de como você pode usá-la:

  1. Primeiro, você precisa instalar o ILMerge. Você pode fazer isso através do NuGet, uma ferramenta de gerenciamento de pacotes para a plataforma .NET. No console do gerenciador de pacotes (Package Manager Console), você pode digitar o seguinte comando para instalar o ILMerge:
Install-Package ilmerge
  1. Depois de instalado, você pode usar o ILMerge para mesclar seus arquivos. Aqui está um exemplo de como você pode fazer isso:
ilmerge /out:app1.exe app1.exe Newtonsoft.Json.dll

Nesse exemplo, app1.exe e Newtonsoft.Json.dll são mesclados em um novo arquivo app1.exe. Você pode adicionar quantos arquivos quiser à lista.

Por favor, note que o ILMerge só pode mesclar assemblies .NET. Ele não pode mesclar arquivos de configuração ou manifestos. Para esses arquivos, você pode considerar a incorporação deles no seu assembly .NET, mas isso é um tópico mais avançado.

Era isso. Espero ter ajudado!

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor marque ele como solução! ✓