使用MSBuild任务进行压缩

3
我会尽力帮助您翻译中文,以下是要求翻译的内容:

我试图创建一个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”任务出现意外失败。 C:\ Projects \ Services \ SomeService \ DeployClassificationService.build(92,5): 错误MSB4018:System.IO.FileNotFoundException:无法加载文件或 程序集“ICSharpCode.SharpZipLib,Version = 0.84.0.0,Culture = neutral, PublicKeyToken = 1b03e6acf1164f73”之一或其依赖项。 系统找不到指定的文件。
什么是ICSharpCode? 我尝试将其包含在msbuild火中,但没起作用。
谢谢, Alon

1
下载此文件并将其与CommunityTasks DLL [ICSharpCode.SharpZipLib.dll](https://www.coderesort.com/p/epicode/export/797/EPiServer.Labs.ContentGenerator/5.x/MSBuild/MSBuildCommunityTasks/ICSharpCode.SharpZipLib.dll)一起放置。 - sll
5个回答

1

明白了,只需要包含:

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

1

看起来是一个依赖问题...我认为zip-task需要一个程序集(即ICSharpCode.SharpZipLib)来压缩您的文件。在这里看看:http://www.icsharpcode.net/opensource/sharpziplib/Download.aspx 或者自己搜索程序集名称并将其添加到您的解决方案中...如果您已经这样做了,请尝试通过NuGet添加它以解决该程序集的依赖关系


1

当您安装MSBuild Community Tasks时,您应该在安装文件夹%ProgramFiles%\MsBuild\MSBuildCommunityTasks中找到ICSharpCode库。

您应该像Anibas提到的那样使用Community tasks。
或者
将ICSharpCode库放入与MSBuild.Community.Tasks.dll相同的文件夹中。


值得注意的是,对于较新的读者来说,MSBuild Community Tasks已经远离ICSharpCode,并现在将Ionic Zip嵌入到其自己的dll中;因此,这对于较新版本(我认为是1.3+,但找不到确切的更改日志)不再需要。 - Chad

0

更近期的 Community Tasks 版本现在需要 Ionic.Zip.Reduced.dll。将其放置在我的 .build 目录中,我就一切正常了。


0

ICSharpCode 这里 如果它回答了你的问题,你看过这个帖子了吗。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接