Pget .NET Command Line toolbox and Interface for NuGet.Core and F#
Table of Contents
- 1. Pget.exe - Package Get
- 1.1. Overview
 - 1.2. Get binary release
 - 1.3. Build instructions
 - 1.4. Project Files
 - 1.5. Commands
- 1.5.1. Print Version help
 - 1.5.2. Print help help
 - 1.5.3. Local Repository
- 1.5.3.1. Show repository commands help help
 - 1.5.3.2. List packages
 - 1.5.3.3. Show package information (metadata)
 - 1.5.3.4. Show package files
 - 1.5.3.5. Get assembly references for F# scripts
 - 1.5.3.6. Open package project URL in the browser
 - 1.5.3.7. Open package licensee URL in the browser
 - 1.5.3.8. Install packages
 - 1.5.3.9. Install a list of packages
 - 1.5.3.10. Install packages listed in a file
 
 - 1.5.4. NuGet Repository
 - 1.5.5. NuGet package files nupkg files
 - 1.5.6. Assembly metadata and .NET types
- 1.5.6.1. Show Assembly commands help help
 - 1.5.6.2. Show .NET type information
 - 1.5.6.3. Show Assembly Attributes
 - 1.5.6.4. Show assembly references
 - 1.5.6.5. Show Assembly Resources
 - 1.5.6.6. Show all exported types
 - 1.5.6.7. Show type information
 - 1.5.6.8. Search type methods wich contains a given string
 - 1.5.6.9. Show all exported classes
 - 1.5.6.10. Show all exported non-abstract classes
 - 1.5.6.11. Show all exported abstract classes
 - 1.5.6.12. Show all exported interfaces
 - 1.5.6.13. Show all exported namespaces
 - 1.5.6.14. Show all types within an exported namespace
 - 1.5.6.15. Generate documentation about all exported namespaces
 
 - 1.5.7. Fsproj Helpers
 - 1.5.8. F# FSharp Assembly Introspection
 - 1.5.9. XML tools
- 1.5.9.1. Display help for xml commands help
 - 1.5.9.2. Display XML in human-readable format from URI/URL or file
 - 1.5.9.3. Save XML in human-readable format from file or URI to a new file.
 - 1.5.9.4. Show XML all namespaces
 - 1.5.9.5. Show XML tags hierarchy
 - 1.5.9.6. Show XML tags hierarchy with attribute names
 - 1.5.9.7. Show XML tags hintpath with namespaces
 - 1.5.9.8. Query xml nodes using xpath and show its texts
 - 1.5.9.9. Query xml nodes using xpath and show a node attribute
 - 1.5.9.10. Query xml nodes using xpath and show a node attribute ignoring namespaces
 - 1.5.9.11. Query xml nodes using xpath and show all attributes
 
 - 1.5.10. Misc - Tools
 
 - 1.6. TODO Todolist
 
 - 2. Pget.dll
 
1 Pget.exe - Package Get
1.1 Overview
Pget.exe is a .NET command line toolbox inspired by git and BusyBox that exposes .NET api through intuitive commands and a high level API. It provides commands to install, query and expose NuGet packages, explore .NuGet pacakge archives, explore .NET assemblies files or in GAC - Global Assembly files, generate library or assembly documentation with XML comments and query assemblies in GAC. In addition to that it provides tools for generate GUID and query XML.
Objective:
- Provide NuGet.Core.dll integration with external tools, text editors like Emacs and VIM and also command line integration with NuGet API.
 - Expose as much as possible of .NET API through command line.
 - Make .NET command line friendly tools
 - Create tools to make development easier in Unix-like OS like Linux, OSX and FreeBSD. Inspired by busybox it provides many command line tools in a single self-contained executable.
 
WHY pget ?
Pget was created because existing command line tools doesn't have all functionality provided by Visual Studio and Package Manager Console like display package metadata, search packages in NuGet repository, display packages' metadata from local repository or project repository ./packages and show Nuget package file metadata and files. Pget also provides compeling features to explore and browse .NET assemblies and xml.
Feature
- Search packages in Nuget repository
 
- Install and query NuGet packages
 
- Display all assembly references in a repository
 
- Generate assembly references from all repository or single package for F# scripts.
 
- Show packages' metadata like description, summary, web site, open package web site and so on.
 
- Inspect .NET assemblies *.exe, *.dll or assemblies in GAC - Global
Assembly Cache.
- Inspect .NET types, methods, interfaces
 - Show .NET assemblies metadata
 - Show .NET referenced assemblies
 - Show assembly resources
 - Show namespaces in assembly
 - Show classes in assembly
 - Show class methods
 - Show type information with xml comments like summary, methods, fields, constructors and properties.
 - Generate assembly documentation in org-mode markdown and extract xml comments from library (*.dll) xml files.
 
 - Show NuGet packages *.nupkg file metadata.
 - Get packages' assembly references from local repository and project repository (./packages) for F# scripts.
 - Query XML, show xml namespace, query xml using xpath, show xml tag structure. It is useful test xml data extraction with x-path expressions and XML tree navigation and ensure that it works.
 
Repository:
1.2 Get binary release
The binary releases are published to orphan-branch build.
Manual download
Automatic Download
~/Downloads $ curl -O -L https://github.com/caiorss/pget/raw/build/pget.exe
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   127  100   127    0     0    169      0 --:--:-- --:--:-- --:--:--   169
100 2143k  100 2143k    0     0   257k      0  0:00:08  0:00:08 --:--:--  529k
~/Downloads $
~/Downloads $ /usr/bin/chmod +x pget.exe
~/Downloads $ ./pget.exe -v 
    Pget - Package Get - Version 1.0 
    Copyright (C) 2016 Caio Rodrigues
or
cd ~/bin 
curl -O -L https://github.com/caiorss/pget/raw/build/pget.exe
/usr/bin/chmod +x pget.exe
./pget.exe -v
1.3 Build instructions
1.3.1 Build with Makefile
Run the command $ make exe. It assumes that fsc - the F# compiler
and nuget.exe are in the $PATH variable. It builds the standlone app
pget.exe with all dependencies static linked and also FSharp.Core (F#
runtime) static linked.
$ make exe fsc src/Pget.fs src/PgetCmd.fsx --out:bin/pget.exe \ --target:exe \ --platform:anycpu \ -r:packages/NuGet.Core.2.12.0/lib/net40-Client/NuGet.Core.dll \ -r:packages/Microsoft.Web.Xdt.2.1.1/lib/net40/Microsoft.Web.XmlTransform.dll \ --staticlink:NuGet.Core \ --standalone F# Compiler for F# 4.1 Freely distributed under the Apache 2.0 Open Source License
Testing:
$ file bin/pget.exe
bin/pget.exe: PE32 executable (console) Intel 80386 Mono/.Net assembly, for MS Windows
$ bin/pget.exe --version
 Pget - Package Get - Version 1.3.1 
 2016 Public Domain Software
 Repository - https://github.com/caiorss/pget
1.3.2 Build with Xbuild or Msbuild
Msbuild
$ msbuild pget-exe.fsproj /p:Configuration=Release
Xbuild
$ xbuild pget-exe.fsproj /p:Configuration=Release
$ cd obj/Release && ./Pget.exe -v Pget - Package Get - Version 1.3.1 2016 Public Domain Software Repository - https://github.com/caiorss/pget
1.4 Project Files
- src/ - Source code *.fs files
 - xml/ - Sample xml files to test pget.exe XML commands.
 - pget-exe.fsproj - Fsproj file to build pget.exe utility.
 - pget-lib.fsproj - Fsproj file to build pget.dll library.
 
1.5 Commands
1.5.1 Print Version help
$ pget.exe --versionor$ pget.exe -v
Example:
$ mono obj/Debug/pget.exe --version Pget - Package Get - Version 2.5.0.0 2016 Public Domain Software Repository - https://github.com/caiorss/pget
1.5.2 Print help help
$ pget.exe
Example:
$ mono obj/Debug/pget.exe 
Pget - Package Get - Enhanced command line interface to NuGet.Core
  pget.exe repo                                Show help for repo commands.
  pget.exe nuget                               Show help for nuget related commands                           
  pget.exe asm                                 Show help for assembly related commands.
  pget.exe nupkg                               Show help for Nuget packages related commands.
  pget.exe xml                                 Show help for xml related commands
  --version | -v                               Show version
  --help    | -h                               Show help
  --doc                                        Open online documentation.                          
  List Repository
    repo --list                                 List all packages in current repository ./package
    repo [path] --list                          List all package in [path] repository.
  Show repository 
    repo --show                                 Show all packages in current ./packages repository
    repo [path] --show                          Show all packages in [path] repository.
  Show package metadata
    repo --show  [pack]                         Show the package [pack] in ./packages directory
    repo [path] --show [pack]                   Show the package [pack] in [repo] directory.
  Show package files 
    repo --files [pack]                    Show content files of package [pack] in ./packages
    repo [path] --files [pack]             Show content files of package [pack] in [repo]
  Install package to repository  
    repo --install [pack]                       Install the latest version of package [pack] to ./packages
    repo --install [pack] [ver]                 Install the version [ver] of package [pack]
    repo [path] --install [pack]                Install the latest version of package [pack] to a repository [path] i.e: ~/nuget
    repo [path] --install [pack] [ver]          Install the version [ver] of package [pack] to a repository [path]
  Install a list of packages passed as argument
    repo --install-list FParsec NuGet.Core-2.0.0               Install those packages to ./packages
    repo /tmp/repo --install-list FParsec NuGet.Core-2.0.0     Install those packages to /tmp/repository
  Install a list of packages listed in a file
    repo --install-from-file                    Install all packages listed in the file ./packages.list to ./packages directory.
    repo --install-from-file [file]             Install all packages listed in the file ./packages.list to ./packages directory.
    repo [path] --install-from-file [file]      Install all packages listed in the file [file] to [path]
  Open package project URL or Licence URL
    repo --url [pack]                           Browse project URL of a package [pack] in ./packages.
    repo --license [pack]                       Browse licence URL of a package [pack] in ./packages.
    repo [path] --url [pack]                    Browse project URL of a package [pack] in [path]
    repo [path] --license [pack]                Browse licence URL of a package [pack] in [path]
  Show references for F# *.fsx scripts:        [frm]:  .NET Framework  net40 | net45   
    repo --ref [frm]                            Show all assembly references from current ./packages.
    repo --ref  --pack [pack]                   Show all assembly references from a package [pack] at ./packages.              
    repo [path] --ref [frm]                     Show all assembly references from current [repo] directory.
    repo [path] --ref [frm] [pack]              Show all assembly references from a package at [repo] directory        
  Nuget commands:
    nuget --search [package]                    Search a package by name.  
    nuget --show   [package]                    Show package information (metadata).
    nuget --open                                Open NuGet web site - https://www.nuget.org       
  Nupkg Files:
    nupkg --show  [file]                        Show metadata of a *.nupkg file
    nupkg --files [file]                        Show files in nupkg [file]        
  Assembly files: *.exe or *.dll
    asm --info [file]                                    Show all assembly attributes from an assembly [file] or GAC.
    asm --refs [file]                                    Show all assembly references from an assembly [file] or GAC.
    asm --resources  [file]                              Show resources from an assembly file.
    asm --namespace|-ns [file]                           Show all exported namespaces.
    asm --namespace|-ns [file] [nspace]                  Show all types within an exported namespace from an assembly [file].
    asm --type [file]                                    Show all types exported by an assembly [file] or assembly in GAC.
    asm --type [file] [type]                             Show information about [type] exported by assembly [file] or GAC.
    asm --type-info [type]                               Try to find a type and show its information.
    asm --search-method [file] [type] [method]           Search and display all methods of type [type] which contains [method].
    asm --interface [file]                               Show all interfaces exported by assembly [file]. 
    asm --abstract  [file]                               Show all abstract classes exported by assembly [file].
    asm --class  [file]                                  Show all classes exported by assembly [file].
    asm --classn [file]                                  Show all non-abstract classes exported by assembly [file]
    asm --docgen [file]                                  Print all types documentation on screen
    asm --docgen [file] [output-file]                    Export all types documentation to org-mode file.
  XML query commands.
    xml --show [xmluri]            Show formatted xml human-readable output from uri or file.
    xml --show [xmluri] [file]     Export [xmluri] (file or url) to a xml human-readable file.
    xml --struct [xmluri]          Show xml structure - tags hierarchy
    xml --struct [xmluri] attr     Show xml structure tags hierarchy with attributes names.
    xml --struct [xmluri] ns       Show xml structure tags hierarchy with namespaces
    xml -ns                                  Show all XML namespaces
    xml --namespace                          Show all XML namespaces
    xml --xvalue [xpath] [xmluri]                 Query xml nodes using xpath and show its values.
    xml --xtext  [xpath] [xmluri]                 Query xml nodes using xpath and show its texts.
    xml --xtext --nons [xpath] [xmluri]           Query xml nodes using xpath and show its texts ignoring namespaces.
    xml --xattr  [xpath] [attr] [xmluri]          Query xml nodes using xpath and show the values of a node attribute.
    xml --xattr  --nons [xpath] [attr] [xmluri]   Similar to command above but ignore namespaces.
  Fsproj - Helpers for fsproj files.
    fsproj --ref [frm]                           Generate include references tags from all packages in ./packages    
  Open pget online documentation:  https://caiorss.github.io/pget
    --doc 
  Show system information
    --system 
  Generate Guid - Globally Unique Identifier 
    --guid 
  --------------------------------------------
  Command abbreviations:
    --install            -i
    --install-from-file  -if
    --install-list       -il
    --help               -h
    --version            -v
    --ver                -v
    --list               -l
    --search             -s
    --show               -sh
 Pget - Package Get - Version 2.5.0.0 
 2016 Public Domain Software
 Repository - https://github.com/caiorss/pget
