修正中です。ネットワーク上の場所からZipファイルをダウンロードし、ローカルマシンで解凍して、ファイルを使用する必要があります。唯一の制約は、サードパーティのdllを使用できないことです。
.NET Framework 4.5には、System.IO.Compression.ZipFile.ExtractToDirectory(String, String)
メソッドがあります。
VS2010でまだ利用できるかどうかはわかりませんが、以前のバージョンではJ#がVSに含まれ、J#はvjslib.dllにJava.util.Zip
クラスを含み、VSの一部であるため、サードパーティではありません= DLLなので、そのようにできるかもしれません。
これを行う方法を示すCodeProjectの記事は次のとおりです。 J#ランタイムを使用してC#プログラムからZipおよびUnzipする
これを行う「良い」方法はありません。 Zipファイル構造および DeflateStream などのクラスで公開されている information を使用して、Zipアルゴリズムを自分で実装することもできます(ただし、 DEFLATEアルゴリズム)。 このブログ投稿 に可能な代替案に関する情報がいくつかありますが、短いバージョンでは、サードパーティのライブラリを使用するか、自分でライブラリを書き直す必要があります。
これがGPLの方法でソースコードをリリースできる状況である場合は、 SharpZipLib のようなプロジェクトからコードをコピーして貼り付け、それによって要件を回避することができます。 DLLを使用します。それ以外に、なぜサードパーティのDLLを使用できないのですか?
.NET Framework自体は(現在)Zipファイルを公式にサポートしていません。他の人が指摘しているように、利用可能な高品質のサードパーティの無料ライブラリがいくつかあり、J#ランタイムはそれをサポートしています。
サードパーティのソリューションをお勧めしますが、それが絶対にできない場合は、もう1つのトリックがあります。 ZipPackage 、これはWPFの一部です。一種のZipファイル(追加のメタデータで拡張)をサポートし、ほとんどのZipファイルを読み取るのに十分に機能します。
GZipStreamは、WCFデータ圧縮に最も一般的に使用されます。ここでは使用しないでください。
このZipライブラリを試して、ファイルに圧縮することができます。
クイックグーグル検索はこれを見つけました。 GZipStreamクラスMSDNリファレンス