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.