1.5.3 Local Repository
1.5.3.1 Show repository commands help help
$ pget.exe repo
Example:
$ bin/pget.exe repo
  List Repository
    repo --list                                 List all packages in current repository ./package
    repo [path] --list                          List all package in [path] repository.
  Show repository 
    repo --show                                 Show all packages in current ./packages repository
    repo [path] --show                          Show all packages in [path] repository.
  Show package metadata
    repo --show  [pack]                         Show the package [pack] in ./packages directory
    repo [path] --show [pack]                   Show the package [pack] in [repo] directory.
  Show package files 
    repo --files [pack]                    Show content files of package [pack] in ./packages
    repo [path] --files [pack]             Show content files of package [pack] in [repo]
  Install package to repository  
    repo --install [pack]                       Install the latest version of package [pack] to ./packages
    repo --install [pack] [ver]                 Install the version [ver] of package [pack]
    repo [path] --install [pack]                Install the latest version of package [pack] to a repository [path] i.e: ~/nuget
    repo [path] --install [pack] [ver]          Install the version [ver] of package [pack] to a repository [path]
  Install a list of packages passed as argument
    repo --install-list FParsec NuGet.Core-2.0.0               Install those packages to ./packages
    repo /tmp/repo --install-list FParsec NuGet.Core-2.0.0     Install those packages to /tmp/repository
  Install a list of packages listed in a file
    repo --install-from-file                    Install all packages listed in the file ./packages.list to ./packages directory.
    repo --install-from-file [file]             Install all packages listed in the file ./packages.list to ./packages directory.
    repo [path] --install-from-file [file]      Install all packages listed in the file [file] to [path]
  Open package project URL or Licence URL
    repo --url [pack]                           Browse project URL of a package [pack] in ./packages.
    repo --license [pack]                       Browse licence URL of a package [pack] in ./packages.
    repo [path] --url [pack]                    Browse project URL of a package [pack] in [path]
    repo [path] --license [pack]                Browse licence URL of a package [pack] in [path]
  Show references for F# *.fsx scripts:        [frm]:  .NET Framework  net40 | net45   
    repo --ref [frm]                            Show all assembly references from current ./packages.
    repo --ref  --pack [pack]                   Show all assembly references from a package [pack] at ./packages.              
    repo [path] --ref [frm]                     Show all assembly references from current [repo] directory.
    repo [path] --ref [frm] [pack]              Show all assembly references from a package at [repo] directory
1.5.3.2 List packages
- List packages in project repository ./packages directory:
$ pget.exe repo --listor$ pget.exe -l
Example:
$ bin/pget.exe repo -l Microsoft.Web.Xdt 2.1.1 NuGet.Core 2.12.0 $ tree packages packages ├── Microsoft.Web.Xdt.2.1.1 │ ├── lib │ │ └── net40 │ │ └── Microsoft.Web.XmlTransform.dll │ └── Microsoft.Web.Xdt.2.1.1.nupkg └── NuGet.Core.2.12.0 ├── lib │ └── net40-Client │ └── NuGet.Core.dll └── NuGet.Core.2.12.0.nupkg 6 directories, 4 files - List packages in a local repository
$ pget.exe repo --list [directory]or$ pget.exe --l [directory]
Example:
$ bin/pget.exe repo -l /home/arch/nuget Common.Logging 2.1.2 Deedle 1.2.5 Deedle.RPlugin 1.2.5 DynamicInterop 0.7.4 EntityFramework 6.0.0 Eto.Forms 2.2.0 Eto.Platform.Gtk 2.2.0 Eto.Platform.Gtk3 2.2.0 FAKE 4.39.0 ...
 
1.5.3.3 Show package information (metadata)
- Show all packages in project repository (./packages)
$ pget.exe pget repo --showor$ pget.exe repo -sh
Example:
$ bin/pget.exe repo --show Id Microsoft.Web.Xdt Title Microsoft Xml Document Transformation Tags Version 2.1.1 Summary Microsoft Xml Document Transformation (XDT) enables transformig XML files. This is the same technology used to transform web.config files for Visual Studio web projects. Authors Microsoft Corporation Project URL Dependencies Download Count -1 Description Microsoft Xml Document Transformation (XDT) library. For more info on XDT please visit http://msdn.microsoft.com/en-us/library/dd465326.aspx. Id NuGet.Core Title Tags nuget Version 2.12.0 Summary Authors Outercurve Foundation Project URL https://github.com/NuGet/NuGet2 Dependencies Microsoft.Web.Xdt 2.1.0 Download Count -1 Description NuGet.Core is the core framework assembly for NuGet that the rest of NuGet builds upon.
 - Show all packages in a local repository
$ pget.exe repo [path] --showor$ pget.exe repo [path] -sh
Example:
$ bin/pget.exe repo /tmp/testrepo --show Id FParsec Title FParsec Tags parser combinator f# fsharp c# csharp parsec fparsec Version 1.0.2 Summary Authors Stephan Tolksdorf Project URL http://www.quanttec.com/fparsec/ Dependencies Download Count -1 Description FParsec is a parser combinator library for F#. You can find comprehensive documentation for FParsec at http://www.quanttec.com/fparsec. The documentation includes a feature list, a tutorial, a user’s guide and an API reference. This package uses the basic “low-trust” configuration of FParsec, which does not use any unverifiable code and is optimized for maximum portability. If you need to parse very large files or if you employ FParsec for performance-critical jobs, consider using the alternate “Big Data Edition” NuGet package (see nuget.org/packages/fparsec-big-data-edition). Id FSharp.Data Title F# Data Tags F# fsharp data typeprovider WorldBank CSV HTML CSS JSON XML HTTP linqpad-samples Version 2.3.2 Summary Library of F# type providers and data access tools Authors Tomas Petricek, Gustavo Guerra, Colin Bull Project URL http://fsharp.github.io/FSharp.Data Dependencies Zlib.Portable 1.11.0, Zlib.Portable 1.11.0, Zlib.Portable 1.11.0 Download Count -1 Description The F# Data library (FSharp.Data.dll) implements everything you need to access data in your F# applications and scripts. It implements F# type providers for working with structured file formats (CSV, HTML, JSON and XML) and for accessing the WorldBank data. It also includes helpers for parsing CSV, HTML and JSON files and for sending HTTP requests. ...
 - Show a single package in project repository (./packages)
$ pget.exe repo --show [package-Id]or -$ pget.exe repo -sh [package-Id]
Example:
$ bin/pget.exe repo --show NuGet.Core Id NuGet.Core Title Tags nuget Version 2.12.0 Summary Authors Outercurve Foundation Project URL https://github.com/NuGet/NuGet2 Dependencies Microsoft.Web.Xdt 2.1.0 Download Count -1 Description NuGet.Core is the core framework assembly for NuGet that the rest of NuGet builds upon.
 - Show a single package in a Local Repository
$ pget.exe repo [path] --show [package-Id]
or
$ pget.exe repo [path] -sh [package-Id]
Example:
$ bin/pget.exe repo ~/nuget --show NUnit.Console Id NUnit.Console Title NUnit Console Runner Version 3 Plus Extensions Tags nunit test testing tdd runner Version 3.5.0 Summary Console runner for the NUnit 3 unit-testing framework with selected extensions. Authors Charlie Poole Project URL http://nunit.org/ Dependencies NUnit.ConsoleRunner 3.5.0, NUnit.Extension.NUnitProjectLoader 3.5.0, NUnit.Extension.VSProjectLoader 3.5.0, NUnit.Extension.NUnitV2ResultWriter 3.5.0, NUnit.Extension.NUnitV2Driver 3.5.0, NUnit.Extension.TeamCityEventListener 1.0.2 Download Count -1 Description This package includes the nunit3-console runner and test engine for version 3.0 of the NUnit unit-testing framework. The following extensions are included with this package: * NUnitProjectLoader - loads tests from NUnit projects * VSProjectLoader - loads tests from Visual Studio projects * NUnitV2ResultWriter - saves results in NUnit V2 format. * NUnitV2FrameworkDriver - runs NUnit V2 tests. * TeamCityEventListener - supports special progress messages used by teamcity. Other extensions, if needed, must be installed separately 
1.5.3.4 Show package files
- Show files of a package in project repository ./packages
$ pget.exe repo --files [package-id]
Example:
$ bin/pget.exe repo --files OxyPlot.Core packages/OxyPlot.Core.1.0.0/lib/portable-net45+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1+Xamarin.iOS10/OxyPlot.dll packages/OxyPlot.Core.1.0.0/lib/portable-net45+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1+Xamarin.iOS10/OxyPlot.pdb packages/OxyPlot.Core.1.0.0/lib/portable-net45+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1+Xamarin.iOS10/OxyPlot.xml packages/OxyPlot.Core.1.0.0/lib/net45/OxyPlot.dll packages/OxyPlot.Core.1.0.0/lib/net45/OxyPlot.pdb packages/OxyPlot.Core.1.0.0/lib/net45/OxyPlot.xml packages/OxyPlot.Core.1.0.0/lib/net40-client/OxyPlot.dll packages/OxyPlot.Core.1.0.0/lib/net40-client/OxyPlot.pdb packages/OxyPlot.Core.1.0.0/lib/net40/OxyPlot.dll packages/OxyPlot.Core.1.0.0/lib/net40/OxyPlot.pdb packages/OxyPlot.Core.1.0.0/lib/sl5/OxyPlot.dll packages/OxyPlot.Core.1.0.0/lib/sl5/OxyPlot.pdb packages/OxyPlot.Core.1.0.0/README.md packages/OxyPlot.Core.1.0.0/CHANGELOG.md $ bin/pget.exe repo --files FParsec packages/FParsec.1.0.2/lib/net40-client/FParsec.dll packages/FParsec.1.0.2/lib/net40-client/FParsec.XML packages/FParsec.1.0.2/lib/net40-client/FParsecCS.dll packages/FParsec.1.0.2/lib/net40-client/FParsecCS.XML packages/FParsec.1.0.2/lib/portable-net45+netcore45+wpa81+wp8/FParsec.dll packages/FParsec.1.0.2/lib/portable-net45+netcore45+wpa81+wp8/FParsec.XML packages/FParsec.1.0.2/lib/portable-net45+netcore45+wpa81+wp8/FParsecCS.dll packages/FParsec.1.0.2/lib/portable-net45+netcore45+wpa81+wp8/FParsecCS.XML
 - Show files of a package in a local repository
$ pget.exe repo [path] --files [package-id]
$ bin/pget.exe repo ~/nuget --files FParsec /home/arch/nuget/FParsec.1.0.2/lib/net40-client/FParsec.dll /home/arch/nuget/FParsec.1.0.2/lib/net40-client/FParsec.XML /home/arch/nuget/FParsec.1.0.2/lib/net40-client/FParsecCS.dll /home/arch/nuget/FParsec.1.0.2/lib/net40-client/FParsecCS.XML /home/arch/nuget/FParsec.1.0.2/lib/portable-net45+netcore45+wpa81+wp8/FParsec.dll /home/arch/nuget/FParsec.1.0.2/lib/portable-net45+netcore45+wpa81+wp8/FParsec.XML /home/arch/nuget/FParsec.1.0.2/lib/portable-net45+netcore45+wpa81+wp8/FParsecCS.dll /home/arch/nuget/FParsec.1.0.2/lib/portable-net45+netcore45+wpa81+wp8/FParsecCS.XML $ bin/pget.exe repo ~/nuget --files Mono.Cecil /home/arch/nuget/Mono.Cecil.0.9.5.4/lib/net20/Mono.Cecil.dll /home/arch/nuget/Mono.Cecil.0.9.5.4/lib/net20/Mono.Cecil.Mdb.dll /home/arch/nuget/Mono.Cecil.0.9.5.4/lib/net20/Mono.Cecil.Pdb.dll /home/arch/nuget/Mono.Cecil.0.9.5.4/lib/net35/Mono.Cecil.dll /home/arch/nuget/Mono.Cecil.0.9.5.4/lib/net35/Mono.Cecil.Mdb.dll /home/arch/nuget/Mono.Cecil.0.9.5.4/lib/net35/Mono.Cecil.Pdb.dll /home/arch/nuget/Mono.Cecil.0.9.5.4/lib/net35/Mono.Cecil.Rocks.dll /home/arch/nuget/Mono.Cecil.0.9.5.4/lib/net40/Mono.Cecil.dll /home/arch/nuget/Mono.Cecil.0.9.5.4/lib/net40/Mono.Cecil.Mdb.dll /home/arch/nuget/Mono.Cecil.0.9.5.4/lib/net40/Mono.Cecil.Pdb.dll /home/arch/nuget/Mono.Cecil.0.9.5.4/lib/net40/Mono.Cecil.Rocks.dll /home/arch/nuget/Mono.Cecil.0.9.5.4/lib/sl40/Mono.Cecil.dll /home/arch/nuget/Mono.Cecil.0.9.5.4/lib/sl40/Mono.Cecil.Rocks.dll
 
1.5.3.5 Get assembly references for F# scripts
- Get all assembly references from current ./packages repository.
$ pget.exe repo --ref [framework]
The framework is the .NET framework version. It can be:
- net40 for .NET 4.0
 - net45 for .NET 4.5
 
