ZIP с использованием MSBuild Task
-
12-12-2019 - |
Вопрос
Я пытаюсь создать msbuild, который будет zip пакет сборки
У меня есть те строки в файле msbuild:
<UsingTask AssemblyFile="MSBuild.Community.Tasks.dll" TaskName="MSBuild.Community.Tasks.Zip" />
<Zip Files="$(OutputFiles)" ZipFileName="output\SomeService.v$(BuildNumber).zip" />
.
А когда я запускаю этот msbuild, я получаю исключение:
Ошибка MSB4018:
Задача «ZIP» не удалось неожиданно. \ R C: \ Projects \ Services \ Someservice \ deployClassificationsivice.Build (92,5): Ошибка MSB4018: System.io.fileNotfoundException: не удалось загрузить файл или Сборка 'icsharpcode.sharpziplib, версия= 0.84.0.0, культура= нейтральная, PublickeToken= 1B03E6ACF1164F73 'или одна из его зависимостей.То Система не может найти указанный файл. \ R
Что такое icsharpcode?Я пытался включить его в Msbuild Fir, и она не помогла.
Спасибо, Алон
Решение
Когда вы устанавливаете Задачи сообщества MSBuild , вы должны найти библиотеку ICSHARPCode в папке установки% Programfiles% \ MsBuild\ MsbuildcommunityTasks.
Вы должны использовать сообщества, такие как упомянутые Anibas.
Или
Поместите библиотеку ICSharPCode в одну и ту же папку с помощью MSBUILD.COMMUNITY.Tasks.dll.
Другие советы
Похоже, проблема зависимости ... Я думаю, что Zip-Task нуждается в сборке (а именно ICSharpcode.sharpziplib), чтобы заставить ваши файлы.Посмотрите здесь: http://www.icsharpcode.net/Opensource/sharpziplib/ASPX или Google для имени сборки самостоятельно и добавьте это в ваше решение .. Если вы уже сделали это, попробуйте добавить его через Nuget, чтобы получить зависимости этой сборки
получил это, Просто нужно, чтобы включить:
<Import Project="MSBuild.Community.Tasks.Targets" />
. Более последняя версия задач сообщества требует Ionic.zip.reduced.dll.Положите это в моем каталоге. Значи и все хорошо для меня.