MSBuild 작업을 사용하여 zip.
-
12-12-2019 - |
문제
빌드 패키지를 지킬 수있는 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 C : \ Projects \ Services \ Someservice \ DeployClassificationservice.build (92,5) : 오류 MSB4018 : System.IO.FileNotFoundException : 파일을로드 할 수 없거나 'ICSHARPCODE.SHARPZIPLIB, 버전= 0.84.0.0, 문화= 중립, PublicKeyToken= 1B03E6ACF1164F73 '또는 그 종속성 중 하나.그만큼 시스템이 지정된 파일을 찾을 수 없습니다. \ r
icsharpcode 란 무엇입니까?나는 MSBuild 전나무에 포함하려고 노력했으며 도움이되지 않았습니다.
고마워, Alon
해결책
MSBuild 커뮤니티 작업 설치할 경우 설치 폴더 % ProgramFiles % \ MSBuild에서 iCSharpCode 라이브러리를 찾아야합니다.\ MSBuildCommUnityTasks.
언급 된 Anibas와 같은 커뮤니티 작업을 사용해야합니다.
또는
msbuild.community.tasks.dll과 동일한 폴더에 icsharpcode 라이브러리를 넣으십시오.
다른 팁
는 종속성 문제처럼 보입니다 ... Zip-Task가 파일을 쓸 수있는 어셈블리 (즉 iCSharpCode.Sharpziplib)가 필요하다고 생각합니다. http://www.icsharpcode.net/opensource/sharpziplib/download.ASPX 또는 Google이 어셈블리 이름에 대한 Google을 사용하여 해결 방법에 추가하십시오. 이미 해당 어셈블리의 종속성을 얻으려면 NuGet을 통해 추가 해보십시오
가져 왔어, 다음을 포함시켜야합니다 :
<Import Project="MSBuild.Community.Tasks.Targets" />
. 최신 버전의 커뮤니티 작업은 이온의 zip.reduced.dll이 필요합니다.내. 빌딩 디렉토리에 넣고 모든 것이 잘있어.