Example:
$ bin/pget.exe repo --ref net40 #r "packages/FParsec.1.0.2/lib/net40-client/FParsec.dll" #r "packages/FParsec.1.0.2/lib/net40-client/FParsecCS.dll" #r "packages/Microsoft.Web.Xdt.2.1.1/lib/net40/Microsoft.Web.XmlTransform.dll" #r "packages/NuGet.Core.2.12.0/lib/net40-Client/NuGet.Core.dll" #r "packages/OxyPlot.Core.1.0.0/lib/net40/OxyPlot.dll" #r "packages/OxyPlot.Pdf.1.0.0/lib/net40/OxyPlot.Pdf.dll" #r "packages/PDFsharp-MigraDoc-GDI.1.32.4334.0/lib/net20/MigraDoc.DocumentObjectModel.dll" #r "packages/PDFsharp-MigraDoc-GDI.1.32.4334.0/lib/net20/MigraDoc.Rendering.dll" #r "packages/PDFsharp-MigraDoc-GDI.1.32.4334.0/lib/net20/MigraDoc.RtfRendering.dll" #r "packages/PDFsharp-MigraDoc-GDI.1.32.4334.0/lib/net20/PdfSharp.Charting.dll" #r "packages/PDFsharp-MigraDoc-GDI.1.32.4334.0/lib/net20/PdfSharp.dll" #r "packages/PDFsharp-MigraDoc-GDI.1.32.4334.0/lib/net20/de/MigraDoc.DocumentObjectModel.resources.dll" #r "packages/PDFsharp-MigraDoc-GDI.1.32.4334.0/lib/net20/de/MigraDoc.Rendering.resources.dll" #r "packages/PDFsharp-MigraDoc-GDI.1.32.4334.0/lib/net20/de/MigraDoc.RtfRendering.resources.dll" #r "packages/PDFsharp-MigraDoc-GDI.1.32.4334.0/lib/net20/de/PdfSharp.Charting.resources.dll" #r "packages/PDFsharp-MigraDoc-GDI.1.32.4334.0/lib/net20/de/PdfSharp.resources.dll" $ bin/pget.exe repo --ref net45 #r "packages/FParsec.1.0.2/lib/portable-net45+netcore45+wpa81+wp8/FParsec.dll" #r "packages/FParsec.1.0.2/lib/portable-net45+netcore45+wpa81+wp8/FParsecCS.dll" #r "packages/Microsoft.Web.Xdt.2.1.1/lib/net40/Microsoft.Web.XmlTransform.dll" #r "packages/NuGet.Core.2.12.0/lib/net40-Client/NuGet.Core.dll" #r "packages/OxyPlot.Core.1.0.0/lib/net40/OxyPlot.dll" #r "packages/OxyPlot.Pdf.1.0.0/lib/net40/OxyPlot.Pdf.dll" #r "packages/PDFsharp-MigraDoc-GDI.1.32.4334.0/lib/net20/MigraDoc.DocumentObjectModel.dll" #r "packages/PDFsharp-MigraDoc-GDI.1.32.4334.0/lib/net20/MigraDoc.Rendering.dll" #r "packages/PDFsharp-MigraDoc-GDI.1.32.4334.0/lib/net20/MigraDoc.RtfRendering.dll" #r "packages/PDFsharp-MigraDoc-GDI.1.32.4334.0/lib/net20/PdfSharp.Charting.dll" #r "packages/PDFsharp-MigraDoc-GDI.1.32.4334.0/lib/net20/PdfSharp.dll" #r "packages/PDFsharp-MigraDoc-GDI.1.32.4334.0/lib/net20/de/MigraDoc.DocumentObjectModel.resources.dll" #r "packages/PDFsharp-MigraDoc-GDI.1.32.4334.0/lib/net20/de/MigraDoc.Rendering.resources.dll" #r "packages/PDFsharp-MigraDoc-GDI.1.32.4334.0/lib/net20/de/MigraDoc.RtfRendering.resources.dll" #r "packages/PDFsharp-MigraDoc-GDI.1.32.4334.0/lib/net20/de/PdfSharp.Charting.resources.dll" #r "packages/PDFsharp-MigraDoc-GDI.1.32.4334.0/lib/net20/de/PdfSharp.resources.dll"
 - Get all assembly references from a package in ./packages:
$ pget.exe repo --ref [framework] [package-id]
Example:
$ bin/pget.exe repo --ref net45 FParsec #r "packages/FParsec.1.0.2/lib/portable-net45+netcore45+wpa81+wp8/FParsec.dll" #r "packages/FParsec.1.0.2/lib/portable-net45+netcore45+wpa81+wp8/FParsecCS.dll"
 - Get all assembly references from a local repository.
$ pget.exe repo [path] --ref [framework]
Example:
$ bin/pget.exe repo /tmp/packages -i FSharp.Data Installing: FSharp.Data 2.3.2 $ bin/pget.exe repo /tmp/packages -i FParsec Installing: FParsec 1.0.2 $ ls /tmp/packages/ FParsec.1.0.2/ FSharp.Data.2.3.2/ Zlib.Portable.1.11.0/ $ bin/pget.exe repo /tmp/packages --ref net40 #r "/tmp/packages/FParsec.1.0.2/lib/net40-client/FParsec.dll" #r "/tmp/packages/FParsec.1.0.2/lib/net40-client/FParsecCS.dll" #r "/tmp/packages/FSharp.Data.2.3.2/lib/net40/FSharp.Data.dll" #r "/tmp/packages/FSharp.Data.2.3.2/lib/net40/FSharp.Data.DesignTime.dll" #r "/tmp/packages/Zlib.Portable.1.11.0/lib/portable-net4+sl5+wp8+win8+wpa81+MonoTouch+MonoAndroid/Zlib.Portable.dll" $ bin/pget.exe repo /tmp/packages --ref net45 #r "/tmp/packages/FParsec.1.0.2/lib/portable-net45+netcore45+wpa81+wp8/FParsec.dll" #r "/tmp/packages/FParsec.1.0.2/lib/portable-net45+netcore45+wpa81+wp8/FParsecCS.dll" #r "/tmp/packages/FSharp.Data.2.3.2/lib/portable-net45+netcore45+wpa81+wp8/FSharp.Data.dll" #r "/tmp/packages/FSharp.Data.2.3.2/lib/portable-net45+netcore45+wpa81+wp8/FSharp.Data.DesignTime.dll" #r "/tmp/packages/Zlib.Portable.1.11.0/lib/portable-net4+sl5+wp8+win8+wpa81+MonoTouch+MonoAndroid/Zlib.Portable.dll"
 - Get all assembly references from a package in a local repository
