Respostas:
De acordo com um comentário do usuário nesta página do MSDN , você deve adicionar uma referência à biblioteca WindowsBase .Net.
Para uma solução C # no Visual Studio 2010 com .NET 4.0:
C: \ Arquivos de programas (x86) \ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.0 \ WindowsBase.dll
Salve a solução (especialmente se você estiver compilando a partir da linha de comando com o MSBuild) e agora deverá ser capaz de adicionar a diretiva using System.IO.Packaging ao topo do seu arquivo .cs sem que um erro apareça.
Também podemos adicionar WindowsBase.dll no Dot Net framework 3.5. Estou usando uma máquina XP e o caminho para WindowsBase.dll é
C: \ Arquivos de programas \ Assemblies de referência \ Microsoft \ Framework \ .NETFramework \ v3.5 \ Profile \ Client \ WindowsBase.dll
Um exemplo de uso System.IO.packaging
é dado aqui -
System.IO.Packaging
é um namespace, não uma referência. A maioria (todas?) Das classes dentro do namespace, como ZipPackage , são implantadas em WindowsBase.dll
.
Certifique-se de ter uma referência a WindowsBase.dll
- se tiver, você pode apenas adicionar: using System.IO.Packaging;
aos seus arquivos .cs, e você ficará bem.
Observe que você pode ver isso na documentação de qualquer classe no MSDN . Por exemplo, em ZipPackage
, ele lista:
Namespace: System.IO.Packaging
Assembly: WindowsBase (in WindowsBase.dll)
O System.IO.Packaging
namespace é fornecido por WindowsBase
. Ao adicionar uma referência, adicione WindowsBase
como referência em vez de tentar encontrar System.IO.Packaging
.
Você precisa adicionar uma referência ao WindowsBase.dll. System.IO.Packaging está localizado lá.
Veja este artigo para mais detalhes:
http://msdn.microsoft.com/en-us/library/system.io.packaging.package.aspx
System.IO.Packaging v4.0.30319 está em WindowsBase.dll v4.0.30319
Para Windows 10, talvez você possa encontrar aqui
C: \ Windows \ Microsoft.NET \ assembly \ GAC_MSIL \ WindowsBase \ v4.0_4.0.0.0__31bf3856ad364e35 \
No meu caso, eu estava usando um manipulador ashx. Para que funcione, você precisa adicionar o assembly ao projeto e ao manipulador:
<%@ WebHandler Language="C#" Class="UploadExcelFile2" %>
<%@ Assembly Name="WindowsBase, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
Isso finalmente funcionou para mim, tentei várias vezes adicionar WindowsBase como referência (reiniciei o VS, reiniciei a máquina também), mas ainda não estava funcionando até que eu adicionei isso explicitamente em minha página aspx. Usei: <%@ Assembly Name="WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
como a dll que referi era a versão 4.0.