말 그대로다.
보통 "C# 압축" 으로 검사하면 맨 먼저 나오는게 MSDN 의 참고 자료 링크다.
https://msdn.microsoft.com/ko-kr/library/ms404280(v=vs.110).aspx
같은거.
예제 코드도 되게 간단해서 쓰기 쉽다.
그런데, MSDN 자료임에도 불구하고 예제 코드만 잘라내서 컴파일 해 보면 안되는 경우가 있다.
만일 이 때의 에러가
The name 'zipfile' does not exist in the current context
와 같다면, 원인은 너님의 DotNet Framework 가 4.0 기반이라서 그렇다.
어디에서 본 글인지는 기억 안나는데, 어쨌던 C# 에서 사용 가능한 압축 라이브러리 ( 보통 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.IO.Compression.FileSystem.dll 에 있다.) 는 닷넷 프레임워크 4.5 에 와서야 추가된 라이브러리이다.
그러므로 3.5 혹은 4.0의 구버전 .net Framework 를 사용하고 있는 컴퓨터거나,
Windows 7 이라도 업그레이드 안하면, 간혹 해당 기능을 사용 못 할 때가 있다.
근데, 이게 나만 쓸 거라면야 업뎃 해 버리면 되지만...
예를 들어 패키지나 시스템으로 납품한다거나,
고객의 시스템이 윈도우 업그레이드를 꺼린다거나, 기타등등의 까닭으로 닷넷을 업뎃 못 한다면 어쩔건가?
[ 고객을 때릴꺼야?( 좋은 생각일지도 ) ]
그래서 뒤져보니, 이것도 이미 누가 dll로 만들어 놓은 게 있더라.
보통 구글에서 뒤지면, ionic 이라는 dll 이랑 SharpZipLip 이라는 dll 의 두가지가 나온다.
설명은 둘 다 잘 되어 있긴 한데, 리플 읽어보니 ionic 쪽에는 버그가 있나보다.
대부분은 다 잘 썼고 고맙다고 답글 달려 있는데, 그래도 뭐... 찜찜하잖아.
그래서 SharpZipLip 썼다.
사용법과 설명은
--- IONIC DLL ---
http://dotnetzip.codeplex.com/
http://nowonbun.tistory.com/97 (한글)
--- SharpZipLip ---
http://icsharpcode.github.io/SharpZipLib/
http://onlyican.tistory.com/245 (한글)
http://blog.naver.com/PostView.nhn?blogId=vackjangmi&logNo=120126808831 (한글)
'프로그램 > C#' 카테고리의 다른 글
grid 안의 셀에서 keyDown, KeyUp, KeyPress 이벤트 처리. (0) | 2018.01.16 |
---|---|
C#에서, PictureBox 의 이미지를 파일에서 Load 할 때, 파일이 사용중으로 나오는 경우. (1) | 2016.10.31 |
C# 의 combobox 에서, 드롭다운의 선택한 값을 받을수 없을 때. (3) | 2016.04.13 |
ms access 에서 ISNULL() 쿼리함수. (0) | 2016.03.31 |
C#에서 ms access 암호 있을때 connection string + 코드로 mdb 암호 변경 수정. (0) | 2016.03.24 |