$ pget.exe repo [path --ref [framework] [package-id]
Example:
$ bin/pget.exe repo ~/nuget --ref net45 FParsec #r "/home/arch/nuget/FParsec.1.0.2/lib/portable-net45+netcore45+wpa81+wp8/FParsec.dll" #r "/home/arch/nuget/FParsec.1.0.2/lib/portable-net45+netcore45+wpa81+wp8/FParsecCS.dll" $ bin/pget.exe repo ~/nuget --ref net45 FSharp.Data #r "/home/arch/nuget/FSharp.Data.2.3.1/lib/portable-net45+netcore45+wpa81+wp8/FSharp.Data.dll" #r "/home/arch/nuget/FSharp.Data.2.3.1/lib/portable-net45+netcore45+wpa81+wp8/FSharp.Data.DesignTime.dll"
 
1.5.3.6 Open package project URL in the browser
- Open project URL of package in ./packages
$ pget.exe repo --url [packageId]
Example:
$ bin/pget.exe repo --url FParsec Opening http://www.quanttec.com/fparsec/
 - Open project URL of package in a local repository
$ pget.exe repo [path] --url [packageId]
Example:
$ bin/pget.exe repo ~/nuget --url Eto.Forms Opening https://github.com/picoe/Eto
 
1.5.3.7 Open package licensee URL in the browser
- Open license URL of package in ./packages
$ pget.exe repo --license [packageId]
Example:
$ bin/pget.exe repo --license FParsec Opening http://www.quanttec.com/fparsec/license.html
 - Open license URL of package in a local repository
$ pget.exe repo [path] --licence [packageId]
Example:
$ bin/pget.exe repo ~/nuget --license NUnit.Console Opening http://nunit.org/nuget/nunit3-license.txt
 
1.5.3.8 Install packages
- Install the lastest version of a package to ./packages (Project repository)
$ pget.exe repo --install [package-id]or -$ pget.exe repo -i [package-id]
Example:
$ bin/pget.exe repo --install OxyPlot.Pdf Installing: OxyPlot.Pdf 1.0.0 $ ls -l packages total 0 drwxrwxrwx 1 arch arch 280 dez 19 00:52 Microsoft.Web.Xdt.2.1.1/ drwxrwxrwx 1 arch arch 264 dez 19 01:45 NuGet.Core.2.12.0/ drwxrwxrwx 1 arch arch 488 dez 19 02:22 OxyPlot.Core.1.0.0/ drwxrwxrwx 1 arch arch 480 dez 19 02:22 OxyPlot.Pdf.1.0.0/ drwxrwxrwx 1 arch arch 296 dez 19 02:22 PDFsharp-MigraDoc-GDI.1.32.4334.0/ bin/pget.exe repo -sh OxyPlot.Core Id OxyPlot.Core Title OxyPlot core library (PCL) Tags plotting plot charting chart Version 1.0.0 Summary Authors Oystein Bjorke Project URL http://oxyplot.org/ Dependencies Download Count -1 Description OxyPlot is a plotting library for .NET. This is the portable core library that is referenced by the platform-specific OxyPlot packages. - Install a specific version of package  to ./packages
$ pget.exe repo --install [package-id] [version]
or
$ pget.exe repo -i [package-id] [version]
Example:
$ bin/pget.exe repo -i FParsec 1.0.2 $ ls -l packages total 0 drwxrwxrwx 1 arch arch 256 dez 19 02:31 FParsec.1.0.2/ drwxrwxrwx 1 arch arch 280 dez 19 00:52 Microsoft.Web.Xdt.2.1.1/ drwxrwxrwx 1 arch arch 264 dez 19 01:45 NuGet.Core.2.12.0/ drwxrwxrwx 1 arch arch 488 dez 19 02:22 OxyPlot.Core.1.0.0/ drwxrwxrwx 1 arch arch 480 dez 19 02:22 OxyPlot.Pdf.1.0.0/ drwxrwxrwx 1 arch arch 296 dez 19 02:22 PDFsharp-MigraDoc-GDI.1.32.4334.0/
 - Install the lastest version of a package to a local repository
$ pget.exe repo [path] --install [package-id]
or
$ pget.exe repo [path] -i [package-id] -r [path]
Example:
$ bin/pget.exe repo -i /home/arch/nuget OxyPlot.Pdf Installing: OxyPlot.Pdf 1.0.0 $ bin/pget.exe repo /home/arch/nuget -sh OxyPlot.Pdf Id OxyPlot.Pdf Title OxyPlot PDF extensions (for Silverlight and NET4) Tags pdf plotting plot charting chart Version 1.0.0 Summary Authors Oystein Bjorke Project URL http://oxyplot.org/ Dependencies OxyPlot.Core [1.0.0], PDFsharp-MigraDoc-GDI [1.32.4334], OxyPlot.Core [1.0.0], PDFsharp-MigraDoc-GDI [1.32.4334], OxyPlot.Core [1.0.0] Download Count -1 Description OxyPlot is a plotting library for .NET. This package contains .pdf export extensions for .NET 4 (based on PDFsharp) and Silverlight (based on SilverPDF).
 - Install a specific version of package to a local repository
$ pget.exe repo [path] --install [package-id] [version]
or
$ pget.exe repo [path] -i [package-id] -v [package]
Example:
$ bin/pget.exe repo ~/nuget -i Microsoft.Web.Xdt 1.0.0
 
1.5.3.9 Install a list of packages
- Install a list of packages to ./packages
$ pget.exe repo --install-list FParsec-1.0.2 OxyPlot
or
$ pget.exe repo -il FParsec-1.0.2 OxyPlot
If the version is not specified it installs the lastest version.
 - Install a list of pacakges to a local repository
$ pget.exe repo ~/nuget --install-list FParsec-1.0.2 OxyPlot
or
$ pget.exe repo ~/nuget -il FParsec-1.0.2 OxyPlot ... packageN
 
1.5.3.10 Install packages listed in a file
- Install all packages listed in the file ./packages.list to ./packages
$ pget.exe repo --install-from-file
or
$ pget.exe repo -if
Example of the file packages.list. If the version is not listed, it installs the latest version of the packages to ./packages.
File: packages.list
FSharp.Data 1.0.0 Deedle 1.0.0 OxyPlot.Pdf OxyPlot.WindowsForms
 - Install all packages listed in the file ./packages.list to ./packages
$ pget.exe repo --install-from-file [packages-list-file]
or
$ pget.exe repo -if [package-list-file]
 
1.5.4 NuGet Repository
1.5.4.1 Show nuget commands help help
$ pget.exe nuget
Example:
$ bin/pget.exe nuget
  Nuget commands:
    nuget --search [package]                    Search a package by name.  
    nuget --show   [package]                    Show package information (metadata).
    nuget --open                                Open NuGet web site - https://www.nuget.org
1.5.4.2 Search a package
$ pget.exe nuget --search [keyword]or -$ pget.exe nuget -s [keywork]
Example:
$ bin/pget.exe nuget -s oxyplot Id AnnotationGUIOxyplot Title Tags Version 0.0.1 Summary Authors tschwarz Project URL Dependencies Download Count 68 Description My package description. Id Eto.OxyPlot Title Eto.OxyPlot Tags Version 1.2.0-beta Summary Authors Loren Van Spronsen Project URL Dependencies Eto.Forms 2.2.0, OxyPlot.Core 1.0.0-unstable2063 Download Count 3382 Description OxyPlot bindings for the Eto UI framework ... ... ...
1.5.4.3 Display package information (metadata)
pget.exe nuget --show
Example:
$ bin/pget.exe nuget --show FParsec Id FParsec Title FParsec Tags parser combinator parsec fsharp Version 0.9.1 Summary FParsec is a parser combinator library for F#. Authors Stephan Tolksdorf (FParsec), Ryan Riley (NuGet Package) Project URL http://quanttec.com/fparsec/ Dependencies Download Count 66877 Description FParsec is a parser combinator library for F# $ bin/pget.exe nuget --show FParsecsdadfsf Error: I can't find the package FParsecsdadfsf $ bin/pget.exe nuget --show FSharp.Core Id FSharp.Core Title FSharp.Core Tags f# Version 2.0.0.0 Summary FSharp.Core.dll Authors Microsoft Project URL Dependencies Download Count 460728 Description FSharp.Core.dll which can be referenced in other nuget packages.
1.5.5 NuGet package files nupkg files
1.5.5.1 Show nupkg help help
$ pget.exe nupkg
Example:
$ bin/pget.exe nupkg
  Nupkg Files:
    nupkg --show  [file]                        Show metadata of a *.nupkg file
    nupkg --files [file]                        Show files in nupkg [file]
1.5.5.2 Show package file metadata
Show a NuGet package metadata
$ pget.xe nupkg --show [nupkg-file]
Example:
$ bin/pget.exe nupkg --show ./packages/FParsec.1.0.2/FParsec.1.0.2.nupkg
Id             FParsec
Title          FParsec
Tags            parser combinator f# fsharp c# csharp parsec fparsec 
Version        1.0.2
Summary        
Authors        Stephan Tolksdorf
Project URL    http://www.quanttec.com/fparsec/
Dependencies   
Download Count -1
Description    FParsec is a parser combinator library for F#.
You can find comprehensive documentation for FParsec at http://www.quanttec.com/fparsec. The documentation includes a feature list, a tutorial, a user’s guide and an API reference.
This package uses the basic “low-trust” configuration of FParsec, which does not use any unverifiable code and is optimized for maximum portability. If you need to parse very large files or if you employ FParsec for performance-critical jobs, consider using the alternate “Big Data Edition” NuGet package (see nuget.org/packages/fparsec-big-data-edition).
1.5.5.3 Show package files
$ pget.exe nupkg --files [nupkg-file]
Example:
$ bin/pget.exe nupkg --files ./packages/FParsec.1.0.2/FParsec.1.0.2.nupkg lib/net40-client/FParsec.dll lib/net40-client/FParsec.XML lib/net40-client/FParsecCS.dll lib/net40-client/FParsecCS.XML lib/portable-net45+netcore45+wpa81+wp8/FParsec.dll lib/portable-net45+netcore45+wpa81+wp8/FParsec.XML lib/portable-net45+netcore45+wpa81+wp8/FParsecCS.dll lib/portable-net45+netcore45+wpa81+wp8/FParsecCS.XML
1.5.6 Assembly metadata and .NET types
1.5.6.1 Show Assembly commands help help
$ pget.exe asm
Example:
$ bin/pget.exe asm
  Assembly files: *.exe or *.dll
    asm --info [file]                                    Show all assembly attributes from an assembly [file].
    asm --refs [file]                                    Show all assembly references from an assembly [file].
    asm --resources  [file]                              Show resources from an assembly file.
    asm --namespace|-ns [file]                           Show all exported namespaces.
    asm --namespace|-ns [file] [nspace]                  Show all types within an exported namespace from an assembly [file].
    asm --type [file]                                    Show all types exported by assembly [file]
    asm --type [file] [type]                             Show information about [type] exported by assembly [file].
    asm --interface [file]                               Show all interfaces exported by assembly [file]. 
    asm --abstract  [file]                               Show all abstract classes exported by assembly [file].
    asm --class  [file]                                  Show all classes exported by assembly [file].
    asm --classn [file]                                  Show all non-abstract classes exported by assembly [file]
    asm --docgen [file]                                  Print all types documentation on screen
    asm --docgen [file] [output-file]                    Export all types documentation to org-mode file.
1.5.6.2 Show .NET type information
$ pget.exe asm --type-info [type name]
Example:
$ pget.exe asm --type-info System.IO.Directory **** Type Info - Name: Directory - Full Name: System.IO.Directory - Namespace: System.IO - Module: mscorlib.dll - Base Type: System.Object *Predicates* - Class: True - Abstract Class: True - Primitive False - Array: False - Interface False - Enum False - Public True - Visible True **** Fields **** Properties **** Constructors **** Instance Methods - Public System.Boolean Equals (System.Object obj) - Public System.Int32 GetHashCode () - Public System.Type GetType () - Public System.String ToString () .... **** Static Methods - Public Static System.IO.DirectoryInfo CreateDirectory (System.String path) - Public Static System.IO.DirectoryInfo CreateDirectory (System.String path, System.Security.AccessControl.DirectorySecurity directorySecurity) - Public Static System.Void Delete (System.String path) - Public Static System.Void Delete (System.String path, System.Boolean recursive) - Public Static System.Boolean Exists (System.String path) - Public Static System.DateTime GetLastAccessTime (System.String path) - Public Static System.DateTime GetLastAccessTimeUtc (System.String path) - Public Static System.DateTime GetLastWriteTime (System.String path) - Public Static System.DateTime GetLastWriteTimeUtc (System.String path) ... ...
1.5.6.3 Show Assembly Attributes
$ pget.exe asm --info [assembly-file or asm-gac]
Show assembly attribute of assembly file or assembly in GAC.
Example:
$ bin/pget.exe asm --info ~/bin/nuget.exe Assembly Attributes ------------------------------------------- Name NuGet Version 3.4.4.1321 CLR Version v4.0.30319 Product NuGet Culture Company Microsoft Corporation Description NuGet Command Line Copyright Microsoft Corporation. All rights reserved. GUID Com Visible False Codebase file:///home/arch/bin/nuget.exe
Example 2:
$ bin/pget.exe asm --info ~/nuget/FSharp.Core.3.1.2.5/lib/net40/FSharp.Core.dll Assembly Attributes ------------------------------------------- Name FSharp.Core Version 4.3.1.0 CLR Version v4.0.30319 Product Microsoft® Visual Studio® 2013 Culture Company Microsoft Corporation Description FSharp.Core.dll Copyright © Microsoft Corporation. All rights reserved. GUID Com Visible False Codebase file:///home/arch/nuget/FSharp.Core.3.1.2.5/lib/net40/FSharp.Core.dll
Example 3: Show information about assembly in GAC (System.Xml.dll)
$ mono bin/Debug/Pget.exe asm --info System.Xml
Assembly Attributes
-------------------------------------------
Name         System.Xml
Version      4.0.0.0
CLR Version  v4.0.30319
Product      Mono Common Language Infrastructure
Culture      
Company      Mono development team
Description  System.Xml.dll
Copyright    (c) Various Mono authors
GUID         
Com Visible  False
Codebase     file:///usr/lib/mono/gac/System.Xml/4.0.0.0__b77a5c561934e089/System.Xml.dll
1.5.6.4 Show assembly references
Show assemblies referenced by an assembly file
$ pget.exe asm --refs [assembly-file]
Example:
$ bin/pget.exe asm --refs ~/bin/nuget.exe Name = mscorlib Version = 4.0.0.0 Culture = Name = Microsoft.CSharp Version = 4.0.0.0 Culture = Name = System.Core Version = 4.0.0.0 Culture = Name = System Version = 4.0.0.0 Culture = Name = System.Xml.Linq Version = 4.0.0.0 Culture = Name = System.Xml Version = 4.0.0.0 Culture = Name = Microsoft.Build Version = 4.0.0.0 Culture = Name = Microsoft.Build.Framework Version = 4.0.0.0 Culture = Name = System.ComponentModel.Composition Version = 4.0.0.0 Culture = Name = Microsoft.Build.Utilities.v4.0 Version = 4.0.0.0 Culture = Name = System.Numerics Version = 4.0.0.0 Culture = Name = System.Data Version = 4.0.0.0 Culture = Name = System.Runtime.Serialization Version = 4.0.0.0 Culture = Name = System.Security Version = 4.0.0.0 Culture = Name = System.ComponentModel.DataAnnotations Version = 4.0.0.0 Culture = Name = WindowsBase Version = 4.0.0.0 Culture = Name = System.ServiceModel Version = 4.0.0.0 Culture = Name = System.Data.Services.Client Version = 4.0.0.0 Culture = Name = System.IO.Compression Version = 4.0.0.0 Culture = Name = System.Net.Http Version = 4.0.0.0 Culture = Name = System.IdentityModel Version = 4.0.0.0 Culture = Name = System.Net.Http.WebRequest Version = 4.0.0.0 Culture =
1.5.6.5 Show Assembly Resources
$ pget.exe asm --resources [asmfile]
Example:
$ bin/pget.exe asm --resources bin/pget.exe FSCore.resources NuGet.CommonResources.resources NuGet.NuGet.Frameworks.Strings.resources NuGet.Resources.AnalysisResources.resources NuGet.Resources.NuGetResources.resources NuGet.Authoring.nuspec.xsd
1.5.6.6 Show all exported types
$ pget.exe asm --type [asmFile]
Example 1: Show exported type by assembly file.
$ bin/pget.exe repo --files NuGet.Core packages/NuGet.Core.2.12.0/lib/net40-Client/NuGet.Core.dll $ bin/pget.exe asm --type packages/NuGet.Core.2.12.0/lib/net40-Client/NuGet.Core.dll NuGet.IPackageRule NuGet.PackageIssue NuGet.DefaultPackageRuleSet NuGet.PackageIssueLevel NuGet.AssemblyMetadata NuGet.AssemblyMetadataExtractor NuGet.IFrameworkTargetable NuGet.IPackageFile ... NuGet.IPackageAssemblyReference NuGet.PhysicalPackageAssemblyReference NuGet.ConfigurationDefaults NuGet.ICredentialProvider NuGet.SettingsCredentialProvider NuGet.ISettings NuGet.NullSettings NuGet.Settings NuGet.SettingValue ... NuGet.Resources.NuGetResources NuGet.ProjectSystemExtensions NuGet.PathUtility NuGet.CryptoHashProvider NuGet.StreamExtensions NuGet.PackageHelper NuGet.XmlUtility NuGet.IProjectSystem NuGet.PackageSaveModes NuGet.Constants NuGet.PackageDependency NuGet.VersionUtility NuGet.XElementExtensions
Example 2: Show exported types by assembly in GAC.
$ mono bin/Debug/Pget.exe asm --type System.Xml System.Xml.Xsl.Runtime.ContentIterator System.Xml.Xsl.Runtime.ElementContentIterator System.Xml.Xsl.Runtime.NodeKindContentIterator System.Xml.Xsl.Runtime.AttributeIterator System.Xml.Xsl.Runtime.NamespaceIterator System.Xml.Xsl.Runtime.AttributeContentIterator System.Xml.Xsl.Runtime.ContentMergeIterator System.Xml.Xsl.Runtime.DodSequenceMerge System.Xml.Xsl.Runtime.SetIteratorResult ... ... ... System.Xml.Xsl.XsltContext System.Xml.Xsl.XsltException System.Xml.Xsl.XsltCompileException System.Xml.Xsl.XslTransform System.Xml.Xsl.XsltSettings
1.5.6.7 Show type information
$ pget.exe asm --type [asmFile] [TypeName]
Example: Show information about type NuGet.ZipPackage exported by NuGet.Core.dll .
$ bin/pget.exe repo --files NuGet.Core
packages/NuGet.Core.2.12.0/lib/net40-Client/NuGet.Core.dll
$ bin/pget.exe asm --type packages/NuGet.Core.2.12.0/lib/net40-Client/NuGet.Core.dll NuGet.ZipPackage
**** Type Info
 - Name:           ZipPackage
 - Full Name:      NuGet.ZipPackage
 - Namespace:      NuGet
 - Module:         NuGet.Core.dll
 - Base Type:      NuGet.LocalPackage
*Predicates*
 - Class:          True
 - Abstract Class: False
 - Primitive       False
 - Array:          False
 - Interface       False
 - Enum            False
 - Public          True
 - Visible         True
**** Fields
**** Properties
 - System.String Id
 - NuGet.SemanticVersion Version
 - System.String Title
 - System.Collections.Generic.IEnumerable`1[System.String] Authors
 - System.Collections.Generic.IEnumerable`1[System.String] Owners
 - System.Uri IconUrl
 - System.Uri LicenseUrl
 - System.Uri ProjectUrl
 - System.Uri ReportAbuseUrl
 - Int32 DownloadCount
 - Boolean RequireLicenseAcceptance
 - Boolean DevelopmentDependency
 - System.String Description
 - System.String Summary
 - System.String ReleaseNotes
 - System.String Language
 - System.String Tags
 - System.Version MinClientVersion
 - Boolean IsAbsoluteLatestVersion
 - Boolean IsLatestVersion
 - Boolean Listed
 - System.Nullable`1[System.DateTimeOffset] Published
 - System.String Copyright
 - System.Collections.Generic.IEnumerable`1[NuGet.PackageDependencySet] DependencySets
 - System.Collections.Generic.IEnumerable`1[NuGet.FrameworkAssemblyReference] FrameworkAssemblies
 - System.Collections.Generic.IEnumerable`1[NuGet.IPackageAssemblyReference] AssemblyReferences
 - System.Collections.Generic.ICollection`1[NuGet.PackageReferenceSet] PackageAssemblyReferences
**** Constructors
    Void .ctor(String)
    Void .ctor(Func`1, Func`1)
    Void .ctor(Stream)
**** Methods
 - System.IO.Stream GetStream()
 - Void ExtractContents(NuGet.IFileSystem, System.String)
 - System.String GetPackageIdentifier(System.IO.Packaging.Package)
 - System.Collections.Generic.IEnumerable`1[System.Runtime.Versioning.FrameworkName] GetSupportedFrameworks()
 - System.Collections.Generic.IEnumerable`1[NuGet.IPackageFile] GetFiles()
 - System.String ToString()
 - Boolean Equals(System.Object)
 - Int32 GetHashCode()
 - System.Type GetType()
Example: Show type information about type Eto.Forms.Form defined in Eto.dll.
Note: The summaries about the methods, fields and properties comes from file Eto.xml
$ bin/pget.exe asm --type packages/Eto.Forms.2.3.0/lib/net45/Eto.dll Eto.Forms.Form
**** Type Info
 - Name:           Form
 - Full Name:      Eto.Forms.Form
 - Namespace:      Eto.Forms
 - Module:         Eto.dll
 - Base Type:      Eto.Forms.Window
*Predicates*
 - Class:          True
 - Abstract Class: False
 - Primitive       False
 - Array:          False
 - Interface       False
 - Enum            False
 - Public          True
 - Visible         True
**** Fields
**** Properties
 - Boolean ShowActivated
Gets or sets a value indicating that the form should be activated when initially shown.
 - System.String Title
Gets or sets the title of the window
 - Eto.Drawing.Point Location
Gets or sets the location of the window
 - Eto.Drawing.Rectangle Bounds
Gets or sets the size and location of the window
 - Eto.Forms.ToolBar ToolBar
Gets or sets the tool bar for the window.
 - Double Opacity
Gets or sets the opacity of the window
 - Eto.Forms.Window Owner
Gets or sets the owner of this window.
 - Eto.Forms.Screen Screen
Gets the screen this window is mostly contained in. Typically defined by the screen center of the window is visible.
 - Eto.Forms.MenuBar Menu
Gets or sets the menu bar for this window
 - Eto.Drawing.Icon Icon
Gets or sets the icon for the window to show in the menu bar.
 - Boolean Resizable
Gets or sets a value indicating whether this  is resizable.
 - Boolean Maximizable
Gets or sets a value indicating whether this  can be maximized.
 - Boolean Minimizable
Gets or sets a value indicating whether this  can be minimized.
 - Boolean ShowInTaskbar
Gets or sets a value indicating whether this  will show in the taskbar.
 - Boolean Topmost
Gets or sets a value indicating whether this  is above all other windows.
 - Eto.Forms.WindowState WindowState
Gets or sets the state of the window.
 - Eto.Drawing.Rectangle RestoreBounds
Gets the bounds of the window before it was minimized or maximized, or the current bounds if  is Normal.
 - Eto.Forms.WindowStyle WindowStyle
Gets or sets the style of this window.
 - Single LogicalPixelSize
Gets the number of pixels per logical pixel when on a high DPI display.
 - System.Collections.Generic.IEnumerable`1[Eto.Forms.Control] Controls
Gets an enumeration of controls that are directly contained by this container
 - Eto.Drawing.Padding Padding
Gets or sets the padding around the  of the panel.
 - Eto.Drawing.Size MinimumSize
Gets or sets the minimum size of the panel.
 - Eto.Forms.ContextMenu ContextMenu
Gets or sets the context menu for the panel.
 - Eto.Forms.Control Content
Gets or sets the main content of the panel.
 - Eto.Drawing.Size ClientSize
Gets or sets the size for the client area of the control
 - System.Collections.Generic.IEnumerable`1[Eto.Forms.Control] VisualControls
Gets an enumeration of controls that are in the visual tree.
 - System.Collections.Generic.IEnumerable`1[Eto.Forms.Control] Children
Gets an enumeration of all contained child controls, including controls within child containers
 - System.Collections.Generic.IEnumerable`1[Eto.Forms.Control] VisualChildren
Gets an enumeration of all contained child controls in the visual tree, including controls within child containers.
 - Boolean Loaded
Gets a value indicating that the control is loaded onto a form, that is it has been created, added to a parent, and shown
 - System.Object Tag
Gets or sets a user-defined object that contains data about the control
 - Eto.Drawing.Size Size
Gets or sets the size of the control. Use -1 to specify auto sizing for either the width and/or height.
 - Int32 Width
Gets or sets the width of the control size.
 - Int32 Height
Gets or sets the height of the control size.
 - Boolean Enabled
Gets or sets a value indicating whether this  is enabled and accepts user input.
 - Boolean Visible
Gets or sets a value indicating whether this  is visible to the user.
 - Eto.Forms.Container Parent
Gets the container which this control has been added to, if any
 - Eto.Forms.Container VisualParent
Gets the visual container of this control, if any.
 - Eto.Drawing.Color BackgroundColor
Gets or sets the color for the background of the control
 - Boolean HasFocus
Gets a value indicating whether this instance has the keyboard input focus.
 - Boolean IsSuspended
Gets a value indicating whether the layout of child controls is suspended.
 - Eto.Forms.Window ParentWindow
Gets the window this control is contained in
 - System.Collections.Generic.IEnumerable`1[System.String] SupportedPlatformCommands
Gets the supported platform commands that can be used to hook up system functions to user defined logic
 - Eto.Forms.Cursor Cursor
Gets or sets the type of cursor to use when the mouse is hovering over the control
 - System.String ToolTip
Gets or sets the tool tip to show when the mouse is hovered over the control
 - Eto.Widget Parent
Gets the parent widget which this widget has been added to, if any
 - System.Collections.Generic.IEnumerable`1[Eto.Widget] Parents
Gets an enumeration of all parent widgets in the heirarchy by traversing the  property.
 - System.Object DataContext
Gets or sets the data context for this widget for binding
 - Eto.Forms.BindingCollection Bindings
Gets the collection of bindings that are attached to this widget
 - Eto.Platform Platform
Gets the platform that was used to create the  for this widget
 - System.Object Handler
Gets the platform-specific handler for this widget
 - IntPtr NativeHandle
Gets the native platform-specific handle for integration purposes
 - Eto.PropertyStore Properties
Gets the dictionary of properties for this widget
 - System.String ID
Gets or sets the ID of this widget
 - System.String Style
Gets or sets the style of this widget
 - System.Object ControlObject
Gets the instance of the platform-specific object
**** Constructors
    Void .ctor()
    Void .ctor(IHandler)
**** Methods
 - Void Show()
Show the form
 - Void Close()
Closes the window
 - Void Minimize()
Sets  to
 - Void Maximize()
Sets  to
 - Void BringToFront()
Brings the window in front of all other windows in the z-order.
 - Void SendToBack()
Sends the window behind all other windows in the z-order.
 - Void Remove(Eto.Forms.Control)
Removes the specified child from the container
 - Void Unbind()
Unbinds any bindings in the  collection and removes the bindings, and recurses to this container's children
 - Void UpdateBindings(Eto.Forms.BindingUpdateMode)
Updates all bindings in this widget, and recurses to this container's children
 - Void Remove(System.Collections.Generic.IEnumerable`1[Eto.Forms.Control])
