Estou consumindo minha pilha de serviço usando o projeto EXE (tarefa de inicialização do aplicativo azure), pois copiei a DLL da pilha de serviço a seguir e algumas DLLs do Azure para o projeto EXE.
Quando eu construo esse projeto EXE, as DLLs do Azure serão agrupadas com meu EXE, mas a DLL da pilha de serviço não será agrupada com EXE, porque para executar meu EXE em qualquer máquina, preciso copiar todas as DLLs da pilha de serviço manualmente.
Eu usei a dll desta pilha de serviço para usar
JsonServiceClient client = new JsonServiceClient(servicepath);
O que devo fazer para agrupar todas essas DLLs em meu EXE?
c#
assemblies
exe
ilmerge
servicestack
Arun Rana
fonte
fonte
A ferramenta que você está procurando é chamada ILMerge . É uma ferramenta de linha de comando e pode ser usada assim:
Há também um artigo que descreve como incluir ILMerge em sua configuração de projeto VS aqui
fonte
Uma ótima ferramenta para incluir assemblies referenciados como recursos incorporados é Costura (um suplemento Fody ). O autor Simon Kropp o descreve da seguinte maneira:
O resultado é uma solução super simples que requer apenas a busca do Costura.Fody no NuGet.
Recursos:
fonte
Experimente ILMerge-GUI, a fusão .NET . É um GUI baseado
Ilmerge
que evita todo o trabalho de linha de comando.fonte
Se você tiver dependências do WPF, suas opções podem ser mais limitadas ..... ILMerge não parece lidar com isso. Costura.Fody (como mencionado pelo Codefox acima) funcionou perfeitamente para nós e levou cerca de 5 minutos para começar ... uma experiência muito boa.
Instale com Nuget (selecionando o projeto padrão correto no console do gerenciador de pacotes).
Ele mescla todas as DLLs marcadas como "Copiar local" = true e produz um .EXE mesclado (junto com a saída padrão, a maioria da qual agora não é necessária) que também é compactada. Isso pode ser usado de forma independente.
A licença é MIT para que você possa modificar / distribuir conforme necessário.
https://github.com/Fody/Costura/
fonte
Saída do ServiceStack.Gap projecto que mostra diversos exemplos de COMO ILMerge ServiceStack em uma única plataforma cruzada exe .
ServiceStack também inclui uma série de outros recursos que são particularmente adequados para a criação de aplicativos incorporados onde:
fonte
.net core 3 introduz duas novas opções na configuração do projeto, chamadas publicação e corte de arquivo único.
Você pode encontrar mais detalhes sobre os documentos aqui , a configuração do projeto copiada aqui para referência.
É totalmente compatível com a combinação das duas opções para obter uma única montagem aparada para sua aplicação.
fonte