2012-03-12 83 views
3

我嘗試創建的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:

的 「壓縮」 任務意外失敗\ r C:\項目\ SERVICES \ SomeServ ice \ DeployClassificationService.build(92,5): 錯誤MSB4018:System.IO.FileNotFoundException:無法加載文件或 程序集'ICSharpCode.SharpZipLib,Version = 0.84.0.0,Culture = neutral, PublicKeyToken = 1b03e6acf1164f73'或一個的依賴關係。 系統找不到指定的文件。\ r

什麼是ICSharpCode?我試圖把它包含在msbuild fir中,並沒有幫助。

感謝, 阿龍

+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 2012-03-12 20:45:34

回答

1

當您安裝MSBuild Community Tasks,你會發現在安裝文件夾中的%ProgramFiles%\的MSBuild \ MSBuildCommunityTasks ICSharpCode庫。

您應該使用社區任務,如提到的Anibas。

將ICSharpCode庫與MSBuild.Community.Tasks.dll放入同一個文件夾中。

+0

也許值得注意的是,對於更新的讀者,MSBuild Community Tasks已經從ICSharpCode移開,現在將Ionic Zip嵌入到自己的dll中;所以這對於更新的版本不是必需的(1.3+我認爲;但是不能找到確切的更新日誌) – Chad 2015-01-22 04:54:08

1

看起來像一個依賴問題......我認爲拉鍊任務需要的組件(即ICSharpCode.SharpZipLib)來壓縮文件。看看這裏:http://www.icsharpcode.net/opensource/sharpziplib/Download.aspx或谷歌自己的程序集名稱,並添加到您的解決方案..如果你已經這樣做,嘗試通過增加的NuGet它得到該組件的依賴關係解決

1

明白了, 只需要包括:

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

更新版本的社區任務現在需要Ionic.Zip.Reduced.dll。把它放在我的.build目錄中,對我來說都很好。