Respuestas:
Según un comentario de un usuario en esta página de MSDN , debe agregar una referencia a la biblioteca .Net de WindowsBase.
Para una solución de C # en Visual Studio 2010 con .NET 4.0:
C: \ Archivos de programa (x86) \ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.0 \ WindowsBase.dll
Guarde la solución (especialmente si está compilando desde la línea de comandos con MSBuild) y ahora debería poder agregar la directiva using System.IO.Packaging en la parte superior de su archivo .cs sin que aparezca un error.
También podemos agregar WindowsBase.dll en Dot Net framework 3.5. Estoy usando la máquina XP y la ruta para WindowsBase.dll es
C: \ Archivos de programa \ Ensamblados de referencia \ Microsoft \ Framework \ .NETFramework \ v3.5 \ Profile \ Client \ WindowsBase.dll
System.IO.packaging
Aquí se da un ejemplo de uso :
System.IO.Packaging
es un espacio de nombres, no una referencia. La mayoría (¿todas?) De las clases dentro del espacio de nombres, como ZipPackage , se implementan en WindowsBase.dll
.
Asegúrese de tener una referencia a WindowsBase.dll
, si la tiene, puede agregar: using System.IO.Packaging;
a sus archivos .cs y estará bien.
Tenga en cuenta que puede ver esto en la documentación de cualquier clase en MSDN . Por ejemplo, en ZipPackage
, enumera:
Namespace: System.IO.Packaging
Assembly: WindowsBase (in WindowsBase.dll)
El System.IO.Packaging
espacio de nombres lo proporciona WindowsBase
. Cuando agregue una referencia, agréguela WindowsBase
como referencia en lugar de intentar buscar System.IO.Packaging
.
Necesita agregar una referencia a WindowsBase.dll. System.IO.Packaging se encuentra allí.
Consulte este artículo para obtener más detalles:
http://msdn.microsoft.com/en-us/library/system.io.packaging.package.aspx
System.IO.Packaging v4.0.30319 está en WindowsBase.dll v4.0.30319
Para Windows 10, tal vez puedas encontrarlo aquí.
C: \ Windows \ Microsoft.NET \ ensamblaje \ GAC_MSIL \ WindowsBase \ v4.0_4.0.0.0__31bf3856ad364e35 \
En mi caso, estaba usando un controlador ashx. Para que funcione, debe agregar el ensamblado al proyecto y al controlador:
<%@ WebHandler Language="C#" Class="UploadExcelFile2" %>
<%@ Assembly Name="WindowsBase, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
Esto finalmente funcionó para mí, intenté varias veces agregar WindowsBase como referencia (reinició VS, reinició la máquina también) pero aún así no funcionaba hasta que agregué esto explícitamente en mi página aspx. Usé: <%@ Assembly Name="WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
ya que el dll al que había hecho referencia era la versión 4.0.