Remove the specified  from this container
 - Void RemoveAll()
Removes all controls from this container
 - T FindChild[T](System.String)
Finds a child control in this container or any of its child containers with the specified
 - Eto.Forms.Control FindChild(System.Type, System.String)
Finds a child control in this container or any of its child containers with the specified
 - Eto.Forms.Control FindChild(System.String)
Finds a child control in this container or any of its child containers with the specified
 - Void Invalidate()
Queues a repaint of the entire control on the screen
 - Void Invalidate(Eto.Drawing.Rectangle)
Queues a repaint of the entire control on the screen
 - Eto.Forms.Container FindParent(System.Type, System.String)
Finds a control in the parent hierarchy with the specified type and  if specified
 - Eto.Forms.Container FindParent(System.String)
Finds a control in the parent hierarchy with the specified type and  if specified
 - Void Detach()
Detaches the control by removing it from its parent
 - Void AttachNative()
Attaches the control for direct use in a native application
 - Void Focus()
Attempts to set the keyboard input focus to this control, or the first child that accepts focus
 - Void SuspendLayout()
Suspends the layout of child controls
 - Void ResumeLayout()
Resumes the layout after it has been suspended, and performs a layout
 - Void MapPlatformCommand(System.String, Eto.Forms.Command)
Specifies a command to execute for a platform-specific command
 - Eto.Drawing.PointF PointFromScreen(Eto.Drawing.PointF)
Converts a point from screen space to control space.
 - Eto.Drawing.PointF PointToScreen(Eto.Drawing.PointF)
Converts a point from control space to screen space
 - Eto.Drawing.RectangleF RectangleToScreen(Eto.Drawing.RectangleF)
Converts a rectangle from screen space to control space.
   ... ... ...
Example: Show type information by assembly in GAC
$ pget.exe asm --type mscorlib System.IO.Path **** Type Info - Name: Path - Full Name: System.IO.Path - Namespace: System.IO - Module: mscorlib.dll - Base Type: System.Object *Predicates* - Class: True - Abstract Class: True - Primitive False - Array: False - Interface False - Enum False - Public True - Visible True **** Fields - System.Char[] InvalidPathChars - System.Char AltDirectorySeparatorChar - System.Char DirectorySeparatorChar - System.Char PathSeparator - System.Char VolumeSeparatorChar .. ... ... ... **** Properties **** Constructors **** Instance Methods - Public System.Boolean Equals (System.Object obj) - Public System.Int32 GetHashCode () - Public System.Type GetType () - Public System.String ToString () **** Static Methods - Public Static System.String ChangeExtension (System.String path, System.String extension) - Public Static System.String Combine (System.String path1, System.String path2) - Public Static System.String GetDirectoryName (System.String path) - Public Static System.String GetExtension (System.String path) - Public Static System.String GetFileName (System.String path) ... ... ... ... ... - Public Static System.String Combine (System.String[] paths) - Public Static System.String Combine (System.String path1, System.String path2, System.String path3) - Public Static System.String Combine (System.String path1, System.String path2, System.String path3, System.String path4)
1.5.6.8 Search type methods wich contains a given string
$ pget.exe asm --search-method [asmFile] [type] [method]
Example: Search all System.IO.File methods which contains the word 'read':
$ bin/pget.exe asm --search-method mscorlib System.IO.File line Public Static System.String[] ReadAllLines (System.String path) Public Static System.String[] ReadAllLines (System.String path, System.Text.Encoding encoding) Public Static System.Void WriteAllLines (System.String path, System.String[] contents) Public Static System.Void WriteAllLines (System.String path, System.String[] contents, System.Text.Encoding encoding) Public Static System.Collections.Generic.IEnumerable`1[System.String] ReadLines (System.String path) Public Static System.Collections.Generic.IEnumerable`1[System.String] ReadLines (System.String path, System.Text.Encoding encoding) Public Static System.Void AppendAllLines (System.String path, System.Collections.Generic.IEnumerable`1[System.String] contents) Public Static System.Void AppendAllLines (System.String path, System.Collections.Generic.IEnumerable`1[System.String] contents, System.Text.Encoding encoding) Public Static System.Void WriteAllLines (System.String path, System.Collections.Generic.IEnumerable`1[System.String] contents) Public Static System.Void WriteAllLines (System.String path, System.Collections.Generic.IEnumerable`1[System.String] contents, System.Text.Encoding encoding) $ bin/pget.exe asm --search-method mscordsflib System.IO.File line Error: I can't find the file: mscordsflib $ bin/pget.exe asm --search-method /etc/fstab System.IO.File line Error: File /etc/fstab is not a .NET assembl
1.5.6.9 Show all exported classes
$ pget.exe --class [asmFile]
Example:
$ bin/pget.exe repo --files OxyPlot.Core | grep ".dll" packages/OxyPlot.Core.1.0.0/lib/portable-net45+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1+Xamarin.iOS10/OxyPlot.dll packages/OxyPlot.Core.1.0.0/lib/net45/OxyPlot.dll packages/OxyPlot.Core.1.0.0/lib/net40-client/OxyPlot.dll packages/OxyPlot.Core.1.0.0/lib/net40/OxyPlot.dll packages/OxyPlot.Core.1.0.0/lib/sl5/OxyPlot.dll $ bin/pget.exe asm --class packages/OxyPlot.Core.1.0.0/lib/net45/OxyPlot.dll OxyPlot.DelegateViewCommand`1[T] OxyPlot.ElementCollectionChangedEventArgs`1[T] OxyPlot.ManipulatorBase`1[T] OxyPlot.DelegatePlotCommand`1[T] OxyPlot.Element OxyPlot.ElementCollection`1[T] OxyPlot.Model OxyPlot.TouchTrackerManipulator OxyPlot.OxySizeExtensions ... ... OxyPlot.Axes.AngleAxis OxyPlot.Axes.Axis OxyPlot.Axes.AxisChangedEventArgs OxyPlot.Axes.CategoryAxis OxyPlot.Axes.CategoryColorAxis OxyPlot.Axes.ColorAxisExtensions OxyPlot.Axes.LinearColorAxis OxyPlot.Axes.DateTimeAxis OxyPlot.Axes.LinearAxis OxyPlot.Axes.MagnitudeAxis ... ... OxyPlot.Annotations.Annotation OxyPlot.Annotations.ArrowAnnotation OxyPlot.Annotations.EllipseAnnotation OxyPlot.Annotations.FunctionAnnotation OxyPlot.Annotations.ImageAnnotation OxyPlot.Annotations.PathAnnotation OxyPlot.Annotations.PolylineAnnotation OxyPlot.Conrec+RendererDelegate OxyPlot.Reporting.TableOfContents+ContentItem
1.5.6.10 Show all exported non-abstract classes
$ pget.exe --classn [asmFile]
Example:
$ bin/pget.exe asm --classn packages/OxyPlot.Core.1.0.0/lib/net45/OxyPlot.dll OxyPlot.DelegateViewCommand`1[T] OxyPlot.ElementCollectionChangedEventArgs`1[T] OxyPlot.DelegatePlotCommand`1[T] OxyPlot.ElementCollection`1[T] ... OxyPlot.CodeGenerationAttribute OxyPlot.CodeGenerator OxyPlot.OxyPalette OxyPlot.Decimator OxyPlot.CohenSutherlandClipping OxyPlot.OxyPen OxyPlot.XkcdRenderingDecorator OxyPlot.OxyKeyGesture OxyPlot.OxyMouseDownGesture OxyPlot.OxyMouseWheelGesture ... OxyPlot.Annotations.EllipseAnnotation OxyPlot.Annotations.FunctionAnnotation OxyPlot.Annotations.ImageAnnotation OxyPlot.Annotations.PolylineAnnotation OxyPlot.Conrec+RendererDelegate OxyPlot.Reporting.TableOfContents+ContentItem
1.5.6.11 Show all exported abstract classes
$ pget.exe --abstract [asmFile]
Example:
$ bin/pget.exe asm --abstract packages/OxyPlot.Core.1.0.0/lib/net45/OxyPlot.dll OxyPlot.ManipulatorBase`1[T] OxyPlot.Element OxyPlot.Model OxyPlot.IController OxyPlot.IViewCommand OxyPlot.IViewCommand`1[T] OxyPlot.IView OxyPlot.IPlotController OxyPlot.IPlotElement OxyPlot.IPlotModel OxyPlot.OxySizeExtensions OxyPlot.OxyInputEventArgs ... OxyPlot.HashCodeBuilder OxyPlot.XmlWriterBase OxyPlot.BinaryReaderExtensions OxyPlot.StreamExtensions OxyPlot.StringHelper OxyPlot.FractionHelper ... OxyPlot.Axes.IColorAxis OxyPlot.Axes.ColorAxisExtensions OxyPlot.Axes.AxisRendererBase OxyPlot.Annotations.ShapeAnnotation OxyPlot.Annotations.TextualAnnotation OxyPlot.Annotations.Annotation OxyPlot.Annotations.PathAnnotation
1.5.6.12 Show all exported interfaces
$ pget.exe --interface [asmFile]
Example:
$ bin/pget.exe asm --interface packages/OxyPlot.Core.1.0.0/lib/net45/OxyPlot.dll OxyPlot.IController OxyPlot.IViewCommand OxyPlot.IViewCommand`1[T] OxyPlot.IView OxyPlot.IPlotController OxyPlot.IPlotElement OxyPlot.IPlotModel OxyPlot.ICodeGenerating OxyPlot.IDataPointProvider OxyPlot.IRenderContext OxyPlot.IExporter OxyPlot.IImageDecoder OxyPlot.IImageEncoder OxyPlot.IPlotView OxyPlot.Series.IScatterPointProvider OxyPlot.Series.IStackableSeries OxyPlot.Reporting.IReportWriter OxyPlot.Axes.IColorAxis
1.5.6.13 Show all exported namespaces
pget.exe asm --namespace [asmFile]
or
pget.exe asm --ns [asmFile]
Example:
$ bin/pget.exe asm --namespace /usr/lib/mono/4.5-api/System.Xml.dll System.Xml.Xsl.Runtime System.Xml System.Xml.XmlConfiguration System.Xml.Resolvers System.Xml.Schema System.Xml.Serialization System.Xml.Serialization.Advanced System.Xml.Serialization.Configuration System.Xml.XPath System.Xml.Xsl $ bin/pget.exe asm -ns /usr/lib/mono/4.5-api/System.Xml.dll System.Xml.Xsl.Runtime System.Xml System.Xml.XmlConfiguration System.Xml.Resolvers System.Xml.Schema System.Xml.Serialization System.Xml.Serialization.Advanced System.Xml.Serialization.Configuration System.Xml.XPath System.Xml.Xsl
1.5.6.14 Show all types within an exported namespace
$ pget.exe asm --namespace [assembly-file or GAC] [namespace]
Example: Query assembly file.
$ bin/pget.exe asm  --namespace /usr/lib/mono/4.5-api/System.Xml.dll
System.Xml.Xsl.Runtime
System.Xml
System.Xml.XmlConfiguration
System.Xml.Resolvers
System.Xml.Schema
System.Xml.Serialization
System.Xml.Serialization.Advanced
System.Xml.Serialization.Configuration
System.Xml.XPath
System.Xml.Xsl
$ bin/pget.exe asm  --namespace /usr/lib/mono/4.5-api/System.Xml.dll System.Xml
System.Xml.ConformanceLevel
System.Xml.DtdProcessing
System.Xml.EntityHandling
System.Xml.NamespaceHandling
System.Xml.NewLineHandling
System.Xml.ReadState
System.Xml.ValidationType
System.Xml.WhitespaceHandling
...
System.Xml.XmlNodeType
System.Xml.XmlQualifiedName
System.Xml.XmlResolver
System.Xml.XmlSecureResolver
System.Xml.XmlUrlResolver
System.Xml.XmlXapResolve
$ bin/pget.exe asm  --type /usr/lib/mono/4.5-api/System.Xml.dll System.Xml.XmlNode
Type Info:
  Name:           XmlNode
  Full Name:      System.Xml.XmlNode
  Namespace:      System.Xml
  Module:         System.Xml.dll
  Base Type:      System.Object
