System.IO.Packaging


115

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

System.IO.PackagingC#プロジェクトにどのように追加できますか?

回答:


171

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


20
ユーザーのコメントも必要ありません。実際のメソッド/オブジェクト/その他のドキュメントを参照した場合。名前空間では、すべて「Assembly:WindowBase.dll」と表示されます
dlev

回答のリンクに行ったとき、WindowsBase.Netライブラリを追加する方法がわかりませんでした。追加して、system.io.packagingにアクセスできるようになりました。それではありがとうございましたが、WindowsBase.Netライブラリを介してsystem.io.packagingにアクセスする方法について私が理解していないことについて説明していただけますか?
アラン

このページには、WindowsBaseに関するユーザーのコメントがありました。Microsoftがドキュメントからコメントを削除したようです。
ペドロ

81

NET 4.0を備えたVisual Studio 2010のC#ソリューションの場合:

  1. プロジェクトのソリューションエクスプローラーで、参照を右クリックし、コンテキストメニューから[ 参照の追加 ] を選択します。
  2. 左側のペインで[ アセンブリ]を選択し、ペインの下部にある[ファイル名]フィールドの横にある[ 参照 ]ボタンをクリックします。
  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ファイルの先頭に追加できるようになります。


4
dllを参照する必要はありません。アセンブリ>フレームワークですでに利用可能です。
Altaf Patel 14

@AltafPatelは表示されませんでした。閲覧する必要がありました。また、プロジェクトが、参照ファイルの一致する.NETバージョン(この場合は4.0)でコンパイルするように設定されていることを確認してください。
デビッドロジャース


4

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

への参照があることを確認してくださいWindowsBase.dll- 参照する場合は、System.IO.Packaging;.csファイルにを追加するだけで問題ありません。

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

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

+1-使用するアセンブリが個々のページに記載されていることに気付きませんでした。メインの名前空間ページでそれを期待していましたが、それらは常に一致するとは限らないため、必要になる可能性があるクラスを調べることは理にかなっています。
ペドロ

3

System.IO.Packaging名前空間はによって提供されますWindowsBase。参照を追加する場合は、WindowsBaseを検索するのではなく、参照として追加しますSystem.IO.Packaging



2

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 \


0

私の場合、私は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だったからです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.