我的项目设置为 .NET Framework 4.0。当我添加System.IO.Packaging
时,它说它不存在。当我尝试将其添加为项目的引用时,它也不会出现。
如何添加System.IO.Packaging
到我的 C# 项目?
我的项目设置为 .NET Framework 4.0。当我添加System.IO.Packaging
时,它说它不存在。当我尝试将其添加为项目的引用时,它也不会出现。
如何添加System.IO.Packaging
到我的 C# 项目?
根据此 MSDN 页面上的用户评论,您必须添加对 WindowsBase .Net 库的引用。
对于带有 .NET 4.0 的 Visual Studio 2010 中的 C# 解决方案:
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\WindowsBase.dll
保存解决方案(特别是如果您使用 MSBuild 从命令行编译),您现在应该能够将using System.IO.Packaging指令添加到 .cs 文件的顶部,而不会出现错误。
System.IO.Packaging
是命名空间,而不是引用。命名空间中的大多数(全部?)类,例如ZipPackage,都部署在WindowsBase.dll
.
确保你有一个参考WindowsBase.dll
- 如果你这样做,你可以添加: usingSystem.IO.Packaging;
到你的 .cs 文件,你会没事的。
请注意,您可以在 MSDN 上任何类的文档中看到这一点。例如,在 中ZipPackage
,它列出:
Namespace: System.IO.Packaging
Assembly: WindowsBase (in WindowsBase.dll)
我们也可以在 Dot Net framework 3.5 中添加 WindowsBase.dll。我正在使用 XP 机器,WindowsBase.dll 的路径是
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v3.5\Profile\Client\WindowsBase.dll
System.IO.packaging
这里给出了使用示例-
您需要添加对 WindowsBase.dll 的引用。System.IO.Packaging 位于那里。
有关更多详细信息,请参阅这篇文章:
http://msdn.microsoft.com/en-us/library/system.io.packaging.package.aspx
System.IO.Packaging
命名空间由WindowsBase
. 添加引用时,添加WindowsBase
为引用而不是尝试查找System.IO.Packaging
.
System.IO.Packaging v4.0.30319 位于 WindowsBase.dll v4.0.30319
对于 Windows 10,也许你可以在这里找到
C:\Windows\Microsoft.NET\assembly\GAC_MSIL\WindowsBase\v4.0_4.0.0.0__31bf3856ad364e35\
就我而言,我使用的是 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 版。