Predicates
  Class:          True
  Abstract Class: True
  Primitive       False
  Array:          False
  Interface       False   
  Enum            False
  Public          True
  Visible         True
Fields
----------------
Properties
----------------
    System.String Name
    System.String Value
    System.Xml.XmlNodeType NodeType
    System.Xml.XmlNode ParentNode
...
Constructors
----------------
Methods
----------------
    System.Xml.XPath.XPathNavigator CreateNavigator()
    System.Xml.XmlNode SelectSingleNode(System.String)
    System.Xml.XmlNode SelectSingleNode(System.String, System.Xml.XmlNamespaceManager)
...
Example: Query assembly in GAC
# Show all namespaces # $ mono bin/Debug/Pget.exe asm --namespace mscorlib System.Runtime.ConstrainedExecution Microsoft.Win32.SafeHandles System System.Collections.Concurrent System.Collections System.Collections.Generic System.Collections.ObjectModel System.Diagnostics.CodeAnalysis System.Diagnostics System.Diagnostics.Contracts System.Diagnostics.Contracts.Internal System.Runtime.CompilerServices System.Diagnostics.Tracing System.Globalization System.IO System.Reflection System.Reflection.Emit ... ... ... # Show all types exported by namespace # $ mono bin/Debug/Pget.exe asm --namespace mscorlib System.IO System.IO.BinaryReader System.IO.BinaryWriter System.IO.BufferedStream System.IO.DirectoryNotFoundException System.IO.DriveNotFoundException System.IO.EndOfStreamException System.IO.FileInfo System.IO.FileLoadException System.IO.FileNotFoundException System.IO.FileSystemInfo System.IO.IOException System.IO.MemoryStream System.IO.PathTooLongException System.IO.Stream ... ... ... ... System.IO.File System.IO.FileAccess System.IO.FileAttributes System.IO.FileMode System.IO.FileOptions System.IO.FileShare System.IO.FileStream System.IO.Path System.IO.SearchOption System.IO.SeekOrigin
1.5.6.15 Generate documentation about all exported namespaces
This command generates documentation in org-mode markdown format with all types methods, constructors, fields, properties categorized by Namespace and also includes the XML comments.
$ pget.exe asm --docgen [asmfile] [output-file]
Example:
Find the package files.
$ bin/pget.exe repo -l Eto.Forms 2.3.0 Eto.Platform.Gtk 2.3.0 FParsec 1.0.2 FS.INIReader 1.0.3 Microsoft.Web.Xdt 2.1.1 NuGet.Core 2.12.0 OxyPlot.Core 1.0.0 OxyPlot.Pdf 1.0.0 PDFsharp-MigraDoc-GDI 1.32.4334.0 $ bin/pget.exe repo --files Eto.Forms packages/Eto.Forms.2.3.0/lib/portable-net45+win8+wp8+wpa81+Xamarin.Mac+MonoAndroid10+MonoTouch10+Xamarin.iOS10/Eto.dll packages/Eto.Forms.2.3.0/lib/portable-net45+win8+wp8+wpa81+Xamarin.Mac+MonoAndroid10+MonoTouch10+Xamarin.iOS10/Eto.xml packages/Eto.Forms.2.3.0/lib/net45/Eto.dll packages/Eto.Forms.2.3.0/lib/net45/Eto.xml packages/Eto.Forms.2.3.0/lib/net40/Eto.dll packages/Eto.Forms.2.3.0/lib/net40/Eto.xml packages/Eto.Forms.2.3.0/LICENSE.txt
Generating documentation:
$ bin/pget.exe asm --docgen packages/Eto.Forms.2.3.0/lib/net45/Eto.dll Eto-doc.org
Browser documentation:
$ emacs -Q Eto-doc.org
Screenshots:
- The picture below picture shows all namespaces defined in Eto.dll assembly of Eto-forms package.
 
- This picture shows all types within in the Eto.Forms namespace.
 
- This pictures below show the properties of type Eto.Forms.Form
 
1.5.7 Fsproj Helpers
Generate include tags for all packages in project repository (./packages)
$ pget.exe fsproj --ref [framework]
Where framework can be
- net40 for .NET 4.0
 - net45 for .NET 4.5
 
$ bin/pget.exe fsproj --ref net45 <Reference Include="FParsec"> <HintPath>packages/FParsec.1.0.2/lib/portable-net45+netcore45+wpa81+wp8/FParsec.dll</HintPath> </Reference> <Reference Include="FParsecCS"> <HintPath>packages/FParsec.1.0.2/lib/portable-net45+netcore45+wpa81+wp8/FParsecCS.dll</HintPath> </Reference> <Reference Include="FS.INIReader"> <HintPath>packages/FS.INIReader.1.0.3/lib/net45/FS.INIReader.dll</HintPath> </Reference> <Reference Include="Microsoft.Web.XmlTransform"> <HintPath>packages/Microsoft.Web.Xdt.2.1.1/lib/net40/Microsoft.Web.XmlTransform.dll</HintPath> </Reference> <Reference Include="NuGet.Core"> <HintPath>packages/NuGet.Core.2.12.0/lib/net40-Client/NuGet.Core.dll</HintPath> </Reference> <Reference Include="OxyPlot"> <HintPath>packages/OxyPlot.Core.1.0.0/lib/net40/OxyPlot.dll</HintPath> </Reference> <Reference Include="OxyPlot.Pdf"> <HintPath>packages/OxyPlot.Pdf.1.0.0/lib/net40/OxyPlot.Pdf.dll</HintPath> </Reference> ...
1.5.8 F# FSharp Assembly Introspection
1.5.8.1 Find F# assemblies in a given path
$ pget.exe fsh --find-dll [path]
It searches all assemblies (*.dll files) in a given Path which contains at least a F# module.
$ mono obj/Debug/Pget.exe fsh --find-dll . ./bin/Debug/FSharp.Core.dll ./packages/FParsec.1.0.2/lib/net40-client/FParsec.dll ./packages/FParsec.1.0.2/lib/net40-client/FParsecCS.dll ./packages/FParsec.1.0.2/lib/portable-net45+netcore45+wpa81+wp8/FParsec.dll ./packages/FParsec.1.0.2/lib/portable-net45+netcore45+wpa81+wp8/FParsecCS.dll ./packages/FS.INIReader.1.0.3/lib/net45/FS.INIReader.dll ./src/dummy.dll
1.5.8.2 Display all F# public modules
$ pget.exe fsh --modules [asmFile]
$ mono obj/Debug/Pget.exe fsh --modules ./packages/FParsec.1.0.2/lib/net40-client/FParsec.dll FParsec.CharParsers FParsec.Primitives FParsec.Error FParsec.StaticMapping FParsec.InternalsModule $ mono obj/Debug/Pget.exe fsh --modules /home/arch/nuget/FSharp.Charting.Gtk.0.90.14/lib/net40/FSharp.Charting.Gtk.dll FSharp.Charting._ChartStyleExtensions FSharp.Charting.ChartTypes
1.5.8.3 Display F# public and private modules
$ mono obj/Debug/Pget.exe fsh --modules /home/arch/nuget/FSharp.Charting.Gtk.0.90.14/lib/net40/FSharp.Charting.Gtk.dll FSharp.Charting._ChartStyleExtensions FSharp.Charting.ChartTypes $ mono obj/Debug/Pget.exe fsh --modules all /home/arch/nuget/FSharp.Charting.Gtk.0.90.14/lib/net40/FSharp.Charting.Gtk.dll System.AssemblyVersionInformation FSharp.Charting._ChartStyleExtensions FSharp.Charting.ChartTypes FSharp.Charting.KeyConversions FSharp.Charting.NotifySeq FSharp.Charting.Seq
1.5.9 XML tools
1.5.9.1 Display help for xml commands help
$ pget.exe xml
$ bin/pget.exe xml 
  XML query commands.
    xml --show [xmluri]            Show formatted xml human-readable output from uri or file.
    xml --show [xmluri] [file]     Export [xmluri] (file or url) to a xml human-readable file.
    xml --struct [xmluri]          Show xml structure - tags hierarchy
    xml --struct [xmluri] attr     Show xml structure tags hierarchy with attributes names.
    xml --struct [xmluri] ns       Show xml structure tags hierarchy with namespaces
    xml -ns                                  Show all XML namespaces 
    xml --namespace                          Show all XML namespaces
    xml --xvalue [xpath] [xmluri]                 Query xml nodes using xpath and show its values.
    xml --xtext  [xpath] [xmluri]                 Query xml nodes using xpath and show its texts.
    xml --xtext --nons [xpath] [xmluri]           Query xml nodes using xpath and show its texts ignoring namespaces.
    xml --xattr  [xpath] [attr] [xmluri]          Query xml nodes using xpath and show the values of a node attribute.
    xml --xattr  --nons [xpath] [attr] [xmluri]   Similar to command above but ignore namespaces.
1.5.9.2 Display XML in human-readable format from URI/URL or file
$ pget.exe xml --show [xmluri]
Examples:
Display XML from file:
$ bin/pget.exe xml --show  infoq.rss
<?xml version="1.0" encoding="utf-16"?>
<rss xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>InfoQ</title>
    <link>http://www.infoq.com</link>
    <description>InfoQ feed</description>
    <item>
      <title>Presentation: Spring and Big Data</title>
      <link>http://www.infoq.com/presentations/big-data-spring?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global</link>
      <description><img src="http://www.infoq.com/resource/presentations/big-data-spring/en/mediumimage/tombig.JPG"/><p>Thomas Risberg discusses developing big data pipelines with Spring, focusing around the code needed and he also covers how to set up a test environment both locally and in the cloud.</p> <i>By Thomas Risberg</i></description>
      <category>Java</category>
      <category>Spring</category>
      <category>Languages</category>
... ... ... ... ... ... ... 
      <dc:creator>Jie Yu</dc:creator>
      <dc:date>2017-01-07T18:22:00Z</dc:date>
      <dc:identifier>/presentations/mesos-api/en</dc:identifier>
    </item>
    <item>
      <title>Presentation: Building a Microservices Platform with Kubernetes</title>
      <link>http://www.infoq.com/presentations/microservices-kubernetes?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global</link>
      <description><img src="http://www.infoq.com/resource/presentations/microservices-kubernetes/en/mediumimage/Matbig.JPG"/><p>Matthew Mark Miller discusses Kubernetes’ primitives and microservices patterns on top of them, including rolling deployments, stateful services and adding behaviors via sidecars.</p> <i>By Matthew Mark Miller</i></description>
      <category>Conferences</category>
      <category>Deployment</category>
      <category>QCon</category>
      <category>Architecture</category>
      <category>Cloud Computing</category>
      <category>DevOps</category>
      <category>Architecture & Design</category>
      <category>Microservices</category>
      <category>Kubernetes</category>
      <category>Containers</category>
      <category>QCon San Francisco 2016</category>
      <category>presentation</category>
      <pubDate>Sat, 07 Jan 2017 16:37:00 GMT</pubDate>
      <guid>http://www.infoq.com/presentations/microservices-kubernetes?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global</guid>
      <dc:creator>Matthew Mark Miller</dc:creator>
      <dc:date>2017-01-07T16:37:00Z</dc:date>
      <dc:identifier>/presentations/microservices-kubernetes/en</dc:identifier>
    </item>
  </channel>
</rss>
Display XML from URL:
$ bin/pget.exe xml --show "https://www.infoq.com/feed?token=WSVCFU3gCRvgXaLKxLiHKq90pV5PnH1z"
<?xml version="1.0" encoding="utf-16"?>
<rss xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>InfoQ</title>
    <link>http://www.infoq.com</link>
    <description>InfoQ feed</description>
    <item>
      <title>Presentation: Spring and Big Data</title>
      <link>http://www.infoq.com/presentations/big-data-spring?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global</link>
...  ... ... 
      <category>Containers</category>
      <category>QCon San Francisco 2016</category>
      <category>presentation</category>
      <pubDate>Sat, 07 Jan 2017 16:37:00 GMT</pubDate>
      <guid>http://www.infoq.com/presentations/microservices-kubernetes?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global</guid>
      <dc:creator>Matthew Mark Miller</dc:creator>
      <dc:date>2017-01-07T16:37:00Z</dc:date>
      <dc:identifier>/presentations/microservices-kubernetes/en</dc:identifier>
    </item>
  </channel>
