System.IO.Packaging

2019-01-31 05:00发布

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?

8条回答
淡お忘
2楼-- · 2019-01-31 05:16

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

查看更多
趁早两清
3楼-- · 2019-01-31 05:20

For a C# solution in Visual Studio 2010 with .NET 4.0:

  1. In your project's Solution Explorer, right-click on References and select Add References from the context menu.
  2. Select Assemblies in the left-hand pane, then click the Browse button next to the File name field near the botton of the pane.
  3. Browse to .NET 4.0 reference assemblies and select WindowsBase.dll. For example, on my machine (Windows 7, 64-bit) the complete path is:

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.

查看更多
smile是对你的礼貌
4楼-- · 2019-01-31 05:20

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.

查看更多
Summer. ? 凉城
5楼-- · 2019-01-31 05:29

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.

查看更多
老娘就宠你
6楼-- · 2019-01-31 05:32

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\

查看更多
萌系小妹纸
7楼-- · 2019-01-31 05:40

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

查看更多
登录 后发表回答