Answers:
根据此MSDN页面上的用户评论,您必须添加对WindowsBase .Net库的引用。
对于带有.NET 4.0的Visual Studio 2010中的C#解决方案:
C:\ Program Files(x86)\ Reference Assemblys \ Microsoft \ Framework \ .NETFramework \ v4.0 \ WindowsBase.dll
保存解决方案(尤其是如果您使用MSBuild从命令行进行编译),现在您应该可以将using System.IO.Packaging指令添加到.cs文件的顶部,而不会出现错误。
我们也可以在Dot Net framework 3.5中添加WindowsBase.dll。我正在使用XP计算机,WindowsBase.dll的路径是
C:\ Program Files \参考程序集\ Microsoft \ Framework \ .NETFramework \ v3.5 \ Profile \ Client \ WindowsBase.dll
使用范例 System.IO.packaging
这里给出 -
System.IO.Packaging
是名称空间,而不是引用。命名空间中的大多数(全部)类(例如ZipPackage)都部署在中WindowsBase.dll
。
确保您有-的引用,WindowsBase.dll
如果您这样做,则只需System.IO.Packaging;
在.cs文件中添加:using,就可以了。
请注意,您可以在MSDN上任何类的文档中看到此内容。例如,在中ZipPackage
,它列出:
Namespace: System.IO.Packaging
Assembly: WindowsBase (in WindowsBase.dll)
您需要添加对WindowsBase.dll的引用。System.IO.Packaging位于其中。
请参阅本文以获取更多详细信息:
http://msdn.microsoft.com/zh-CN/library/system.io.packaging.package.aspx
WindowsBase.dll v4.0.30319中的System.IO.Packaging 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版。