System.IO.Packaging


115

Projemi .NET Framework 4.0 olarak ayarladım. Eklediğimde var System.IO.Packagingolmadığını söylüyor. Projeye referans olarak eklemeye çalıştığımda da görünmüyor.

System.IO.PackagingC # projeme nasıl ekleme yapabilirim ?

Yanıtlar:


171

Bu MSDN sayfasındaki bir kullanıcı yorumuna göre , WindowsBase .Net kitaplığına bir referans eklemeniz gerekir.


20
Bir kullanıcı yorumuna bile ihtiyacınız yok. Gerçek yöntemler / nesneler / vb. İçin belgelere bakarsanız. ad alanında hepsi "Assembly: WindowBase.dll" diyor
dlev

Cevaptaki bağlantıya gittiğimde, WindowsBase.Net kitaplığını nasıl ekleyeceğimi anlamadım. Ekledim ve şimdi system.io.packaging'e erişimim var. Bunun için teşekkürler, ancak system.io.packaging'e WindowsBase.Net kitaplığı aracılığıyla erişmeyi bilmeyle ilgili görmediğim şeyi açıklayabilir misiniz?
Alan

Sayfada WindowsBase'den bahseden kullanıcı yorumları vardı. Görünüşe göre Microsoft, belgelerinden yorumları kaldırmış.
Pedro

81

.NET 4.0 ile Visual Studio 2010'da bir C # çözümü için:

  1. Üzerine sağ tıklayıp projenizin Solution Explorer Referanslar basıp Ekle Referanslar bağlam menüsünden.
  2. Sol taraftaki bölmede Montajlar'ı seçin , ardından bölmenin alt kısmına yakın Dosya adı alanının yanındaki Gözat düğmesini tıklayın .
  3. .NET 4.0 başvuru derlemelerine göz atın ve WindowsBase.dll'yi seçin . Örneğin, makinemde (Windows 7, 64-bit) tam yol:

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

Çözümü kaydedin (özellikle MSBuild ile komut satırından derliyorsanız) ve artık using System.IO.Packaging yönergesini .cs dosyanızın en üstüne hata görünmeden ekleyebilmelisiniz .


4
Dll'ye göz atmanıza gerek yok, zaten Assemblies> Framework altında mevcuttur.
Altaf Patel

@AltafPatel benim için görünmedi, göz atmak zorunda kaldım. Ayrıca projenizin, başvurulan dosyanın eşleşen .NET sürümüyle (bu durumda 4.0) derlenecek şekilde ayarlandığından emin olun.
David Rogers

5

WindowsBase.dll dosyasını Dot Net framework 3.5'e de ekleyebiliriz. XP makinesi kullanıyorum ve WindowsBase.dll için Yol

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

Kullanım örneği System.IO.packagingburada verilmiştir -

Bir ZIP dosyası oluşturmak için System.IO.Packaging kullanma


4

System.IO.Packagingbir ad alanıdır, referans değildir. Çoğu (hepsi?) Gibi ad içindeki sınıfların ZipPackage , içinde dağıtılanWindowsBase.dll .

Bir referansınız olduğundan emin olun WindowsBase.dll- varsa System.IO.Packaging;, .cs dosyalarınıza : kullanarak ekleyebilirsiniz .

Bunu , MSDN üzerindeki herhangi bir sınıfın belgelerinde görebileceğinizi unutmayın . Örneğin, içinde ZipPackageşunları listeler:

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

+1 - Tek tek sayfaların derlemenin kullanılmasını not ettiğini fark etmedim. Bunu ana ad alanı sayfasında beklerdim, ancak bunlar her zaman eşleşmediğinden, ihtiyaç duyabileceğiniz sınıflara bakmak mantıklıdır.
Pedro

3

System.IO.PackagingAd tarafından sağlanmaktadır WindowsBase. Bir referans eklediğinizde WindowsBase, bulmaya çalışmak yerine referans olarak ekleyin System.IO.Packaging.



2

System.IO.Packaging v4.0.30319, WindowsBase.dll v4.0.30319 içindedir

Windows 10 için belki burada bulabilirsiniz

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


0

Benim durumumda bir ashx işleyici kullanıyordum. Çalışması için montajı projeye ve işleyiciye eklemeniz gerekir:

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

Bu nihayet benim için çalıştı, WindowsBase'i referans olarak eklemeyi birkaç kez denedi (yeniden başlatılan VS, yeniden başlatılan makine de), ancak bunu aspx sayfama açıkça ekleyene kadar yine de çalışmıyordu. Kullandım: <%@ Assembly Name="WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>başvurduğum dll 4.0 sürümüydü.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.