我的项目设置为.NET Framework 4.0。当我添加System.IO.Packaging
时,它表示它不存在。当我尝试将其添加为项目的参考时,它也不会显示。
如何将System.IO.Packaging
添加到我的C#项目中?
答案 0 :(得分:166)
根据用户对this MSDN page的评论,您必须添加对WindowsBase .Net库的引用。
答案 1 :(得分:80)
对于使用.NET 4.0的Visual Studio 2010中的C#解决方案:
C:\ Program Files(x86)\ Reference 组件\微软\框架\ .NETFramework \ V4.0 \ WindowsBase.dll中
保存解决方案(特别是如果您使用MSBuild从命令行进行编译),您现在应该能够使用System.IO.Packaging 添加指令到.cs文件的顶部,没有出现错误。
答案 2 :(得分:4)
System.IO.Packaging
是名称空间,而不是引用。命名空间中的大多数(全部?)类(例如ZipPackage)都部署在WindowsBase.dll
中。
确保您引用WindowsBase.dll
- 如果您这样做,您只需添加:使用System.IO.Packaging;
添加到您的.cs文件中,您就可以了。
请注意,您可以在documentation for any class on MSDN中看到这一点。例如,在ZipPackage
中,它会列出:
Namespace: System.IO.Packaging
Assembly: WindowsBase (in WindowsBase.dll)
答案 3 :(得分:4)
我们也可以在Dot Net framework 3.5中添加WindowsBase.dll。我正在使用XP机器和WindowsBase.dll路径
C:\ Program Files \ Reference 组件\微软\框架\ .NETFramework \ v3.5版本\资料\客户端\ WindowsBase.dll中
此处给出了使用System.IO.packaging
的示例 -
答案 4 :(得分:3)
System.IO.Packaging
命名空间由WindowsBase
提供。添加引用时,请添加WindowsBase
作为参考,而不是尝试查找System.IO.Packaging
。
答案 5 :(得分:3)
您需要添加对WindowsBase.dll的引用。 System.IO.Packaging位于那里。
有关详细信息,请参阅此文章:
http://msdn.microsoft.com/en-us/library/system.io.packaging.package.aspx
答案 6 :(得分:2)
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 \
答案 7 :(得分:0)
在我的情况下,我使用的是ashx处理程序。要使它工作,您需要将程序集添加到项目和处理程序:
<%@ WebHandler Language="C#" Class="UploadExcelFile2" %>
<%@ Assembly Name="WindowsBase, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
这最终对我有用,多次尝试添加WindowsBase作为参考(重启VS,重启机器)但是直到我在我的aspx页面中明确添加它之前它仍然没有工作。我使用了<%@ Assembly Name="WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
,因为我引用的dll是版本4.0。