System.IO.Packaging


115

내 프로젝트를 .NET Framework 4.0으로 설정했습니다. 추가하면 System.IO.Packaging존재하지 않는다고 표시됩니다. 또한 프로젝트에 대한 참조로 추가하려고 할 때 표시되지 않습니다.

System.IO.Packaging내 C # 프로젝트에 추가 하려면 어떻게 해야합니까?

답변:


171

이 MSDN 페이지 의 사용자 의견에 따르면 WindowsBase .Net 라이브러리에 대한 참조를 추가해야합니다.


20
사용자 의견도 필요하지 않습니다. 실제 메소드 / 객체 / 등에 대한 문서를 보면. 네임 스페이스에서 그들은 모두 "Assembly : WindowBase.dll"이라고 말합니다
dlev

답변의 링크로 이동했을 때 WindowsBase.Net 라이브러리를 추가하는 방법을 알지 못했습니다. 나는 그것을 추가했고 이제 system.io.packaging에 액세스 할 수 있습니다. 그래서 감사합니다.하지만 WindowsBase.Net 라이브러리를 통해 system.io.packaging에 액세스하는 방법에 대해 알지 못하는 점을 설명해 주시겠습니까?
Alan

WindowsBase를 언급 한 사용자 의견이있는 페이지입니다. Microsoft가 문서에서 주석을 제거한 것 같습니다.
Pedro 19

81

.NET 4.0이 포함 된 Visual Studio 2010의 C # 솔루션 :

  1. 프로젝트의 솔루션 탐색기에서 참조를 마우스 오른쪽 단추로 클릭 하고 상황에 맞는 메뉴에서 참조 추가를 선택 합니다.
  2. 선택 어셈블리 의 왼쪽 창에서 다음을 클릭 찾아보기 옆에 버튼을 파일 이름 창의 botton을 근처 필드.
  3. .NET 4.0 참조 어셈블리를 찾아 WindowsBase.dll을 선택 합니다. 예를 들어 내 컴퓨터 (Windows 7, 64 비트)에서 전체 경로는 다음과 같습니다.

C : \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.0 \ WindowsBase.dll

솔루션을 저장하면 (특히 MSBuild를 사용하여 명령 줄에서 컴파일하는 경우) 이제 오류없이 using System.IO.Packaging 지시문을 .cs 파일의 맨 위에 추가 할 수 있습니다 .


4
dll을 찾아 볼 필요가 없습니다. 이미 어셈블리> 프레임 워크에서 사용할 수 있습니다.
Altaf Patel 2014

@AltafPatel이 표시되지 않았으므로 찾아보아야했습니다. 또한 프로젝트가 참조 된 파일의 일치하는 .NET 버전 (이 경우 4.0)으로 컴파일되도록 설정되어 있는지 확인하십시오.
David Rogers

5

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을 사용하여 ZIP 파일 생성


4

System.IO.Packaging참조가 아니라 네임 스페이스입니다. 대부분의 (모든?)과 같은 네임 스페이스 내에서 클래스의 ZipPackage 에 배포됩니다 WindowsBase.dll.

에 대한 참조가 있는지 확인하십시오. WindowsBase.dll그렇다면 System.IO.Packaging;.cs 파일에 using 을 추가 하면됩니다. 그러면 괜찮습니다.

MSDN의 모든 클래스에 대한 설명서 에서이를 확인할 수 있습니다 . 예를 들어 ZipPackage에서는 다음을 나열합니다.

Namespace:  System.IO.Packaging
Assembly:  WindowsBase (in WindowsBase.dll)

+1-개별 페이지가 사용할 어셈블리를 기록하는 것을 알지 못했습니다. 메인 네임 스페이스 페이지에서 예상 했겠지만 항상 일치하는 것은 아니기 때문에 필요한 클래스를 살펴 보는 것이 좋습니다.
Pedro

3

System.IO.Packaging네임 스페이스에 의해 제공됩니다 WindowsBase. 참조를 추가 할 때 WindowsBase를 찾는 대신 참조로 추가하십시오 System.IO.Packaging.



2

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 \


0

제 경우에는 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이었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.