Zip usando o msbuild tarefa
-
12-12-2019 - |
Pergunta
Eu tento criar msbuild que será enviada a compilação do pacote
eu tenho aqueles linha no arquivo do msbuild:
<UsingTask AssemblyFile="MSBuild.Community.Tasks.dll" TaskName="MSBuild.Community.Tasks.Zip" />
<Zip Files="$(OutputFiles)" ZipFileName="output\SomeService.v$(BuildNumber).zip" />
E quando eu executar esse msbuild recebo a exceção:
erro MSB4018:
O "Zip" tarefa falhou inesperadamente. C:\Projetos\Services\SomeService\DeployClassificationService.construir(92,5):erro MSB4018:Do sistema.IO.FileNotFoundException:Não foi possível carregar arquivo ou assembly 'ICSharpCode.SharpZipLib, Versão=0.84.0.0, Culture=neutral, PublicKeyToken=1b03e6acf1164f73' ou uma de suas dependências.O sistema não é possível localizar o arquivo especificado.
O que é ICSharpCode?Eu tentei incluí-lo dentro do msbuild fir e não ajudar.
Obrigado, Alon
Solução
Quando você instalar MSBuild Tarefas Da Comunidade, você deve encontrar ICSharpCode biblioteca na pasta de instalação %ProgramFiles%\MsBuild\MSBuildCommunityTasks.
Você deve usar a Comunidade tarefas como Anibas mencionado.
OU
Colocar ICSharpCode biblioteca para a mesma pasta com MSBuild.Community.Tasks.dll.
Outras dicas
Parece um problema de dependência...eu acho que o zip-tarefa necessita de um assembly (nomeadamente ICSharpCode.SharpZipLib) para seus arquivos zip.Dê uma olhada aqui: http://www.icsharpcode.net/opensource/sharpziplib/Download.aspx ou google para o nome do assembly por si mesmo e que a sua solução..se você já fez que tentar adicioná-lo via nuget para obter as dependências da assembléia resolvido
Consegui, Só precisava incluem:
<Import Project="MSBuild.Community.Tasks.Targets" />
Versão mais recente da Comunidade Tarefas requer Ionic.Zip.Reduced.dll agora.Colocar isso no meu .diretório de compilação e tudo bem para mim.