web-dev-qa-db-ja.com

System.IO.Packaging

プロジェクトを.NET Framework 4.0に設定しています。 System.IO.Packagingを追加すると、存在しないと表示されます。また、プロジェクトへの参照として追加しようとしても表示されません。

System.IO.PackagingをC#プロジェクトに追加するにはどうすればよいですか?

114
Drake

このMSDNページ に関するユーザーのコメントによると、WindowsBase .Netライブラリへの参照を追加する必要があります。

169
Pedro

.NET 4.0を使用したVisual Studio 2010のC#ソリューションの場合:

  1. プロジェクトのソリューションエクスプローラーで、参照を右クリックし、コンテキストメニューから参照の追加を選択します。
  2. 左側のペインでAssembliesを選択し、ペインの下部にあるFile nameフィールドの横にあるBrowseボタンをクリックします。
  3. .NET 4.0参照アセンブリを参照し、WindowsBase.dllを選択します。たとえば、私のマシン(Windows 7、64ビット)では、完全なパスは次のとおりです。

C:\ Program Files(x86)\ Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\WindowsBase.dll

ソリューションを保存する(特にMSBuildでコマンドラインからコンパイルする場合)、System.IO.Packagingを使用してを追加できるようになります.csファイルの先頭に、エラーが表示されないディレクティブ。

80
Steve HHH

Dot Net framework 3.5にもWindowsBase.dllを追加できます。 XPマシンを使用していますが、WindowsBase.dllのパスは

C:\ Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v3.5\Profile\Client\WindowsBase.dll

System.IO.packagingの使用例はここにあります-

System.IO.Packagingを使用してZipファイルを生成する

4
Tapash

System.IO.Packagingは名前空間であり、参照ではありません。 ZipPackage など、名前空間内のクラスのほとんど(すべて?)はWindowsBase.dllにデプロイされます。

WindowsBase.dllへの参照があることを確認してください。もしあれば、.csファイルにSystem.IO.Packaging;を使用するだけで問題ありません。

これは MSDNの任意のクラスのドキュメント で確認できます。たとえば、ZipPackageには、次のものがリストされます。

Namespace:  System.IO.Packaging
Assembly:  WindowsBase (in WindowsBase.dll)
4
Reed Copsey

System.IO.Packaging名前空間はWindowsBaseによって提供されます。参照を追加するとき、System.IO.Packagingを見つけようとする代わりに、参照としてWindowsBaseを追加します。

3
Matthew Abbott

WindowsBase.dllへの参照を追加する必要があります。 System.IO.Packagingはそこにあります。

詳細については、この記事を参照してください。

http://msdn.Microsoft.com/en-us/library/system.io.packaging.package.aspx

3
James Johnson

System.IO.Packaging v4.0.30319はWindowsBase.dll v4.0.30319にあります

Windows 10の場合、ここで見つけることができます

C:\ Windows\Microsoft.NET\Assembly\GAC_MSIL\WindowsBase\v4.0_4.0.0.0__31bf3856ad364e35 \

私の場合、ashxハンドラーを使用していました。動作させるには、アセンブリをプロジェクトとハンドラーに追加する必要があります。

<%@ WebHandler Language="C#" Class="UploadExcelFile2" %>
<%@ Assembly Name="WindowsBase, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>

これは最終的に私のために働いて、参照としてWindowsBaseを追加しようと何度も試みました(VSを再起動し、マシンも再起動しました)が、aspxページに明示的に追加するまでまだ機能しませんでした。私が使用したのは、<%@ Assembly Name="WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>を参照したdllがバージョン4.0であったためです。

0
Lanklaas