I have my project set to .NET Framework 4.0. When I add System.IO.Packaging
, it says that it doesn\'t exist. It also doesn\'t show up when I try to add it as a
According to a user comment on this MSDN page, you have to add a reference to the WindowsBase .Net library.
You need to add a reference to the WindowsBase.dll. System.IO.Packaging is located in there.
See this article for more details:
http://msdn.microsoft.com/en-us/library/system.io.packaging.package.aspx
In my case I was using a ashx handler. For it to work you need to add the assembly to the project and the handler:
<%@ WebHandler Language="C#" Class="UploadExcelFile2" %>
<%@ Assembly Name="WindowsBase, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
This finally worked for me, tried multiple times to add WindowsBase as reference(restarted VS, restarted machine too) but still it was not working till I added this explicitly in my aspx page. I used: <%@ Assembly Name="WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
as the dll i had referenced was version 4.0.
We can add WindowsBase.dll in Dot Net framework 3.5 as well. I am using XP machine and Path for WindowsBase.dll is
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v3.5\Profile\Client\WindowsBase.dll
Example for using System.IO.packaging
is given here -
Using System.IO.Packaging to generate a ZIP file
The System.IO.Packaging
namespace is provided by WindowsBase
. When you add a reference, add WindowsBase
as the reference instead of trying to find System.IO.Packaging
.
For a C# solution in Visual Studio 2010 with .NET 4.0:
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\WindowsBase.dll
Save the solution (especially if you're compiling from the command-line with MSBuild) and you should now be able to add the using System.IO.Packaging directive to the top of your .cs file without an error appearing.