🤹‍♀️

nupkgファイル内のDLLファイルを取り出す方法

2023/04/12に公開

概要

通常、nupkgファイルは直接参照する事はなく、IDE[1]のMicrosoft Visual StudioのNuGet[2]を介してアクセスされるファイル。
こちらの記事、PowerShellとiTextSharpを使いPDFファイル内の文字列を検索し存否を判定するツールiTextSharpのnupkgファイルからDLLファイルのみ(itextsharp.dll)必要となりました。

手順は簡単ですが、データの取得方法を紹介します。

この記事のターゲット

  • nupkgファイル内にあるデータ(DLLファイル等)を取得したい方

対応方法

nupkgファイルは特殊な独自ファイルではなく、だだのZIP形式ファイル[3]となります。
下記の手順によりデータを取得(取り出し・抽出)が可能。

作業手順

  1. ファイルの拡張子を「.nupkg」から「.zip」に変更

    拡張子の変更(iTextSharpの場合)
    - itextsharp.5.5.13.nupkg
    + itextsharp.5.5.13.zip
    
  2. 圧縮・解凍ツールでZIPファイルを解凍
    Windows標準の圧縮・解凍ツールを使用する場合、対象ファイルを右クリックして、
    ショートカットメニュー(コンテキストメニュー)より[すべて展開(T)]を選択し解凍してください。

  3. 解凍によりnupkgファイル内のデータが出力される

    itextsharp.5.5.13.nupkgの中身
    itextsharp.5.5.13.zip
    │  .signature.p7s
    │  AGPL.txt
    │  iTextSharp.nuspec
    │  notice.txt
    │  [Content_Types].xml
    │
    ├─lib
    │      itextsharp.dll   ←私が目的としていたDLLファイルはコレ
    │      iTextSharp.xml
    │
    ├─package
    │  └─services
    │      └─metadata
    │          └─core-properties
    │                  4b9d6b49054b4c16be14e0b21611113b.psmdcp
    │
    └─_rels
            .rels
    

関連記事

まとめ

  • nupkgファイルはZIP形式のファイル
  • 拡張子変更と解凍でデータ内を簡単に取得可能
脚注
  1. Integrated Development Environment 統合開発環境。 ↩︎

  2. NuGet(ニューゲット)とは、.Net Frameworkに対応するパッケージマネージャー。 ↩︎

  3. 蛇足ですが、実はExcelファイルもZIP形式のファイル ↩︎

GitHubで編集を提案

Discussion