</rss>
1.5.9.3 Save XML in human-readable format from file or URI to a new file.
$ pget.exe --show xmluri xmlfile
Examples
Save xml from url to a file:
$ bin/pget.exe xml --show https://www.infoq.com/feed?token=WSVCFU3gCRvgXaLKxLiHKq90pV5PnH1z infoq.rss
$ bin/pget.exe xml --show infoq.rss
<?xml version="1.0" encoding="utf-16"?>
<rss xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>InfoQ</title>
    <link>http://www.infoq.com</link>
    <description>InfoQ feed</description>
    <item>
      <title>Presentation: Spring and Big Data</title>
      <link>http://www.infoq.com/presentations/big-data-spring?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global</link>
      <description><img src="http://www.infoq.com/resource/presentations/big-data-spring/en/mediumimage/tombig.JPG"/><p>Thomas Risberg discusses developing big data pipelines with Spring, focusing around the code needed and he also covers how to set up a test environment both locally and in the cloud.</p> <i>By Thomas Risberg</i></description>
      <category>Java</category>
 ... ... ... ... ... ... 
      <description><img src="http://www.infoq.com/resource/presentations/mesos-api/en/mediumimage/Jiebig.JPG"/><p>Jie Yu gives an overview of Mesos and its API which allows users to deploy stateless and stateful services. He discusses how containers are managed in Mesos, the future of container support in Mesos, and shows some of the new container networking and storage features that have been added recently.</p> <i>By Jie Yu</i></description>
      <category>Conferences</category>
      <category>Orchestration</category>
      <category>QCon</category>
      <category>Cloud Computing</category>
      <category>DevOps</category>
      <category>Infrastructure</category>
      <category>Mesos</category>
      <category>Architecture & Design</category>
      <category>Containers</category>
      <category>QCon San Francisco 2016</category>
      <category>presentation</category>
      <pubDate>Sat, 07 Jan 2017 18:22:00 GMT</pubDate>
      <guid>http://www.infoq.com/presentations/mesos-api?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global</guid>
      <dc:creator>Jie Yu</dc:creator>
      <dc:date>2017-01-07T18:22:00Z</dc:date>
      <dc:identifier>/presentations/mesos-api/en</dc:identifier>
    </item>
    <item>
      <title>Presentation: Building a Microservices Platform with Kubernetes</title>
      <link>http://www.infoq.com/presentations/microservices-kubernetes?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global</link>
      <description><img src="http://www.infoq.com/resource/presentations/microservices-kubernetes/en/mediumimage/Matbig.JPG"/><p>Matthew Mark Miller discusses Kubernetes’ primitives and microservices patterns on top of them, including rolling deployments, stateful services and adding behaviors via sidecars.</p> <i>By Matthew Mark Miller</i></description>
      <category>Conferences</category>
      <category>Deployment</category>
      <category>QCon</category>
      <category>Architecture</category>
      <category>Cloud Computing</category>
      <category>DevOps</category>
      <category>Architecture & Design</category>
      <category>Microservices</category>
      <category>Kubernetes</category>
      <category>Containers</category>
      <category>QCon San Francisco 2016</category>
      <category>presentation</category>
      <pubDate>Sat, 07 Jan 2017 16:37:00 GMT</pubDate>
      <guid>http://www.infoq.com/presentations/microservices-kubernetes?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global</guid>
      <dc:creator>Matthew Mark Miller</dc:creator>
      <dc:date>2017-01-07T16:37:00Z</dc:date>
      <dc:identifier>/presentations/microservices-kubernetes/en</dc:identifier>
    </item>
  </channel>
</rss>
1.5.9.4 Show XML all namespaces
$ pget.exe --namespace [xmluri]
or
$ pget.exe --ns [xmluri]
Example:
$ bin/pget.exe xml --namespace pget-exe.fsproj 
Prefix = 
Uri    = http://schemas.microsoft.com/developer/msbuild/2003
$ bin/pget.exe xml --namespace infoq.rss 
Prefix = 
Uri    = 
Prefix = dc
Uri    = http://purl.org/dc/elements/1.1/
$ bin/pget.exe xml -ns eurofxref-daily.xml 
Prefix = gesmes
Uri    = http://www.gesmes.org/xml/2002-08-01
Prefix = 
Uri    = http://www.ecb.int/vocabulary/2002-08-01/eurofxref
$ bin/pget.exe xml --show eurofxref-daily.xml
<?xml version="1.0" encoding="utf-16"?>
<gesmes:Envelope xmlns:gesmes="http://www.gesmes.org/xml/2002-08-01" xmlns="http://www.ecb.int/vocabulary/2002-08-01/eurofxref">
  <gesmes:subject>Reference rates</gesmes:subject>
  <gesmes:Sender>
    <gesmes:name>European Central Bank</gesmes:name>
  </gesmes:Sender>
  <Cube>
    <Cube time="2017-01-09">
      <Cube currency="USD" rate="1.0516" />
      <Cube currency="JPY" rate="122.66" />
      <Cube currency="BGN" rate="1.9558" />
      <Cube currency="CZK" rate="27.021" />
      <Cube currency="DKK" rate="7.4339" />
      <Cube currency="GBP" rate="0.86660" />
      <Cube currency="HUF" rate="308.21" />
      <Cube currency="PLN" rate="4.3777" />
      <Cube currency="RON" rate="4.5016" />
      <Cube currency="SEK" rate="9.5533" />
      <Cube currency="CHF" rate="1.0721" />
      <Cube currency="NOK" rate="9.0193" />
      <Cube currency="HRK" rate="7.5701" />
      <Cube currency="RUB" rate="62.8383" />
      <Cube currency="TRY" rate="3.9210" />
      <Cube currency="AUD" rate="1.4357" />
      <Cube currency="BRL" rate="3.3780" />
      <Cube currency="CAD" rate="1.3954" />
      <Cube currency="CNY" rate="7.2958" />
      <Cube currency="HKD" rate="8.1562" />
      <Cube currency="IDR" rate="14033.73" />
      <Cube currency="ILS" rate="4.0480" />
      <Cube currency="INR" rate="71.6875" />
      <Cube currency="KRW" rate="1266.33" />
      <Cube currency="MXN" rate="22.3940" />
      <Cube currency="MYR" rate="4.7080" />
      <Cube currency="NZD" rate="1.5067" />
      <Cube currency="PHP" rate="52.188" />
      <Cube currency="SGD" rate="1.5135" />
      <Cube currency="THB" rate="37.574" />
      <Cube currency="ZAR" rate="14.4127" />
    </Cube>
  </Cube>
</gesmes:Envelope>
1.5.9.5 Show XML tags hierarchy
$ pget.exe xml --struct [xmluri]
Example:
$ bin/pget.exe xml --struct infoq.rss
(0.0) channel
    (1.0) title
        (2.0) #text
    (1.1) link
        (2.0) #text
    (1.2) description
        (2.0) #text
    (1.3) item
        (2.0) title
            (3.0) #text
        (2.1) link
            (3.0) #text
        (2.2) description
            (3.0) #text
        (2.3) category
            (3.0) #text
        (2.4) category
            (3.0) #text
        (2.5) category
            (3.0) #text
        (2.6) category
            (3.0) #text
        (2.7) category
            (3.0) #text
        (2.8) category
            (3.0) #text
        (2.9) category
            (3.0) #text
        (2.10) category
            (3.0) #text
        (2.11) category
            (3.0) #text
        (2.12) category
            (3.0) #text
        (2.13) category
            (3.0) #text
        (2.14) category
            (3.0) #text
        (2.15) category
            (3.0) #text
        (2.16) category
            (3.0) #text
        (2.17) category
            (3.0) #text
        (2.18) pubDate
            (3.0) #text
        (2.19) guid
            (3.0) #text
        (2.20) dc:creator
            (3.0) #text
        (2.21) dc:date
            (3.0) #text
        (2.22) dc:identifier
            (3.0) #text
    (1.4) item
        (2.0) title
            (3.0) #text
        (2.1) link
            (3.0) #text
        (2.2) description
            (3.0) #text
        (2.3) category
            (3.0) #text
        (2.4) category
            (3.0) #text
        (2.5) category
            (3.0) #text
        (2.6) category
            (3.0) #text
        (2.7) category
            (3.0) #text
        (2.8) category
            (3.0) #text
        (2.9) category
            (3.0) #text
        (2.10) category
            (3.0) #text
        (2.11) category
            (3.0) #text
        (2.12) category
            (3.0) #text
        (2.13) category
            (3.0) #text
        (2.14) category
            (3.0) #text
        (2.15) pubDate
            (3.0) #text
        (2.16) guid
            (3.0) #text
        (2.17) dc:creator
            (3.0) #text
        (2.18) dc:date
            (3.0) #text
        (2.19) dc:identifier
            (3.0) #text
    (1.5) item
        (2.0) title
            (3.0) #text
        (2.1) link
            (3.0) #text
        (2.2) description
            (3.0) #text
        (2.3) category
            (3.0) #text
        (2.4) category
            (3.0) #text
        (2.5) category
            (3.0) #text
        (2.6) category
            (3.0) #text
        (2.7) category
            (3.0) #text
        (2.8) category
            (3.0) #text
        (2.9) category
            (3.0) #text
        (2.10) category
            (3.0) #text
        (2.11) category
            (3.0) #text
        (2.12) category
            (3.0) #text
        (2.13) category
            (3.0) #text
        (2.14) category
            (3.0) #text
        (2.15) category
            (3.0) #text
        (2.16) pubDate
            (3.0) #text
        (2.17) guid
            (3.0) #text
        (2.18) dc:creator
            (3.0) #text
        (2.19) dc:date
            (3.0) #text
        (2.20) dc:identifier
            (3.0) #text
    (1.6) item
        (2.0) title
            (3.0) #text
        (2.1) link
            (3.0) #text
        (2.2) description
            (3.0) #text
        (2.3) category
            (3.0) #text
        (2.4) category
            (3.0) #text
        (2.5) category
            (3.0) #text
        (2.6) category
            (3.0) #text
        (2.7) category
            (3.0) #text
        (2.8) category
            (3.0) #text
        (2.9) category
            (3.0) #text
        (2.10) category
            (3.0) #text
        (2.11) category
            (3.0) #text
        (2.12) category
            (3.0) #text
        (2.13) category
            (3.0) #text
        (2.14) category
            (3.0) #text
        (2.15) category
            (3.0) #text
        (2.16) category
            (3.0) #text
        (2.17) pubDate
            (3.0) #text
        (2.18) guid
            (3.0) #text
        (2.19) dc:creator
            (3.0) #text
        (2.20) dc:date
            (3.0) #text
        (2.21) dc:identifier
            (3.0) #text
... ...  .... ....
    (1.17) item
        (2.0) title
            (3.0) #text
        (2.1) link
            (3.0) #text
        (2.2) description
            (3.0) #text
        (2.3) category
            (3.0) #text
        (2.4) category
            (3.0) #text
... ... ...
1.5.9.6 Show XML tags hierarchy with attribute names
$ pget.exe xml --struct attr [xmlfile]
Example:
$ bin/pget.exe xml --struct attr pget-exe.fsproj 
(0.0) Import [Project; Condition]
(0.1) PropertyGroup []
    (1.0) Configuration [Condition]
        (2.0) #text []
    (1.1) Platform [Condition]
        (2.0) #text []
    (1.2) SchemaVersion []
        (2.0) #text []
    (1.3) ProjectGuid []
        (2.0) #text []
    (1.4) OutputType []
        (2.0) #text []
    (1.5) RootNamespace []
        (2.0) #text []
    (1.6) AssemblyName []
        (2.0) #text []
    (1.7) TargetFrameworkVersion []
        (2.0) #text []
    (1.8) #text []
    (1.9) AutoGenerateBindingRedirects []
        (2.0) #text []
    (1.10) TargetFSharpCoreVersion []
        (2.0) #text []
    (1.11) Name []
        (2.0) #text []
(0.2) PropertyGroup [Condition]
    (1.0) DebugSymbols []
        (2.0) #text []
    (1.1) DebugType []
        (2.0) #text []
    (1.2) Optimize []
        (2.0) #text []
    (1.3) Tailcalls []
        (2.0) #text []
    (1.4) OutputPath []
        (2.0) #text []
    (1.5) DefineConstants []
        (2.0) #text []
    (1.6) WarningLevel []
        (2.0) #text []
    (1.7) #comment []
(0.3) PropertyGroup [Condition]
    (1.0) DebugType []
        (2.0) #text []
    (1.1) Optimize []
        (2.0) #text []
    (1.2) Tailcalls []
        (2.0) #text []
    (1.3) OutputPath []
        (2.0) #text []
    (1.4) DefineConstants []
        (2.0) #text []
    (1.5) WarningLevel []
        (2.0) #text []
    (1.6) DocumentationFile []
        (2.0) #text []
    (1.7) OtherFlags []
        (2.0) #text []
(0.4) #comment []
(0.5) ItemGroup []
    (1.0) Reference [Include]
    (1.1) Reference [Include]
        (2.0) Private []
            (3.0) #text []
    (1.2) Reference [Include]
    (1.3) Reference [Include]
    (1.4) Reference [Include]
    (1.5) Reference [Include]
    (1.6) Reference [Include]
    (1.7) Reference [Include]
    (1.8) #comment []
    (1.9) Reference [Include]
        (2.0) HintPath []
            (3.0) #text []
    (1.10) Reference [Include]
        (2.0) HintPath []
            (3.0) #text []
(0.6) #comment []
(0.7) ItemGroup []
    (1.0) Compile [Include]
    (1.1) Compile [Include]
    (1.2) Compile [Include]
    (1.3) Compile [Include]
    (1.4) Compile [Include]
(0.8) PropertyGroup []
    (1.0) MinimumVisualStudioVersion [Condition]
        (2.0) #text []
(0.9) Choose []
    (1.0) When [Condition]
        (2.0) PropertyGroup []
            (3.0) FSharpTargetsPath []
                (4.0) #text []
    (1.1) Otherwise []
        (2.0) PropertyGroup [Condition]
            (3.0) FSharpTargetsPath []
                (4.0) #text []
(0.10) Import [Project; Condition]
(0.11) #comment []
1.5.9.7 Show XML tags hintpath with namespaces
$ pget.exe xml --struct ns [xmluri]
Example:
$ bin/pget.exe xml --struct ns pget-exe.fsproj
(0.0) Import / http://schemas.microsoft.com/developer/msbuild/2003
(0.1) PropertyGroup / http://schemas.microsoft.com/developer/msbuild/2003
    (1.0) Configuration / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.1) Platform / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.2) SchemaVersion / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.3) ProjectGuid / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.4) OutputType / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.5) RootNamespace / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.6) AssemblyName / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.7) TargetFrameworkVersion / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.8) #text / 
    (1.9) AutoGenerateBindingRedirects / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.10) TargetFSharpCoreVersion / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.11) Name / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
