使用msbuild任务压缩

使用msbuild任务压缩,msbuild,msbuildcommunitytasks,Msbuild,Msbuildcommunitytasks,我尝试创建将压缩生成包的msbuild 我在msbuild文件中有以下行: <UsingTask AssemblyFile="MSBuild.Community.Tasks.dll" TaskName="MSBuild.Community.Tasks.Zip" /> <Zip Files="$(OutputFiles)" ZipFileName="output\SomeService.v$(BuildNumber).zip" /> 当我运行此msbuild时,会出现

我尝试创建将压缩生成包的msbuild

我在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\n C:\Projects\Services\SomeService\DeployClassificationService.build(92,5): 错误MSB4018:System.IO.FileNotFoundException:无法加载文件或 程序集'ICSharpCode.SharpZipLib,版本=0.84.0.0,区域性=neutral, PublicKeyToken=1b03e6acf1164f73'或其依赖项之一。这个 系统找不到指定的文件。\r\n

什么是代码?我试图将其包含在msbuild fir中,但没有任何帮助

谢谢,
阿隆看起来像是一个依赖性问题。。。我认为zip任务需要一个程序集(即ICSharpCode.SharpZipLib)来压缩文件。在这里看一下:或者自己用谷歌搜索程序集名称,并将其添加到您的解决方案中。。如果您已经这样做了,请尝试通过nuget添加它,以解析该程序集的依赖项 如果这个回答了你的问题,你有没有看一下这个, 只是需要包括:

<Import Project="MSBuild.Community.Tasks.Targets" />

安装时,应在安装文件夹%ProgramFiles%\MsBuild\MSBuildCommunityTasks中找到ICSharpCode库

你应该使用像Anibas提到的社区任务。


将ICSharpCode库与MSBuild.Community.Tasks.dll放在同一文件夹中。

较新版本的Community Tasks现在需要Ionic.Zip.Reduced.dll。把它放在我的.build目录中,对我来说一切都很好

下载此文件并将其与CommunityTasks DLL放在一起可能值得注意的是,对于最近的读者来说,MSBuild Community Tasks已经从ICSharpCode中移除,现在将Ionic Zip嵌入到自己的DLL中;因此,对于较新的版本(我认为是1.3+版本;但找不到确切的变更日志),这不是必需的