2011-08-31 29 views
106

我將我的項目設置爲.NET Framework 4.0。當我添加System.IO.Packaging時,它表示它不存在。當我嘗試添加它作爲項目的參考時,它也不會顯示出來。System.IO.Packaging

如何將System.IO.Packaging添加到我的C#項目中?

回答

158

根據用戶對this MSDN page的評論,您必須添加對WindowsBase .Net庫的引用。

+19

您甚至不需要用戶評論。如果您查看任何實際方法/對象/等的文檔。在命名空間中,他們都說「Assembly:WindowBase.dll」 – dlev

4

System.IO.Packaging是一個命名空間,而不是一個引用。名稱空間中的大多數(全部?)類都部署在WindowsBase.dll中,例如ZipPackage

確保你有一個WindowsBase.dll的參考 - 如果你這樣做,你可以添加:使用System.IO.Packaging;到你的.cs文件,你會沒事的。

請注意,您可以在documentation for any class on MSDN中看到此內容。例如,在ZipPackage,它會列出:

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

+1 - 我沒有注意到單個頁面記錄了要使用的程序集。我會在主命名空間頁面上預期它,但由於這些並不總是匹配,所以查看您可能需要的類是有意義的。 – Pedro

3

System.IO.Packaging命名空間由WindowsBase提供。添加參考時,請添加WindowsBase作爲參考,而不是嘗試查找System.IO.Packaging

77

對於.NET 4.0在Visual Studio 2010中的C#解決方案:

  1. 在項目的Solution Explorer中,右鍵單擊參考文獻並選擇從上下文菜單中添加參考文獻
  2. 選擇大會在左側窗格中,然後點擊旁邊的文件名領域瀏覽按鈕窗格鈕附近。
  3. 瀏覽到.NET 4.0參考程序集並選擇WindowsBase.dll。例如,我的機器(Windows 7中,64位)的完整路徑是:

C:\ Program Files文件(x86)的\參考 大會\微軟\框架\ .NETFramework \ V4.0 \ WindowsBase.dll中

保存解決方案(特別是如果你從MSBuild的命令行編譯),你現在應該能夠給使用System.IO.Packaging程序指令添加到您的.cs文件的頂部沒有出現錯誤。

+4

無需瀏覽至dll,它已在Assemblies> Framework下可用。 –

+0

@AltafPatel對我來說,它沒有出現,我不得不瀏覽它。還要確保你的項目被設置爲與引用文件的匹配.NET版本(在本例中爲4.0)一起編譯。 –

4

我們也可以在DotNet framework 3.5中添加WindowsBase.dll。我正在使用XP機器和Path for WindowsBase。DLL是

C:\ Program Files文件\參考 大會\微軟\框架\ .NETFramework \ v3.5版本\資料\客戶端\ WindowsBase.dll中

示例使用System.IO.packaging這裏給出 -

Using System.IO.Packaging to generate a ZIP file

0

System.IO.Packaging程序v4.0.30319是在WindowsBase.dll v4.0.30319

對於Windows 10,也許你可以在這裏找到

C:\ WINDOWS \ Microsoft.NET \裝配\ 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" %> 
相關問題