답변:
이 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 파일의 맨 위에 추가 할 수 있습니다 .
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
예가 여기에 있습니다-
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/en-us/library/system.io.packaging.package.aspx
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이었습니다.