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 --version
or$ 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 --list
or$ 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 --show
or$ 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] --show
or$ 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.