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 reference to the project.
How can I add System.IO.Packaging
to my C# project?
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 reference to the project.
How can I add System.IO.Packaging
to my C# project?
According to a user comment on this MSDN page, you have to add a reference to the WindowsBase .Net library.
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.
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 -
System.IO.Packaging
is a namespace, not a reference. Most (all?) of the classes within the namespace, such as ZipPackage, are deployed in WindowsBase.dll
.
Make sure you have a reference to WindowsBase.dll
- if you do, you can just add: using System.IO.Packaging;
to your .cs files, and you'll be fine.
Note that you can see this in the documentation for any class on MSDN. For example, in ZipPackage
, it lists:
Namespace: System.IO.Packaging
Assembly: WindowsBase (in WindowsBase.dll)
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
.
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
System.IO.Packaging v4.0.30319 is in WindowsBase.dll v4.0.30319
For windows 10 maybe you could found here
C:\Windows\Microsoft.NET\assembly\GAC_MSIL\WindowsBase\v4.0_4.0.0.0__31bf3856ad364e35\
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.