(0.2) PropertyGroup / http://schemas.microsoft.com/developer/msbuild/2003
    (1.0) DebugSymbols / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.1) DebugType / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.2) Optimize / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.3) Tailcalls / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.4) OutputPath / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.5) DefineConstants / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.6) WarningLevel / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.7) #comment / 
(0.3) PropertyGroup / http://schemas.microsoft.com/developer/msbuild/2003
    (1.0) DebugType / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.1) Optimize / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.2) Tailcalls / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.3) OutputPath / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.4) DefineConstants / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.5) WarningLevel / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.6) DocumentationFile / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
    (1.7) OtherFlags / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
(0.4) #comment / 
(0.5) ItemGroup / http://schemas.microsoft.com/developer/msbuild/2003
    (1.0) Reference / http://schemas.microsoft.com/developer/msbuild/2003
    (1.1) Reference / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) Private / http://schemas.microsoft.com/developer/msbuild/2003
            (3.0) #text / 
    (1.2) Reference / http://schemas.microsoft.com/developer/msbuild/2003
    (1.3) Reference / http://schemas.microsoft.com/developer/msbuild/2003
    (1.4) Reference / http://schemas.microsoft.com/developer/msbuild/2003
    (1.5) Reference / http://schemas.microsoft.com/developer/msbuild/2003
    (1.6) Reference / http://schemas.microsoft.com/developer/msbuild/2003
    (1.7) Reference / http://schemas.microsoft.com/developer/msbuild/2003
    (1.8) #comment / 
    (1.9) Reference / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) HintPath / http://schemas.microsoft.com/developer/msbuild/2003
            (3.0) #text / 
    (1.10) Reference / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) HintPath / http://schemas.microsoft.com/developer/msbuild/2003
            (3.0) #text / 
(0.6) #comment / 
(0.7) ItemGroup / http://schemas.microsoft.com/developer/msbuild/2003
    (1.0) Compile / http://schemas.microsoft.com/developer/msbuild/2003
    (1.1) Compile / http://schemas.microsoft.com/developer/msbuild/2003
    (1.2) Compile / http://schemas.microsoft.com/developer/msbuild/2003
    (1.3) Compile / http://schemas.microsoft.com/developer/msbuild/2003
    (1.4) Compile / http://schemas.microsoft.com/developer/msbuild/2003
(0.8) PropertyGroup / http://schemas.microsoft.com/developer/msbuild/2003
    (1.0) MinimumVisualStudioVersion / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) #text / 
(0.9) Choose / http://schemas.microsoft.com/developer/msbuild/2003
    (1.0) When / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) PropertyGroup / http://schemas.microsoft.com/developer/msbuild/2003
            (3.0) FSharpTargetsPath / http://schemas.microsoft.com/developer/msbuild/2003
                (4.0) #text / 
    (1.1) Otherwise / http://schemas.microsoft.com/developer/msbuild/2003
        (2.0) PropertyGroup / http://schemas.microsoft.com/developer/msbuild/2003
            (3.0) FSharpTargetsPath / http://schemas.microsoft.com/developer/msbuild/2003
                (4.0) #text / 
(0.10) Import / http://schemas.microsoft.com/developer/msbuild/2003
(0.11) #comment /
1.5.9.8 Query xml nodes using xpath and show its texts
$ xml --xtext [xpath] [xmluri]
Example:
$ bin/pget.exe xml --xtext "//item/title" infoq.rss Presentation: Spring and Big Data Presentation: Data Science-powered Apps for the Internet of Things Amazon Introduces Rekognition for Image Analysis Presentation: Building Resilient and Evolutionary Data Microservices Article: Chaos Engineering Presentation: Task Madness - Modern on Demand Processing Presentation: Data Microservices in the Cloud Presentation: Secure & Dynamic App Config at GapTech with Spring Cloud, Vault and Consul Presentation: Consumer Driven Contracts and Your Microservice Architecture Presentation: Amazon ECS: a Platform to Run Production Containers Presentation: Elastic Efficient Execution of Varied Containers Presentation: The Past, Present, and Future of JavaScript Multiple DNS Providers to Mitigate DDoS Attacks Presentation: Mesos: A State-of-the-art Container Orchestrator Presentation: Building a Microservices Platform with Kubernetes
$ bin/pget.exe xml --xtext "//item/link" infoq.rss http://www.infoq.com/presentations/big-data-spring?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global http://www.infoq.com/presentations/iot-human-activities?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global http://www.infoq.com/news/2017/01/AWS-Rekognition?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global http://www.infoq.com/presentations/spring-schema-repository?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global http://www.infoq.com/articles/chaos-engineering?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global http://www.infoq.com/presentations/spring-cloud-task?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global http://www.infoq.com/presentations/spring-cloud-dataflow?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global http://www.infoq.com/presentations/gaptech-spring-cloud?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global http://www.infoq.com/presentations/spring-cloud-contract-verifier?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global http://www.infoq.com/presentations/amazon-ecs?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global http://www.infoq.com/presentations/netflix-containers-2016?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global http://www.infoq.com/presentations/tc39-es2015?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global http://www.infoq.com/news/2017/01/dns-providers-ddos-attacks?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global http://www.infoq.com/presentations/mesos-api?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global http://www.infoq.com/presentations/microservices-kubernetes?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global
1.5.9.9 Query xml nodes using xpath and show a node attribute
$ pget.exe xml --xattr [xpath] [attribute] [xmluri]
Example:
arch@arch-pc 14:22 /run/media/arch/transfer/projects/pget.fsharp
$ bin/pget.exe xml --xattr "//book[@id]" id xml/catalog.xml 
bk101
bk102
bk103
bk104
bk105
bk106
bk107
bk108
bk109
bk110
bk111
bk112
$ bin/pget.exe xml --show xml/catalog.xml 
<?xml version="1.0" encoding="utf-16"?>
<catalog>
  <book id="bk101">
    <author>Gambardella, Matthew</author>
    <title>XML Developer's Guide</title>
    <genre>Computer</genre>
    <price>44.95</price>
    <publish_date>2000-10-01</publish_date>
    <description>An in-depth look at creating applications 
      with XML.</description>
  </book>
  <book id="bk102">
    <author>Ralls, Kim</author>
    <title>Midnight Rain</title>
    <genre>Fantasy</genre>
    <price>5.95</price>
    <publish_date>2000-12-16</publish_date>
    <description>A former architect battles corporate zombies, 
      an evil sorceress, and her own childhood to become queen 
      of the world.</description>
  </book>
...  ... ... ... 
$ bin/pget.exe xml --xtext "//book/author" xml/catalog.xml 
Gambardella, Matthew
Ralls, Kim
Corets, Eva
Corets, Eva
Corets, Eva
Randall, Cynthia
Thurman, Paula
Knorr, Stefan
Kress, Peter
O'Brien, Tim
O'Brien, Tim
Galos, Mike
1.5.9.10 Query xml nodes using xpath and show a node attribute ignoring namespaces
$ pget.exe xml --xattr --nons [xpath] [attribute] [xmluri]
Example:
$ bin/pget.exe xml --struct attr xml/eurofxref-daily.xml 
(0.0) gesmes:subject []
    (1.0) #text []
(0.1) gesmes:Sender []
    (1.0) gesmes:name []
        (2.0) #text []
(0.2) Cube []
    (1.0) Cube [time]
        (2.0) Cube [currency; rate]
        (2.1) Cube [currency; rate]
        (2.2) Cube [currency; rate]
        (2.3) Cube [currency; rate]
        (2.4) Cube [currency; rate]
        (2.5) Cube [currency; rate]
        (2.6) Cube [currency; rate]
        (2.7) Cube [currency; rate]
        (2.8) Cube [currency; rate]
        (2.9) Cube [currency; rate]
        (2.10) Cube [currency; rate]
        (2.11) Cube [currency; rate]
        (2.12) Cube [currency; rate]
        (2.13) Cube [currency; rate]
        (2.14) Cube [currency; rate]
        (2.15) Cube [currency; rate]
        (2.16) Cube [currency; rate]
        (2.17) Cube [currency; rate]
        (2.18) Cube [currency; rate]
        (2.19) Cube [currency; rate]
        (2.20) Cube [currency; rate]
        (2.21) Cube [currency; rate]
        (2.22) Cube [currency; rate]
        (2.23) Cube [currency; rate]
        (2.24) Cube [currency; rate]
        (2.25) Cube [currency; rate]
        (2.26) Cube [currency; rate]
        (2.27) Cube [currency; rate]
        (2.28) Cube [currency; rate]
        (2.29) Cube [currency; rate]
        (2.30) Cube [currency; rate]
# It doens't work because XML namespaces
#
$ bin/pget.exe xml --xattr  "//Cube//Cube[@currency]" currency xml/eurofxref-daily.xml 
$ bin/pget.exe xml --xattr --nons "//Cube//Cube[@currency]" currency xml/eurofxref-daily.xml 
USD
JPY
BGN
CZK
DKK
...
NZD
PHP
SGD
THB
ZAR
$ bin/pget.exe xml --xattr --nons  "//Cube//Cube[@currency]" rate xml/eurofxref-daily.xml 
1.0516
122.66
1.9558
27.021
7.4339
0.86660
308.21
4.3777
.. ... ... ... ...
4.7080
1.5067
52.188
1.5135
37.574
14.4127
1.5.9.11 Query xml nodes using xpath and show all attributes
$ pget.exe xml --xattr-all [xpath] [xmluri]
or
$ pget.exe xml --xattr-all --nons [xpath] [xmluri]- To ignore XML namespaces.
Example:
$ cat xml/eurofxref-daily.xml <?xml version="1.0" encoding="UTF-8"?> <gesmes:Envelope xmlns:gesmes="http://www.gesmes.org/xml/2002-08-01" xmlns="http://www.ecb.int/vocabulary/2002-08-01/eurofxref"> <gesmes:subject>Reference rates</gesmes:subject> <gesmes:Sender> <gesmes:name>European Central Bank</gesmes:name> </gesmes:Sender> <Cube> <Cube time="2017-01-09"> <Cube currency="USD" rate="1.0516" /> <Cube currency="JPY" rate="122.66" /> <Cube currency="BGN" rate="1.9558" /> <Cube currency="CZK" rate="27.021" /> ... ... ... ... ... ... <Cube currency="THB" rate="37.574" /> <Cube currency="ZAR" rate="14.4127" /> </Cube> </Cube> </gesmes:Envelope> # It doesn't work beacause XML namespaces # $ bin/pget.exe xml --xattr-all "//Cube//Cube[@currency]" xml/eurofxref-daily.xml # Now it works. Ignore XML namespace $ bin/pget.exe xml --xattr-all --nons "//Cube//Cube[@currency]" xml/eurofxref-daily.xml currency rate USD 1.0516 JPY 122.66 BGN 1.9558 CZK 27.021 DKK 7.4339 GBP 0.86660 HUF 308.21 ... ... ... THB 37.574 ZAR 14.4127 # Extract directly from URL # #------------------------------------------ $ bin/pget.exe xml --xattr-all --nons "//Cube//Cube[@currency]" https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml currency rate USD 1.0592 JPY 120.55 BGN 1.9558 CZK 27.021 DKK 7.4337 GBP 0.86300 HUF 309.55 PLN 4.3091 RON 4.5290 SEK 9.5335 CHF 1.0694 NOK 8.9673 HRK 7.4090 RUB 61.5602 TRY 3.9328 AUD 1.3937 BRL 3.2896 CAD 1.4183 CNY 7.3050 HKD 8.2235 IDR 14138.32 ILS 3.8950 INR 70.5955 KRW 1222.76 MXN 20.6859 MYR 4.7113 NZD 1.5079 PHP 53.251 SGD 1.4936 THB 37.104 ZAR 13.7644
1.5.10 Misc - Tools
1.5.10.1 Show System Information
$ pget.exe --system
Windows:
e:/projects/pget.fsharp $ bin/pget.exe --system System Information System Version v4.0.30319 System Directory C:\Windows\system32 Runtime Directory C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ System Configuration File C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config OS Version Microsoft Windows NT 6.2.9200.0 Machine Name DESKTOP-FDD38CU 64-bit Operating system True Number of processors 4 Special Directories System.Environment.SpecialFolder.CommonApplicationData C:\ProgramData System.Environment.SpecialFolder.ApplicationData C:\Users\arch\AppData\Roaming System.Environment.SpecialFolder.LocalApplicationData C:\Users\arch\AppData\Local
Linux:
$ bin/pget.exe --system System Information System Version v4.0.30319 System Directory Runtime Directory /usr/lib/mono/4.5 System Configuration File /etc/mono/4.5/machine.config OS Version Unix 4.8.17.1 Machine Name arch-pc 64-bit Operating system True Number of processors 4 Special Directories System.Environment.SpecialFolder.CommonApplicationData /usr/share System.Environment.SpecialFolder.ApplicationData /home/arch/.config System.Environment.SpecialFolder.LocalApplicationData /home/arch/.local/share
1.5.10.2 Generate GUID - Global Unique Identifier
$ pget.exe --guid
Example:
$ bin/pget.exe --guid c4969f50-7a17-4f8f-ac9d-d783a9a8f8d4
1.5.10.3 Open Online Documentation
$ pget.exe --doc
It opens pget web site.
1.6 TODO Todolist
[ ]- Improve display of F# types.[ ]- Improve command line argument handling.[X]- Improve error handling - Exceptions and result types.[X]- Query types and XML documentation.[X]- Add more xml query commands[X]- Add commands to query GAC - Global Assembly Cache libraries[ ]- Add commands to search types and namespaces[ ]- Add more commands to manipulate and query fsproj files.[ ]- Create an Emacs client for pget.exe.[ ]- MAYBE: support to a cached nuget repository.[ ]- MAYBE: interactive shell.[ ]- MAYBE: generate html file with all exported types information.[X]- MAYBE: generate org-mode file with all exported types information.[ ]- Add better html layout for documentation.
2 Pget.dll
Pget.dll is a F# library that provides a high level interface and functional wrappers to NuGet.Core API.