├── app.config ├── packages ├── CommandLineParser.1.9.71 │ ├── lib │ │ ├── net35 │ │ │ └── CommandLine.dll │ │ ├── net40 │ │ │ └── CommandLine.dll │ │ └── net45 │ │ │ └── CommandLine.dll │ ├── CommandLineParser.1.9.71.nupkg │ └── readme.txt ├── Microsoft.Composition.1.0.27 │ ├── Microsoft.Composition.1.0.27.nupkg │ ├── lib │ │ └── portable-net45+win8+wp8+wpa81 │ │ │ ├── System.Composition.Hosting.dll │ │ │ ├── System.Composition.Runtime.dll │ │ │ ├── System.Composition.Convention.dll │ │ │ ├── System.Composition.TypedParts.dll │ │ │ ├── System.Composition.AttributedModel.dll │ │ │ ├── System.Composition.TypedParts.XML │ │ │ └── System.Composition.AttributedModel.XML │ ├── [Content_Types].xml │ └── License-Stable.rtf ├── Microsoft.CodeAnalysis.Common.1.0.0 │ ├── lib │ │ ├── net45 │ │ │ └── Microsoft.CodeAnalysis.dll │ │ └── portable-net45+win8 │ │ │ └── Microsoft.CodeAnalysis.dll │ ├── Microsoft.CodeAnalysis.Common.1.0.0.nupkg │ └── ThirdPartyNotices.rtf ├── System.Reflection.Metadata.1.0.21 │ ├── System.Reflection.Metadata.1.0.21.nupkg │ ├── lib │ │ └── portable-net45+win8 │ │ │ └── System.Reflection.Metadata.dll │ └── License-Stable.rtf ├── Microsoft.CodeAnalysis.CSharp.1.0.0 │ ├── Microsoft.CodeAnalysis.CSharp.1.0.0.nupkg │ ├── lib │ │ ├── net45 │ │ │ └── Microsoft.CodeAnalysis.CSharp.dll │ │ └── portable-net45+win8 │ │ │ └── Microsoft.CodeAnalysis.CSharp.dll │ └── ThirdPartyNotices.rtf ├── System.Collections.Immutable.1.1.36 │ ├── System.Collections.Immutable.1.1.36.nupkg │ ├── lib │ │ └── portable-net45+win8+wp8+wpa81 │ │ │ └── System.Collections.Immutable.dll │ └── License-Stable.rtf ├── Microsoft.CodeAnalysis.Analyzers.1.0.0 │ ├── Microsoft.CodeAnalysis.Analyzers.1.0.0.nupkg │ ├── analyzers │ │ └── dotnet │ │ │ ├── cs │ │ │ ├── Microsoft.CodeAnalysis.Analyzers.dll │ │ │ └── Microsoft.CodeAnalysis.CSharp.Analyzers.dll │ │ │ └── vb │ │ │ ├── Microsoft.CodeAnalysis.Analyzers.dll │ │ │ └── Microsoft.CodeAnalysis.VisualBasic.Analyzers.dll │ ├── ThirdPartyNotices.rtf │ └── tools │ │ ├── install.ps1 │ │ └── uninstall.ps1 ├── Microsoft.CodeAnalysis.Workspaces.Common.1.0.0 │ ├── lib │ │ ├── net45 │ │ │ ├── Microsoft.CodeAnalysis.Workspaces.dll │ │ │ └── Microsoft.CodeAnalysis.Workspaces.Desktop.dll │ │ └── portable-net45+win8 │ │ │ └── Microsoft.CodeAnalysis.Workspaces.dll │ ├── Microsoft.CodeAnalysis.Workspaces.Common.1.0.0.nupkg │ └── ThirdPartyNotices.rtf └── Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0 │ ├── Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0.nupkg │ ├── lib │ ├── net45 │ │ └── Microsoft.CodeAnalysis.CSharp.Workspaces.dll │ └── portable-net45+win8 │ │ └── Microsoft.CodeAnalysis.CSharp.Workspaces.dll │ └── ThirdPartyNotices.rtf ├── dotNET-MVC-Enumerator.csproj.DotSettings ├── dotNetMVCEnumerator.csproj.DotSettings ├── dotNetMVCEnumerator.csproj.user ├── packages.config ├── dotNetMVCEnumerator.sln ├── Properties └── AssemblyInfo.cs ├── README.md ├── source ├── Result.cs ├── Options.cs ├── CheckAttribute.cs ├── ControllerChecker.cs └── CsvExport.cs ├── Program.cs └── dotNetMVCEnumerator.csproj /app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /packages/CommandLineParser.1.9.71/lib/net35/CommandLine.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/CommandLineParser.1.9.71/lib/net35/CommandLine.dll -------------------------------------------------------------------------------- /packages/CommandLineParser.1.9.71/lib/net40/CommandLine.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/CommandLineParser.1.9.71/lib/net40/CommandLine.dll -------------------------------------------------------------------------------- /packages/CommandLineParser.1.9.71/lib/net45/CommandLine.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/CommandLineParser.1.9.71/lib/net45/CommandLine.dll -------------------------------------------------------------------------------- /packages/CommandLineParser.1.9.71/CommandLineParser.1.9.71.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/CommandLineParser.1.9.71/CommandLineParser.1.9.71.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.Composition.1.0.27/Microsoft.Composition.1.0.27.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.Composition.1.0.27/Microsoft.Composition.1.0.27.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.Common.1.0.0/lib/net45/Microsoft.CodeAnalysis.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.CodeAnalysis.Common.1.0.0/lib/net45/Microsoft.CodeAnalysis.dll -------------------------------------------------------------------------------- /packages/System.Reflection.Metadata.1.0.21/System.Reflection.Metadata.1.0.21.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/System.Reflection.Metadata.1.0.21/System.Reflection.Metadata.1.0.21.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.CSharp.1.0.0/Microsoft.CodeAnalysis.CSharp.1.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.CodeAnalysis.CSharp.1.0.0/Microsoft.CodeAnalysis.CSharp.1.0.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.Common.1.0.0/Microsoft.CodeAnalysis.Common.1.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.CodeAnalysis.Common.1.0.0/Microsoft.CodeAnalysis.Common.1.0.0.nupkg -------------------------------------------------------------------------------- /packages/System.Collections.Immutable.1.1.36/System.Collections.Immutable.1.1.36.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/System.Collections.Immutable.1.1.36/System.Collections.Immutable.1.1.36.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.CSharp.1.0.0/lib/net45/Microsoft.CodeAnalysis.CSharp.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.CodeAnalysis.CSharp.1.0.0/lib/net45/Microsoft.CodeAnalysis.CSharp.dll -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.Analyzers.1.0.0/Microsoft.CodeAnalysis.Analyzers.1.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.CodeAnalysis.Analyzers.1.0.0/Microsoft.CodeAnalysis.Analyzers.1.0.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.Common.1.0.0/lib/portable-net45+win8/Microsoft.CodeAnalysis.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.CodeAnalysis.Common.1.0.0/lib/portable-net45+win8/Microsoft.CodeAnalysis.dll -------------------------------------------------------------------------------- /packages/System.Reflection.Metadata.1.0.21/lib/portable-net45+win8/System.Reflection.Metadata.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/System.Reflection.Metadata.1.0.21/lib/portable-net45+win8/System.Reflection.Metadata.dll -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.CSharp.1.0.0/lib/portable-net45+win8/Microsoft.CodeAnalysis.CSharp.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.CodeAnalysis.CSharp.1.0.0/lib/portable-net45+win8/Microsoft.CodeAnalysis.CSharp.dll -------------------------------------------------------------------------------- /packages/Microsoft.Composition.1.0.27/lib/portable-net45+win8+wp8+wpa81/System.Composition.Hosting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.Composition.1.0.27/lib/portable-net45+win8+wp8+wpa81/System.Composition.Hosting.dll -------------------------------------------------------------------------------- /packages/Microsoft.Composition.1.0.27/lib/portable-net45+win8+wp8+wpa81/System.Composition.Runtime.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.Composition.1.0.27/lib/portable-net45+win8+wp8+wpa81/System.Composition.Runtime.dll -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.Analyzers.1.0.0/analyzers/dotnet/cs/Microsoft.CodeAnalysis.Analyzers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.CodeAnalysis.Analyzers.1.0.0/analyzers/dotnet/cs/Microsoft.CodeAnalysis.Analyzers.dll -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.Analyzers.1.0.0/analyzers/dotnet/vb/Microsoft.CodeAnalysis.Analyzers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.CodeAnalysis.Analyzers.1.0.0/analyzers/dotnet/vb/Microsoft.CodeAnalysis.Analyzers.dll -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.Workspaces.Common.1.0.0/lib/net45/Microsoft.CodeAnalysis.Workspaces.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.CodeAnalysis.Workspaces.Common.1.0.0/lib/net45/Microsoft.CodeAnalysis.Workspaces.dll -------------------------------------------------------------------------------- /packages/Microsoft.Composition.1.0.27/lib/portable-net45+win8+wp8+wpa81/System.Composition.Convention.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.Composition.1.0.27/lib/portable-net45+win8+wp8+wpa81/System.Composition.Convention.dll -------------------------------------------------------------------------------- /packages/Microsoft.Composition.1.0.27/lib/portable-net45+win8+wp8+wpa81/System.Composition.TypedParts.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.Composition.1.0.27/lib/portable-net45+win8+wp8+wpa81/System.Composition.TypedParts.dll -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0/Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0/Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.Workspaces.Common.1.0.0/Microsoft.CodeAnalysis.Workspaces.Common.1.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.CodeAnalysis.Workspaces.Common.1.0.0/Microsoft.CodeAnalysis.Workspaces.Common.1.0.0.nupkg -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.Analyzers.1.0.0/analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.Analyzers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.CodeAnalysis.Analyzers.1.0.0/analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.Analyzers.dll -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0/lib/net45/Microsoft.CodeAnalysis.CSharp.Workspaces.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0/lib/net45/Microsoft.CodeAnalysis.CSharp.Workspaces.dll -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.Workspaces.Common.1.0.0/lib/net45/Microsoft.CodeAnalysis.Workspaces.Desktop.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.CodeAnalysis.Workspaces.Common.1.0.0/lib/net45/Microsoft.CodeAnalysis.Workspaces.Desktop.dll -------------------------------------------------------------------------------- /packages/Microsoft.Composition.1.0.27/lib/portable-net45+win8+wp8+wpa81/System.Composition.AttributedModel.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.Composition.1.0.27/lib/portable-net45+win8+wp8+wpa81/System.Composition.AttributedModel.dll -------------------------------------------------------------------------------- /packages/System.Collections.Immutable.1.1.36/lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/System.Collections.Immutable.1.1.36/lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.Analyzers.1.0.0/analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.Analyzers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.CodeAnalysis.Analyzers.1.0.0/analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.Analyzers.dll -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.Workspaces.Common.1.0.0/lib/portable-net45+win8/Microsoft.CodeAnalysis.Workspaces.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.CodeAnalysis.Workspaces.Common.1.0.0/lib/portable-net45+win8/Microsoft.CodeAnalysis.Workspaces.dll -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0/lib/portable-net45+win8/Microsoft.CodeAnalysis.CSharp.Workspaces.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSSecurity/DotNET-MVC-Enumerator/HEAD/packages/Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0/lib/portable-net45+win8/Microsoft.CodeAnalysis.CSharp.Workspaces.dll -------------------------------------------------------------------------------- /dotNET-MVC-Enumerator.csproj.DotSettings: -------------------------------------------------------------------------------- 1 | 2 | Experimental -------------------------------------------------------------------------------- /dotNetMVCEnumerator.csproj.DotSettings: -------------------------------------------------------------------------------- 1 | 2 | Experimental -------------------------------------------------------------------------------- /packages/Microsoft.Composition.1.0.27/[Content_Types].xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dotNetMVCEnumerator.csproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | publish\ 9 | 10 | 11 | 12 | 13 | 14 | en-US 15 | false 16 | 17 | -------------------------------------------------------------------------------- /packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /dotNetMVCEnumerator.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.23107.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "dotNetMVCEnumerator", "dotNetMVCEnumerator.csproj", "{49FDB867-93A2-4CEA-877C-037734EC9117}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x86 = Debug|x86 11 | Release|x86 = Release|x86 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {49FDB867-93A2-4CEA-877C-037734EC9117}.Debug|x86.ActiveCfg = Debug|x86 15 | {49FDB867-93A2-4CEA-877C-037734EC9117}.Debug|x86.Build.0 = Debug|x86 16 | {49FDB867-93A2-4CEA-877C-037734EC9117}.Release|x86.ActiveCfg = Release|x86 17 | {49FDB867-93A2-4CEA-877C-037734EC9117}.Release|x86.Build.0 = Release|x86 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("com.gdsssecurity.dotNetMVCEnumerator")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("com.gdsssecurity.dotNetMVCEnumerator")] 12 | [assembly: AssemblyCopyright("Copyright © 2015")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // Version information for an assembly consists of the following four values: 22 | // 23 | // Major Version 24 | // Minor Version 25 | // Build Number 26 | // Revision 27 | // 28 | // You can specify all the values or you can default the Build and Revision Numbers 29 | // by using the '*' as shown below: 30 | // [assembly: AssemblyVersion("1.0.*")] 31 | [assembly: AssemblyVersion("1.0.0.0")] 32 | [assembly: AssemblyFileVersion("1.0.0.0")] 33 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # DotNET-MVC-Enumerator 2 | 3 | ##About 4 | 5 | This tool is used to enumerate .NET MVC controller end points and also list out any filter attributes assigned to them. The tool provides the ability to search endpoints that contain a specific attribute or alternatively missing an attribute. The output will be saved as a CSV file which can be used to assist your manual code review of the application or perform further analysis. 6 | 7 | For additional details on the tool refer to our blog post: 8 | 9 | http://blog.gdssecurity.com/labs/2015/8/21/enumerating-net-mvc-application-endpoints-with-roslyn.html 10 | 11 | 12 | ###Supported Platforms: 13 | 14 | .NET Framework 4.5 15 | 16 | ###Installation 17 | 18 | Fetch the .sln file and you should be good to go. Build it in Visual Studio supporting .NET version 4.5+. 19 | All the dependencies are in the packages/ directory. 20 | 21 | Note: If Visual Studio complains about a missing app.config file, delete it from the solution explorer and the build should work. 22 | 23 | ###Usage 24 | 25 | The basic usage of the script is as follows: 26 | 27 | > DotNotMVCEnumerator.exe -h 28 | 29 | Usage: DotNetMVCEnumerator.exe 30 | 31 | [-d Directory To Scan *Required] 32 | 33 | [-a Attribute Name to Search] 34 | 35 | [-n Attribute Name To Perform Negative Search] 36 | 37 | [-o File Name to Output Results as CSV] 38 | 39 | [-h Display Usage Help Text] 40 | 41 | The tool runs against a given directory and identifies: 42 | 43 | - All classes that inherit from a Controller class 44 | - All public methods within Controller class 45 | - Attributes assigned to a method including the ones set at the class level 46 | 47 | Sample Usage 1 - Scan code within a directory and write output to the ‘results.csv’ file. 48 | 49 | > DotNetMVCEnumerator.exe -d “C:\Code” -o results.csv 50 | 51 | Sample Usage 2 - Scan code and only include results of methods containing the ‘CSRFTokenValidate’ attribute filter. The output is written to the console and to the ‘results.csv’ file. 52 | 53 | > DotNetMVCEnumerator.exe -d “C:\Code” -o results.csv -a CSRFTokenValidate 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /source/Result.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DotNetMVCEnumerator.source 8 | { 9 | public class Result 10 | { 11 | public string MethodName; 12 | public List HttpMethods = new List(); 13 | public string Route; 14 | public List Attributes = new List(); 15 | 16 | 17 | private Boolean containsMethod(List methodAttributes, String httpMethod) 18 | { 19 | String attrname = methodAttributes.FirstOrDefault(s => s.Contains(httpMethod)); 20 | return !String.IsNullOrEmpty(attrname); 21 | } 22 | 23 | public void setRoute(List methodAttributes) 24 | { 25 | String attribute = methodAttributes.FirstOrDefault(s => s.Contains("Route")); 26 | 27 | if( attribute != null) 28 | { 29 | Route = attribute; 30 | } 31 | } 32 | 33 | public void setSupportedHTTPMethods(List methodAttributes) 34 | { 35 | if( containsMethod(methodAttributes, "HttpPost") || 36 | containsMethod( methodAttributes, "Http.Post") ) 37 | { 38 | HttpMethods.Add("POST"); 39 | } 40 | if( containsMethod(methodAttributes, "HttpGet") || 41 | containsMethod( methodAttributes, "Http.Get") ) 42 | { 43 | HttpMethods.Add("GET"); 44 | } 45 | if( containsMethod(methodAttributes, "HttpPut") || 46 | containsMethod( methodAttributes, "Http.Put") ) 47 | { 48 | HttpMethods.Add("PUT"); 49 | } 50 | if( containsMethod(methodAttributes, "HttpPatch") || 51 | containsMethod( methodAttributes, "Http.Patch") ) 52 | { 53 | HttpMethods.Add("PATCH"); 54 | } 55 | if( containsMethod(methodAttributes, "HttpHead") || 56 | containsMethod( methodAttributes, "Http.Head") ) 57 | { 58 | HttpMethods.Add("HEAD"); 59 | } 60 | if( containsMethod(methodAttributes, "HttpDelete") || 61 | containsMethod( methodAttributes, "Http.Delete") ) 62 | { 63 | HttpMethods.Add("DELETE"); 64 | } 65 | if( containsMethod(methodAttributes, "HttpOptions") || 66 | containsMethod( methodAttributes, "Http.Options") ) 67 | { 68 | HttpMethods.Add("OPTIONS"); 69 | } 70 | } 71 | } 72 | 73 | } 74 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /source/Options.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Command Line Parser Library 3 | * https://github.com/gsscoder/commandline 4 | */ 5 | 6 | using System; 7 | using System.IO; 8 | using System.Text; 9 | using CommandLine; 10 | 11 | namespace DotNetMVCEnumerator.source 12 | { 13 | class Options 14 | { 15 | [Option('o', "output", Required = false, HelpText = "CSV Output file")] 16 | public string CsvOutput { get; set; } 17 | 18 | [Option('a', "attribute", Required = false, HelpText = "Only Return Controller Methods Set With Specified Attribute")] 19 | public string AttributeSearch { get; set; } 20 | 21 | [Option('n', "negative", Required = false, HelpText = "Only Return Controller Methods Not Set With Specified Attribute")] 22 | public string NegativeSearch { get; set; } 23 | 24 | [Option('h', "help", Required = false, HelpText = "Display available options")] 25 | public string Help { get; set; } 26 | 27 | [Option('d', "directory", Required = true, HelpText = "Directories to scan")] 28 | public string Directory { get; set; } 29 | 30 | [HelpOption] 31 | public string GetUsage() 32 | { 33 | // options without using CommandLine.Text or using HelpText.AutoBuild 34 | var usage = new StringBuilder(); 35 | usage.AppendLine("\nUsage: " + Path.GetFileName(System.Reflection.Assembly.GetEntryAssembly().Location) + 36 | "\n\n[-d Directory To Scan *Required]\n[-a Attribute Name to Search]\n"+ 37 | "[-n Attribute Name To Perform Negative Search]\n"+ 38 | "[-o File Name to Output Results as CSV]\n[-h Display Usage Help Text]\n"); 39 | return usage.ToString(); 40 | } 41 | 42 | public bool OptionParser(String[] args, out string csvOutputFile, out string attributeSearch, 43 | out string directoryToScan, out string negativeSearch) 44 | { 45 | csvOutputFile = ""; 46 | attributeSearch = ""; 47 | directoryToScan = ""; 48 | negativeSearch = ""; 49 | 50 | if (CommandLine.Parser.Default.ParseArguments(args, this)) 51 | { 52 | // consume Options instance properties 53 | if (!String.IsNullOrEmpty(this.CsvOutput)) 54 | { 55 | if (Path.GetExtension(this.CsvOutput).ToLower().Equals(".csv")) 56 | { 57 | csvOutputFile = this.CsvOutput; 58 | } 59 | else 60 | { 61 | csvOutputFile = this.CsvOutput + ".csv"; 62 | } 63 | } 64 | if( !String.IsNullOrEmpty(this.AttributeSearch)) 65 | { 66 | attributeSearch = this.AttributeSearch; 67 | } 68 | 69 | if( !String.IsNullOrEmpty(this.Directory) ) 70 | { 71 | directoryToScan = this.Directory; 72 | } 73 | 74 | if( !String.IsNullOrEmpty(this.NegativeSearch)) 75 | { 76 | negativeSearch = this.NegativeSearch; 77 | } 78 | } 79 | else 80 | { 81 | return false; 82 | } 83 | return true; 84 | } 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /source/CheckAttribute.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * .Net MVC Enumerator 3 | * revision 1.0 2015-07-30 4 | * author: Priyank Nigam, Gotham Digital Science 5 | * contact: labs@gdssecurity.com 6 | * blog post: 7 | */ 8 | 9 | using System; 10 | using System.Collections.Generic; 11 | using System.Linq; 12 | using Microsoft.CodeAnalysis.CSharp.Syntax; 13 | 14 | namespace DotNetMVCEnumerator.source 15 | { 16 | class CheckAttribute 17 | { 18 | public static Boolean checkAttribute(IEnumerable methods, String attr, ClassDeclarationSyntax c) 19 | { 20 | Boolean isSet = false; 21 | //Check at class level, digging two levels deep for class-level attributes in ClassDeclarationSyntax Type 22 | foreach (var attribute in c.AttributeLists) 23 | { 24 | foreach (var name in attribute.Attributes) 25 | { 26 | if (name.Name.ToString().Equals(attr)) 27 | { 28 | isSet = true; 29 | } 30 | } 31 | } 32 | /* If not found at Class level, check the methods 33 | * Unfortunately MethodDeclarationSyntax is of Type IEnumerable, so we dig three levels for the Atttribute Lists 34 | */ 35 | foreach (var methodList in methods) 36 | { 37 | foreach (var methodLevelAttirbutes in methodList.AttributeLists) 38 | { 39 | foreach (var methodAttr in methodLevelAttirbutes.Attributes) 40 | { 41 | if (methodAttr.ToString().Equals(attr)) 42 | { 43 | isSet = true; 44 | } 45 | } 46 | } 47 | } 48 | return isSet; 49 | } 50 | 51 | public static List getControllerAttributes(ClassDeclarationSyntax controller) 52 | { 53 | List attributes = new List(); 54 | 55 | foreach (var attribute in controller.AttributeLists) 56 | { 57 | foreach (var name in attribute.Attributes) 58 | { 59 | attributes.Add(name.ToString()); 60 | } 61 | } 62 | 63 | return attributes; 64 | } 65 | 66 | public static List getMethodAttributes(MethodDeclarationSyntax method, ClassDeclarationSyntax c) 67 | { 68 | List attributes = new List(); 69 | 70 | foreach (var methodLevelAttributes in method.AttributeLists) 71 | { 72 | foreach (var methodAttr in methodLevelAttributes.Attributes) 73 | { 74 | attributes.Add(methodAttr.ToString()); 75 | } 76 | } 77 | 78 | return attributes; 79 | 80 | } 81 | 82 | public static void setMethodAttributesFromController(List methodAttributes, List controllerAttributes) 83 | { 84 | foreach(String controllerAttr in controllerAttributes) 85 | { 86 | if(!methodAttributes.Contains(controllerAttr)) 87 | { 88 | // Some Attributes to Ignore 89 | if(!controllerAttr.StartsWith("Route") && !isHttpMethodAttribute(controllerAttr) && 90 | !controllerAttr.StartsWith("AddVerbs")) 91 | { 92 | methodAttributes.Add(controllerAttr); 93 | } 94 | } 95 | } 96 | } 97 | 98 | public static Boolean isHttpMethodAttribute(String attribute) 99 | { 100 | String[] httpmethods = new String[] { "HttpPost", "HttpGet", "HttpPut", "HttpOptions", "HttpPatch", "HttpDelete", "HttpHead" }; 101 | 102 | return httpmethods.Contains(attribute); 103 | } 104 | } 105 | } 106 | -------------------------------------------------------------------------------- /source/ControllerChecker.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * .Net MVC Enumerator 3 | * revision 1.0 2015-07-30 4 | * author: Priyank Nigam, Gotham Digital Science 5 | * contact: labs@gdssecurity.com 6 | * blog post: 7 | */ 8 | 9 | using System; 10 | using System.Collections.Generic; 11 | using System.Data; 12 | using System.Linq; 13 | using Microsoft.CodeAnalysis; 14 | using Microsoft.CodeAnalysis.CSharp.Syntax; 15 | 16 | namespace DotNetMVCEnumerator.source 17 | { 18 | class ControllerChecker 19 | { 20 | List results = new List(); 21 | 22 | public bool inheritsFromController(SyntaxNode root, String args) 23 | { 24 | 25 | bool isValid = false; 26 | 27 | try 28 | { 29 | isValid = root.DescendantNodes().OfType().First().ToString().Equals("ApiController") || 30 | root.DescendantNodes().OfType().First().ToString().Equals("Controller"); 31 | } 32 | catch (InvalidOperationException) 33 | { 34 | isValid = false; 35 | } 36 | 37 | return isValid; 38 | } 39 | 40 | 41 | public void enumerateEntrypoints(SyntaxNode root, String attributeToSearch, String negativeSearch, 42 | String path, Dictionary> resultList) 43 | { 44 | try 45 | { 46 | ClassDeclarationSyntax controller = 47 | root.DescendantNodes().OfType().First(); 48 | 49 | //Get all the public methods in this class 50 | IEnumerable methods = 51 | from m in root.DescendantNodes().OfType() 52 | where m.Modifiers.ToString().Contains("public") 53 | select m; 54 | 55 | List controllerAttrs = CheckAttribute.getControllerAttributes(controller); 56 | 57 | List resultsForController = new List(); 58 | 59 | foreach (var method in methods) 60 | { 61 | Result result = new Result(); 62 | 63 | // Return all the attributes to list it only in the CSV output 64 | List methodAttributes = CheckAttribute.getMethodAttributes(method, controller); 65 | 66 | // Set attributes set at Controller level 67 | CheckAttribute.setMethodAttributesFromController(methodAttributes, controllerAttrs); 68 | 69 | Boolean addAttributeFlag = true; 70 | 71 | if (!String.IsNullOrEmpty(attributeToSearch)) 72 | { 73 | String attributeMatched = methodAttributes.FirstOrDefault(s => s.StartsWith(attributeToSearch)); 74 | 75 | // Only add attributes that start with the value 'searched' for - via command line switch 76 | if(String.IsNullOrEmpty(attributeMatched)) 77 | { 78 | addAttributeFlag = false; 79 | } 80 | } 81 | 82 | 83 | // Only add attributes that are missing the 'negative search' passed via command line switch 84 | if (!String.IsNullOrEmpty(negativeSearch)) 85 | { 86 | String attributeMatched = methodAttributes.FirstOrDefault(s => s.StartsWith(negativeSearch)); 87 | 88 | if(!String.IsNullOrEmpty(attributeMatched)) 89 | { 90 | addAttributeFlag = false; 91 | } 92 | } 93 | 94 | 95 | if(addAttributeFlag) 96 | { 97 | result.MethodName = method.Identifier.ValueText; 98 | 99 | result.Attributes = methodAttributes; 100 | 101 | result.setSupportedHTTPMethods(methodAttributes); 102 | 103 | result.setRoute(methodAttributes); 104 | 105 | resultsForController.Add(result); 106 | } 107 | 108 | } 109 | 110 | if(resultsForController.ToArray().Length > 0) 111 | { 112 | resultList.Add(path, resultsForController); 113 | } 114 | } 115 | catch (InvalidOperationException) 116 | { 117 | Console.WriteLine("Failed to parse: \"" + path + "\", Skipping.."); 118 | } 119 | catch (Exception e) 120 | { 121 | Console.WriteLine("Unhandled Exception Occurred."); 122 | Console.WriteLine(e.ToString()); 123 | } 124 | } 125 | } 126 | } 127 | -------------------------------------------------------------------------------- /source/CsvExport.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * https://github.com/jitbit/CsvExport 3 | */ 4 | 5 | using System; 6 | using System.Collections.Generic; 7 | using System.Data.SqlTypes; 8 | using System.IO; 9 | using System.Linq; 10 | using System.Text; 11 | 12 | namespace DotNetMVCEnumerator.source 13 | { 14 | public class CsvExport 15 | { 16 | /// 17 | /// To keep the ordered list of column names 18 | /// 19 | List fields = new List(); 20 | 21 | /// 22 | /// The list of rows 23 | /// 24 | List> rows = new List>(); 25 | 26 | /// 27 | /// The current row 28 | /// 29 | Dictionary currentRow { get { return rows[rows.Count - 1]; } } 30 | 31 | /// 32 | /// Set a value on this column 33 | /// 34 | public object this[string field] 35 | { 36 | set 37 | { 38 | // Keep track of the field names, because the dictionary loses the ordering 39 | if (!fields.Contains(field)) fields.Add(field); 40 | currentRow[field] = value; 41 | } 42 | } 43 | 44 | /// 45 | /// Call this before setting any fields on a row 46 | /// 47 | public void AddRow() 48 | { 49 | rows.Add(new Dictionary()); 50 | } 51 | 52 | /// 53 | /// Add a list of typed objects, maps object properties to CsvFields 54 | /// 55 | public void AddRows(IEnumerable list) 56 | { 57 | if (list.Any()) 58 | { 59 | foreach (var obj in list) 60 | { 61 | AddRow(); 62 | var values = obj.GetType().GetProperties(); 63 | foreach (var value in values) 64 | { 65 | this[value.Name] = value.GetValue(obj, null); 66 | } 67 | } 68 | } 69 | } 70 | 71 | /// 72 | /// Converts a value to how it should output in a csv file 73 | /// If it has a comma, it needs surrounding with double quotes 74 | /// Eg Sydney, Australia -> "Sydney, Australia" 75 | /// Also if it contains any double quotes ("), then they need to be replaced with quad quotes[sic] ("") 76 | /// Eg "Dangerous Dan" McGrew -> """Dangerous Dan"" McGrew" 77 | /// 78 | string MakeValueCsvFriendly(object value) 79 | { 80 | if (value == null) return ""; 81 | if (value is INullable && ((INullable)value).IsNull) return ""; 82 | if (value is DateTime) 83 | { 84 | if (((DateTime)value).TimeOfDay.TotalSeconds == 0) 85 | return ((DateTime)value).ToString("yyyy-MM-dd"); 86 | return ((DateTime)value).ToString("yyyy-MM-dd HH:mm:ss"); 87 | } 88 | string output = value.ToString(); 89 | if (output.Contains(",") || output.Contains("\"") || output.Contains("\n") || output.Contains("\r")) 90 | output = '"' + output.Replace("\"", "\"\"") + '"'; 91 | 92 | if (output.Length > 30000) //cropping value for stupid Excel 93 | { 94 | if (output.EndsWith("\"")) 95 | output = output.Substring(0, 30000) + "\""; 96 | else 97 | output = output.Substring(0, 30000); 98 | } 99 | 100 | return output.Length <= 32767 ? output : output.Substring(0, 32767); 101 | } 102 | 103 | /// 104 | /// Output all rows as a CSV returning a string 105 | /// 106 | public string Export() 107 | { 108 | StringBuilder sb = new StringBuilder(); 109 | 110 | sb.AppendLine("sep=,"); 111 | 112 | // The header 113 | sb.Append(string.Join(",", fields.ToArray())); 114 | sb.AppendLine(); 115 | 116 | // The rows 117 | foreach (Dictionary row in rows) 118 | { 119 | fields.Where(f => !row.ContainsKey(f)).ToList().ForEach(k => 120 | { 121 | row[k] = null; 122 | }); 123 | sb.Append(string.Join(",", fields.Select(field => MakeValueCsvFriendly(row[field])).ToArray())); 124 | sb.AppendLine(); 125 | } 126 | 127 | return sb.ToString(); 128 | } 129 | 130 | /// 131 | /// Exports to a file 132 | /// 133 | public void ExportToFile(string path) 134 | { 135 | File.WriteAllText(path, Export()); 136 | } 137 | 138 | /// 139 | /// Exports as raw UTF8 bytes 140 | /// 141 | public byte[] ExportToBytes() 142 | { 143 | var data = Encoding.UTF8.GetBytes(Export()); 144 | return Encoding.UTF8.GetPreamble().Concat(data).ToArray(); 145 | } 146 | 147 | 148 | } 149 | } -------------------------------------------------------------------------------- /Program.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * .Net MVC Enumerator 3 | * revision 1.0 2015-07-30 4 | * author: Priyank Nigam, Gotham Digital Science 5 | * contact: labs@gdssecurity.com 6 | * blog post: 7 | */ 8 | 9 | using System; 10 | using System.Collections.Generic; 11 | using System.IO; 12 | using System.Linq; 13 | using DotNetMVCEnumerator.source; 14 | using Microsoft.CodeAnalysis; 15 | using Microsoft.CodeAnalysis.CSharp; 16 | using Microsoft.CodeAnalysis.Text; 17 | using System.Data; 18 | 19 | namespace DotNetMVCEnumerator 20 | { 21 | static class Program 22 | { 23 | private static void Main(string[] args) 24 | { 25 | string attribute = ""; 26 | string csvOutputFile = ""; 27 | string directoryToScan = ""; 28 | string negativeSearch = ""; 29 | Dictionary> results = new Dictionary>(); 30 | 31 | try 32 | { 33 | var options = new Options(); 34 | bool isFlagValid = options.OptionParser(args, out csvOutputFile, out attribute, out directoryToScan, out negativeSearch); 35 | 36 | // If Command-line options not set correctly, show default message and exit 37 | if (!isFlagValid) 38 | { 39 | System.Environment.Exit(0); 40 | } 41 | 42 | if(String.IsNullOrEmpty(csvOutputFile)) 43 | { 44 | DateTime dt = DateTime.Now; 45 | String timestamp = dt.ToString("yyyyMMddHHmmss"); 46 | csvOutputFile = "enumerated_controllers_"+timestamp+".csv"; 47 | } 48 | 49 | string curDir = Directory.GetCurrentDirectory(); 50 | if (String.IsNullOrEmpty(directoryToScan)) 51 | { 52 | directoryToScan = curDir; 53 | } 54 | string[] paths = Directory.GetFiles(directoryToScan, "*.cs", SearchOption.AllDirectories); 55 | 56 | if (paths.Length > 0) 57 | { 58 | foreach (var path in paths) 59 | { 60 | using (var stream = File.OpenRead(path)) 61 | { 62 | var tree = CSharpSyntaxTree.ParseText(SourceText.From(stream), path: path); 63 | SyntaxNode root = tree.GetRoot(); 64 | 65 | // Check if the Class inherits Apicontroller or Controller and print out all the public entry points 66 | ControllerChecker controllerchk = new ControllerChecker(); 67 | if (controllerchk.inheritsFromController(root, attribute)) 68 | { 69 | controllerchk.enumerateEntrypoints(root, attribute, negativeSearch, path, results); 70 | } 71 | } 72 | } 73 | 74 | string[] controllerPaths = results.Keys.ToArray(); 75 | String pathToTrim = getPathToTrim(controllerPaths); 76 | 77 | if (!String.IsNullOrEmpty(attribute) || !String.IsNullOrEmpty(negativeSearch)) 78 | { 79 | printCommandLineResults(results, pathToTrim); 80 | } 81 | 82 | printCSVResults(results, csvOutputFile, pathToTrim); 83 | } 84 | } 85 | catch (DirectoryNotFoundException) 86 | { 87 | Console.WriteLine("Invalid Path"); 88 | } 89 | catch (IndexOutOfRangeException) 90 | { 91 | //Shoudn't Reach this, but in case 92 | Console.WriteLine("No Arguments passed"); 93 | } 94 | catch (UnauthorizedAccessException e) 95 | { 96 | e.GetBaseException(); 97 | Console.WriteLine("You do not seem to have appropiate Permissions on this direcctory"); 98 | } 99 | catch (NotSupportedException) 100 | { 101 | Console.WriteLine("The operating system is Windows CE, which does not have current directory functionality."); 102 | } 103 | catch (ArgumentException) 104 | { 105 | Console.WriteLine("Illegal characters passed as arguments! "); 106 | } 107 | catch(Exception) 108 | { 109 | Console.WriteLine("Unexpected error"); 110 | } 111 | } 112 | 113 | public static void printCommandLineResults(Dictionary> results, String pathToTrim) 114 | { 115 | foreach( KeyValuePair> pair in results) 116 | { 117 | Console.WriteLine("Controller: \n" + pair.Key.Replace(pathToTrim, "")); 118 | Console.WriteLine("\nMethods: "); 119 | foreach(Result result in pair.Value) 120 | { 121 | Console.WriteLine(result.MethodName); 122 | } 123 | 124 | Console.WriteLine("\n======================\n"); 125 | } 126 | } 127 | 128 | public static void printCSVResults(Dictionary> results, String filename, String pathToTrim) 129 | { 130 | var csvExport = new CsvExport(); 131 | 132 | foreach (KeyValuePair> pair in results) 133 | { 134 | foreach (Result result in pair.Value) 135 | { 136 | csvExport.AddRow(); 137 | csvExport["Controller"] = pair.Key.Replace(pathToTrim, ""); 138 | csvExport["Method Name"] = result.MethodName; 139 | csvExport["Route"] = result.Route; 140 | csvExport["HTTP Method"] = string.Join(", ", result.HttpMethods.ToArray()); 141 | csvExport["Attributes"] = string.Join(", ", result.Attributes.ToArray()); 142 | } 143 | } 144 | 145 | File.Create(filename).Dispose(); 146 | csvExport.ExportToFile(filename); 147 | Console.WriteLine("CSV output written to: " + filename); 148 | } 149 | 150 | 151 | public static String getPathToTrim(String[] paths) 152 | { 153 | string pathToTrim = ""; 154 | 155 | try 156 | { 157 | String aPath = paths.First(); 158 | 159 | string[] dirsInFilePath = aPath.Split('\\'); 160 | int highestMatchingIndex = 0; 161 | 162 | for (int i = 0; i < dirsInFilePath.Length; i++) 163 | { 164 | 165 | for (int j = 0; j < paths.Length; j++) 166 | { 167 | string[] splitPath = paths[j].Split('\\'); 168 | if (!dirsInFilePath[i].Equals(splitPath[i])) 169 | { 170 | highestMatchingIndex = i - 1; 171 | break; 172 | } 173 | 174 | } 175 | } 176 | 177 | if (highestMatchingIndex == 0) 178 | { 179 | pathToTrim = "." + "\\"; 180 | } 181 | else 182 | { 183 | pathToTrim = string.Join("\\", dirsInFilePath, 0, highestMatchingIndex); 184 | } 185 | 186 | } 187 | catch (InvalidOperationException) 188 | { 189 | Console.WriteLine("No Entrypoints with the specified search parameters found."); 190 | } 191 | 192 | catch( Exception e) 193 | { 194 | Console.WriteLine(e.ToString()); 195 | } 196 | 197 | return pathToTrim; 198 | 199 | } 200 | } 201 | 202 | 203 | } 204 | 205 | 206 | 207 | 208 | -------------------------------------------------------------------------------- /dotNetMVCEnumerator.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | x86 6 | 8.0.30703 7 | 2.0 8 | {49FDB867-93A2-4CEA-877C-037734EC9117} 9 | Exe 10 | Properties 11 | DotNetMVCEnumerator 12 | DotNetMVCEnumerator 13 | v4.5.2 14 | 512 15 | 16 | publish\ 17 | true 18 | Disk 19 | false 20 | Foreground 21 | 7 22 | Days 23 | false 24 | false 25 | true 26 | 0 27 | 1.0.0.%2a 28 | false 29 | false 30 | true 31 | 32 | 33 | x86 34 | true 35 | full 36 | false 37 | bin\Debug\ 38 | DEBUG;TRACE 39 | prompt 40 | 4 41 | 42 | 43 | x86 44 | pdbonly 45 | true 46 | bin\Release\ 47 | TRACE 48 | prompt 49 | 4 50 | 51 | 52 | 53 | packages\CommandLineParser.1.9.71\lib\net45\CommandLine.dll 54 | True 55 | 56 | 57 | packages\Microsoft.CodeAnalysis.Common.1.0.0\lib\net45\Microsoft.CodeAnalysis.dll 58 | True 59 | 60 | 61 | packages\Microsoft.CodeAnalysis.CSharp.1.0.0\lib\net45\Microsoft.CodeAnalysis.CSharp.dll 62 | True 63 | 64 | 65 | packages\Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0\lib\net45\Microsoft.CodeAnalysis.CSharp.Workspaces.dll 66 | True 67 | 68 | 69 | packages\Microsoft.CodeAnalysis.Workspaces.Common.1.0.0\lib\net45\Microsoft.CodeAnalysis.Workspaces.dll 70 | True 71 | 72 | 73 | packages\Microsoft.CodeAnalysis.Workspaces.Common.1.0.0\lib\net45\Microsoft.CodeAnalysis.Workspaces.Desktop.dll 74 | True 75 | 76 | 77 | 78 | 79 | packages\System.Collections.Immutable.1.1.36\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll 80 | True 81 | 82 | 83 | packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.AttributedModel.dll 84 | True 85 | 86 | 87 | packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.Convention.dll 88 | True 89 | 90 | 91 | packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.Hosting.dll 92 | True 93 | 94 | 95 | packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.Runtime.dll 96 | True 97 | 98 | 99 | packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.TypedParts.dll 100 | True 101 | 102 | 103 | 104 | 105 | 106 | packages\System.Reflection.Metadata.1.0.21\lib\portable-net45+win8\System.Reflection.Metadata.dll 107 | True 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | False 133 | Microsoft .NET Framework 4.5.2 %28x86 and x64%29 134 | true 135 | 136 | 137 | False 138 | .NET Framework 3.5 SP1 139 | false 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 154 | -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.CSharp.1.0.0/ThirdPartyNotices.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Tahoma;}} 2 | {\colortbl ;\red0\green0\blue255;} 3 | {\*\generator Riched20 10.0.10037}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 4 | \pard\nowidctlpar\sb120\sa120\f0\fs19 THIRD-PARTY SOFTWARE NOTICES AND INFORMATION\par 5 | Do Not Translate or Localize\par 6 | \par 7 | This file provides information regarding components that are being relicensed to you by Microsoft Corporation under Microsoft's software licensing terms. Microsoft Corporation reserves all rights not expressly granted herein.\par 8 | \par 9 | %% \caps .NET Compiler Platform\caps0 NOTICES AND INFORMATION BEGIN HERE\par 10 | =========================================\par 11 | Copyright (C) .NET Foundation. All rights reserved.\par 12 | \par 13 | Apache License, Version 2.0\par 14 | Apache License\par 15 | Version 2.0, January 2004\par 16 | {{\field{\*\fldinst{HYPERLINK http://www.apache.org/licenses/ }}{\fldrslt{http://www.apache.org/licenses/\ul0\cf0}}}}\f0\fs19\par 17 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\par 18 | 1. Definitions.\par 19 | "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.\par 20 | "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.\par 21 | "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.\par 22 | "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.\par 23 | "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.\par 24 | "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.\par 25 | "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).\par 26 | "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.\par 27 | "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."\par 28 | "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.\par 29 | 2. Grant of Copyright License.\par 30 | Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.\par 31 | 3. Grant of Patent License.\par 32 | Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.\par 33 | 4. Redistribution.\par 34 | You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:\par 35 | 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and\par 36 | 2. You must cause any modified files to carry prominent notices stating that You changed the files; and\par 37 | 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and\par 38 | 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.\par 39 | You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.\par 40 | 5. Submission of Contributions.\par 41 | Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.\par 42 | 6. Trademarks.\par 43 | This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.\par 44 | 7. Disclaimer of Warranty.\par 45 | Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.\par 46 | 8. Limitation of Liability.\par 47 | In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.\par 48 | 9. Accepting Warranty or Additional Liability.\par 49 | While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.\par 50 | END OF TERMS AND CONDITIONS\par 51 | =========================================\par 52 | END OF \caps .NET Compiler Platform\caps0 NOTICES AND INFORMATION\par 53 | } 54 | -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.Common.1.0.0/ThirdPartyNotices.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Tahoma;}} 2 | {\colortbl ;\red0\green0\blue255;} 3 | {\*\generator Riched20 10.0.10037}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 4 | \pard\nowidctlpar\sb120\sa120\f0\fs19 THIRD-PARTY SOFTWARE NOTICES AND INFORMATION\par 5 | Do Not Translate or Localize\par 6 | \par 7 | This file provides information regarding components that are being relicensed to you by Microsoft Corporation under Microsoft's software licensing terms. Microsoft Corporation reserves all rights not expressly granted herein.\par 8 | \par 9 | %% \caps .NET Compiler Platform\caps0 NOTICES AND INFORMATION BEGIN HERE\par 10 | =========================================\par 11 | Copyright (C) .NET Foundation. All rights reserved.\par 12 | \par 13 | Apache License, Version 2.0\par 14 | Apache License\par 15 | Version 2.0, January 2004\par 16 | {{\field{\*\fldinst{HYPERLINK http://www.apache.org/licenses/ }}{\fldrslt{http://www.apache.org/licenses/\ul0\cf0}}}}\f0\fs19\par 17 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\par 18 | 1. Definitions.\par 19 | "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.\par 20 | "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.\par 21 | "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.\par 22 | "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.\par 23 | "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.\par 24 | "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.\par 25 | "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).\par 26 | "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.\par 27 | "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."\par 28 | "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.\par 29 | 2. Grant of Copyright License.\par 30 | Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.\par 31 | 3. Grant of Patent License.\par 32 | Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.\par 33 | 4. Redistribution.\par 34 | You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:\par 35 | 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and\par 36 | 2. You must cause any modified files to carry prominent notices stating that You changed the files; and\par 37 | 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and\par 38 | 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.\par 39 | You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.\par 40 | 5. Submission of Contributions.\par 41 | Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.\par 42 | 6. Trademarks.\par 43 | This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.\par 44 | 7. Disclaimer of Warranty.\par 45 | Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.\par 46 | 8. Limitation of Liability.\par 47 | In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.\par 48 | 9. Accepting Warranty or Additional Liability.\par 49 | While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.\par 50 | END OF TERMS AND CONDITIONS\par 51 | =========================================\par 52 | END OF \caps .NET Compiler Platform\caps0 NOTICES AND INFORMATION\par 53 | } 54 | -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.Analyzers.1.0.0/ThirdPartyNotices.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Tahoma;}} 2 | {\colortbl ;\red0\green0\blue255;} 3 | {\*\generator Riched20 10.0.10037}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 4 | \pard\nowidctlpar\sb120\sa120\f0\fs19 THIRD-PARTY SOFTWARE NOTICES AND INFORMATION\par 5 | Do Not Translate or Localize\par 6 | \par 7 | This file provides information regarding components that are being relicensed to you by Microsoft Corporation under Microsoft's software licensing terms. Microsoft Corporation reserves all rights not expressly granted herein.\par 8 | \par 9 | %% \caps .NET Compiler Platform\caps0 NOTICES AND INFORMATION BEGIN HERE\par 10 | =========================================\par 11 | Copyright (C) .NET Foundation. All rights reserved.\par 12 | \par 13 | Apache License, Version 2.0\par 14 | Apache License\par 15 | Version 2.0, January 2004\par 16 | {{\field{\*\fldinst{HYPERLINK http://www.apache.org/licenses/ }}{\fldrslt{http://www.apache.org/licenses/\ul0\cf0}}}}\f0\fs19\par 17 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\par 18 | 1. Definitions.\par 19 | "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.\par 20 | "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.\par 21 | "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.\par 22 | "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.\par 23 | "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.\par 24 | "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.\par 25 | "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).\par 26 | "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.\par 27 | "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."\par 28 | "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.\par 29 | 2. Grant of Copyright License.\par 30 | Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.\par 31 | 3. Grant of Patent License.\par 32 | Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.\par 33 | 4. Redistribution.\par 34 | You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:\par 35 | 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and\par 36 | 2. You must cause any modified files to carry prominent notices stating that You changed the files; and\par 37 | 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and\par 38 | 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.\par 39 | You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.\par 40 | 5. Submission of Contributions.\par 41 | Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.\par 42 | 6. Trademarks.\par 43 | This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.\par 44 | 7. Disclaimer of Warranty.\par 45 | Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.\par 46 | 8. Limitation of Liability.\par 47 | In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.\par 48 | 9. Accepting Warranty or Additional Liability.\par 49 | While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.\par 50 | END OF TERMS AND CONDITIONS\par 51 | =========================================\par 52 | END OF \caps .NET Compiler Platform\caps0 NOTICES AND INFORMATION\par 53 | } 54 | -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0/ThirdPartyNotices.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Tahoma;}} 2 | {\colortbl ;\red0\green0\blue255;} 3 | {\*\generator Riched20 10.0.10037}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 4 | \pard\nowidctlpar\sb120\sa120\f0\fs19 THIRD-PARTY SOFTWARE NOTICES AND INFORMATION\par 5 | Do Not Translate or Localize\par 6 | \par 7 | This file provides information regarding components that are being relicensed to you by Microsoft Corporation under Microsoft's software licensing terms. Microsoft Corporation reserves all rights not expressly granted herein.\par 8 | \par 9 | %% \caps .NET Compiler Platform\caps0 NOTICES AND INFORMATION BEGIN HERE\par 10 | =========================================\par 11 | Copyright (C) .NET Foundation. All rights reserved.\par 12 | \par 13 | Apache License, Version 2.0\par 14 | Apache License\par 15 | Version 2.0, January 2004\par 16 | {{\field{\*\fldinst{HYPERLINK http://www.apache.org/licenses/ }}{\fldrslt{http://www.apache.org/licenses/\ul0\cf0}}}}\f0\fs19\par 17 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\par 18 | 1. Definitions.\par 19 | "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.\par 20 | "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.\par 21 | "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.\par 22 | "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.\par 23 | "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.\par 24 | "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.\par 25 | "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).\par 26 | "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.\par 27 | "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."\par 28 | "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.\par 29 | 2. Grant of Copyright License.\par 30 | Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.\par 31 | 3. Grant of Patent License.\par 32 | Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.\par 33 | 4. Redistribution.\par 34 | You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:\par 35 | 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and\par 36 | 2. You must cause any modified files to carry prominent notices stating that You changed the files; and\par 37 | 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and\par 38 | 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.\par 39 | You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.\par 40 | 5. Submission of Contributions.\par 41 | Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.\par 42 | 6. Trademarks.\par 43 | This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.\par 44 | 7. Disclaimer of Warranty.\par 45 | Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.\par 46 | 8. Limitation of Liability.\par 47 | In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.\par 48 | 9. Accepting Warranty or Additional Liability.\par 49 | While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.\par 50 | END OF TERMS AND CONDITIONS\par 51 | =========================================\par 52 | END OF \caps .NET Compiler Platform\caps0 NOTICES AND INFORMATION\par 53 | } 54 | -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.Workspaces.Common.1.0.0/ThirdPartyNotices.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Tahoma;}} 2 | {\colortbl ;\red0\green0\blue255;} 3 | {\*\generator Riched20 10.0.10037}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 4 | \pard\nowidctlpar\sb120\sa120\f0\fs19 THIRD-PARTY SOFTWARE NOTICES AND INFORMATION\par 5 | Do Not Translate or Localize\par 6 | \par 7 | This file provides information regarding components that are being relicensed to you by Microsoft Corporation under Microsoft's software licensing terms. Microsoft Corporation reserves all rights not expressly granted herein.\par 8 | \par 9 | %% \caps .NET Compiler Platform\caps0 NOTICES AND INFORMATION BEGIN HERE\par 10 | =========================================\par 11 | Copyright (C) .NET Foundation. All rights reserved.\par 12 | \par 13 | Apache License, Version 2.0\par 14 | Apache License\par 15 | Version 2.0, January 2004\par 16 | {{\field{\*\fldinst{HYPERLINK http://www.apache.org/licenses/ }}{\fldrslt{http://www.apache.org/licenses/\ul0\cf0}}}}\f0\fs19\par 17 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\par 18 | 1. Definitions.\par 19 | "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.\par 20 | "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.\par 21 | "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.\par 22 | "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.\par 23 | "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.\par 24 | "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.\par 25 | "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).\par 26 | "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.\par 27 | "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."\par 28 | "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.\par 29 | 2. Grant of Copyright License.\par 30 | Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.\par 31 | 3. Grant of Patent License.\par 32 | Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.\par 33 | 4. Redistribution.\par 34 | You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:\par 35 | 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and\par 36 | 2. You must cause any modified files to carry prominent notices stating that You changed the files; and\par 37 | 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and\par 38 | 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.\par 39 | You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.\par 40 | 5. Submission of Contributions.\par 41 | Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.\par 42 | 6. Trademarks.\par 43 | This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.\par 44 | 7. Disclaimer of Warranty.\par 45 | Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.\par 46 | 8. Limitation of Liability.\par 47 | In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.\par 48 | 9. Accepting Warranty or Additional Liability.\par 49 | While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.\par 50 | END OF TERMS AND CONDITIONS\par 51 | =========================================\par 52 | END OF \caps .NET Compiler Platform\caps0 NOTICES AND INFORMATION\par 53 | } 54 | -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.Analyzers.1.0.0/tools/install.ps1: -------------------------------------------------------------------------------- 1 | param($installPath, $toolsPath, $package, $project) 2 | 3 | $analyzersPaths = Join-Path (Join-Path (Split-Path -Path $toolsPath -Parent) "analyzers" ) * -Resolve 4 | 5 | foreach($analyzersPath in $analyzersPaths) 6 | { 7 | # Install the language agnostic analyzers. 8 | if (Test-Path $analyzersPath) 9 | { 10 | foreach ($analyzerFilePath in Get-ChildItem $analyzersPath -Filter *.dll) 11 | { 12 | if($project.Object.AnalyzerReferences) 13 | { 14 | $project.Object.AnalyzerReferences.Add($analyzerFilePath.FullName) 15 | } 16 | } 17 | } 18 | } 19 | 20 | # $project.Type gives the language name like (C# or VB.NET) 21 | $languageFolder = "" 22 | if($project.Type -eq "C#") 23 | { 24 | $languageFolder = "cs" 25 | } 26 | if($project.Type -eq "VB.NET") 27 | { 28 | $languageFolder = "vb" 29 | } 30 | if($languageFolder -eq "") 31 | { 32 | return 33 | } 34 | 35 | foreach($analyzersPath in $analyzersPaths) 36 | { 37 | # Install language specific analyzers. 38 | $languageAnalyzersPath = join-path $analyzersPath $languageFolder 39 | if (Test-Path $languageAnalyzersPath) 40 | { 41 | foreach ($analyzerFilePath in Get-ChildItem $languageAnalyzersPath -Filter *.dll) 42 | { 43 | if($project.Object.AnalyzerReferences) 44 | { 45 | $project.Object.AnalyzerReferences.Add($analyzerFilePath.FullName) 46 | } 47 | } 48 | } 49 | } 50 | # SIG # Begin signature block 51 | # MIIaoQYJKoZIhvcNAQcCoIIakjCCGo4CAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB 52 | # gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR 53 | # AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQU2Q/XtUMgeda05ZRH6iWmJDPu 54 | # oTCgghWCMIIEwzCCA6ugAwIBAgITMwAAAHPGWcJSl4OjOgAAAAAAczANBgkqhkiG 55 | # 9w0BAQUFADB3MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G 56 | # A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEw 57 | # HwYDVQQDExhNaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EwHhcNMTUwMzIwMTczMjA0 58 | # WhcNMTYwNjIwMTczMjA0WjCBszELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp 59 | # bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw 60 | # b3JhdGlvbjENMAsGA1UECxMETU9QUjEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNO 61 | # OkJCRUMtMzBDQS0yREJFMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT 62 | # ZXJ2aWNlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp0QvcscV762c 63 | # vJQkN4+yFC55LDaPb7KevwD6jHhhG5S5Uij0cT8HGE/y6Je/f3Ow4zVsoSviUbYn 64 | # qqI1ASnzKaVQ3natkrIUuQ8Mllkya3MeSL9Q877ogSskJFB0fOph5o8RAe6yfSD1 65 | # CkMqVGVAxRwMNFDik+TCDS7gUJlQaAZ9h3v2jQWOR+Xt0ELjY93j7iXPqVCjT4K7 66 | # x5WFfasB4FBCFeBZg8lR4D2gKOh/gnzSuRoCHqhzdFfIf7gJs7pF4EfCdNSp2BLX 67 | # Lxuc1K567c/CWXMh3LDjZMMd5i8EvFv9ssV+Nua6VnlcHRWrsaB9FygH8+OpkVg8 68 | # tkWf1jVh3QIDAQABo4IBCTCCAQUwHQYDVR0OBBYEFDUsc4HZ7HD5Sj2P/0fAfApo 69 | # obgbMB8GA1UdIwQYMBaAFCM0+NlSRnAK7UD7dvuzK7DDNbMPMFQGA1UdHwRNMEsw 70 | # SaBHoEWGQ2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3Rz 71 | # L01pY3Jvc29mdFRpbWVTdGFtcFBDQS5jcmwwWAYIKwYBBQUHAQEETDBKMEgGCCsG 72 | # AQUFBzAChjxodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY3Jv 73 | # c29mdFRpbWVTdGFtcFBDQS5jcnQwEwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZI 74 | # hvcNAQEFBQADggEBABhW2Lwu5/R0+yuB1kWyYWp9G8CaWAHqZhnXuCn1jzz09iI2 75 | # d1FUmQud9f7Fg9U7F18kV7sSywfz8omzn+eIMTZc0N0QbbGdHG5zeUCA26QRbUwQ 76 | # 6BCVoUNlxEgptx5suXvzd7dgvF0jpzSnWPUVzaasjBvdqMfy/L2f24Jaiu9s8vsu 77 | # w79c0Y2DVhPd4x2T7ReueUVSCxzhK8AzUN271fiW2JRLQ0tRCF8tnA5TKJe7RuvG 78 | # emKndxIklRnPRf1Y2R0getwBvO8Lg3pDeZDUR+AIteZ96oBsSHnsJwxb8T45Ur6a 79 | # lIw5sEMholc7XInenHZH5DEg0aJpQ86Btpv5rzgwggTsMIID1KADAgECAhMzAAAB 80 | # Cix5rtd5e6asAAEAAAEKMA0GCSqGSIb3DQEBBQUAMHkxCzAJBgNVBAYTAlVTMRMw 81 | # EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN 82 | # aWNyb3NvZnQgQ29ycG9yYXRpb24xIzAhBgNVBAMTGk1pY3Jvc29mdCBDb2RlIFNp 83 | # Z25pbmcgUENBMB4XDTE1MDYwNDE3NDI0NVoXDTE2MDkwNDE3NDI0NVowgYMxCzAJ 84 | # BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k 85 | # MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xDTALBgNVBAsTBE1PUFIx 86 | # HjAcBgNVBAMTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjCCASIwDQYJKoZIhvcNAQEB 87 | # BQADggEPADCCAQoCggEBAJL8bza74QO5KNZG0aJhuqVG+2MWPi75R9LH7O3HmbEm 88 | # UXW92swPBhQRpGwZnsBfTVSJ5E1Q2I3NoWGldxOaHKftDXT3p1Z56Cj3U9KxemPg 89 | # 9ZSXt+zZR/hsPfMliLO8CsUEp458hUh2HGFGqhnEemKLwcI1qvtYb8VjC5NJMIEb 90 | # e99/fE+0R21feByvtveWE1LvudFNOeVz3khOPBSqlw05zItR4VzRO/COZ+owYKlN 91 | # Wp1DvdsjusAP10sQnZxN8FGihKrknKc91qPvChhIqPqxTqWYDku/8BTzAMiwSNZb 92 | # /jjXiREtBbpDAk8iAJYlrX01boRoqyAYOCj+HKIQsaUCAwEAAaOCAWAwggFcMBMG 93 | # A1UdJQQMMAoGCCsGAQUFBwMDMB0GA1UdDgQWBBSJ/gox6ibN5m3HkZG5lIyiGGE3 94 | # NDBRBgNVHREESjBIpEYwRDENMAsGA1UECxMETU9QUjEzMDEGA1UEBRMqMzE1OTUr 95 | # MDQwNzkzNTAtMTZmYS00YzYwLWI2YmYtOWQyYjFjZDA1OTg0MB8GA1UdIwQYMBaA 96 | # FMsR6MrStBZYAck3LjMWFrlMmgofMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9j 97 | # cmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY0NvZFNpZ1BDQV8w 98 | # OC0zMS0yMDEwLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6 99 | # Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljQ29kU2lnUENBXzA4LTMx 100 | # LTIwMTAuY3J0MA0GCSqGSIb3DQEBBQUAA4IBAQCmqFOR3zsB/mFdBlrrZvAM2PfZ 101 | # hNMAUQ4Q0aTRFyjnjDM4K9hDxgOLdeszkvSp4mf9AtulHU5DRV0bSePgTxbwfo/w 102 | # iBHKgq2k+6apX/WXYMh7xL98m2ntH4LB8c2OeEti9dcNHNdTEtaWUu81vRmOoECT 103 | # oQqlLRacwkZ0COvb9NilSTZUEhFVA7N7FvtH/vto/MBFXOI/Enkzou+Cxd5AGQfu 104 | # FcUKm1kFQanQl56BngNb/ErjGi4FrFBHL4z6edgeIPgF+ylrGBT6cgS3C6eaZOwR 105 | # XU9FSY0pGi370LYJU180lOAWxLnqczXoV+/h6xbDGMcGszvPYYTitkSJlKOGMIIF 106 | # vDCCA6SgAwIBAgIKYTMmGgAAAAAAMTANBgkqhkiG9w0BAQUFADBfMRMwEQYKCZIm 107 | # iZPyLGQBGRYDY29tMRkwFwYKCZImiZPyLGQBGRYJbWljcm9zb2Z0MS0wKwYDVQQD 108 | # EyRNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMTAwODMx 109 | # MjIxOTMyWhcNMjAwODMxMjIyOTMyWjB5MQswCQYDVQQGEwJVUzETMBEGA1UECBMK 110 | # V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 111 | # IENvcnBvcmF0aW9uMSMwIQYDVQQDExpNaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBD 112 | # QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJyWVwZMGS/HZpgICBC 113 | # mXZTbD4b1m/My/Hqa/6XFhDg3zp0gxq3L6Ay7P/ewkJOI9VyANs1VwqJyq4gSfTw 114 | # aKxNS42lvXlLcZtHB9r9Jd+ddYjPqnNEf9eB2/O98jakyVxF3K+tPeAoaJcap6Vy 115 | # c1bxF5Tk/TWUcqDWdl8ed0WDhTgW0HNbBbpnUo2lsmkv2hkL/pJ0KeJ2L1TdFDBZ 116 | # +NKNYv3LyV9GMVC5JxPkQDDPcikQKCLHN049oDI9kM2hOAaFXE5WgigqBTK3S9dP 117 | # Y+fSLWLxRT3nrAgA9kahntFbjCZT6HqqSvJGzzc8OJ60d1ylF56NyxGPVjzBrAlf 118 | # A9MCAwEAAaOCAV4wggFaMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMsR6MrS 119 | # tBZYAck3LjMWFrlMmgofMAsGA1UdDwQEAwIBhjASBgkrBgEEAYI3FQEEBQIDAQAB 120 | # MCMGCSsGAQQBgjcVAgQWBBT90TFO0yaKleGYYDuoMW+mPLzYLTAZBgkrBgEEAYI3 121 | # FAIEDB4KAFMAdQBiAEMAQTAfBgNVHSMEGDAWgBQOrIJgQFYnl+UlE/wq4QpTlVnk 122 | # pDBQBgNVHR8ESTBHMEWgQ6BBhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtp 123 | # L2NybC9wcm9kdWN0cy9taWNyb3NvZnRyb290Y2VydC5jcmwwVAYIKwYBBQUHAQEE 124 | # SDBGMEQGCCsGAQUFBzAChjhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2Nl 125 | # cnRzL01pY3Jvc29mdFJvb3RDZXJ0LmNydDANBgkqhkiG9w0BAQUFAAOCAgEAWTk+ 126 | # fyZGr+tvQLEytWrrDi9uqEn361917Uw7LddDrQv+y+ktMaMjzHxQmIAhXaw9L0y6 127 | # oqhWnONwu7i0+Hm1SXL3PupBf8rhDBdpy6WcIC36C1DEVs0t40rSvHDnqA2iA6VW 128 | # 4LiKS1fylUKc8fPv7uOGHzQ8uFaa8FMjhSqkghyT4pQHHfLiTviMocroE6WRTsgb 129 | # 0o9ylSpxbZsa+BzwU9ZnzCL/XB3Nooy9J7J5Y1ZEolHN+emjWFbdmwJFRC9f9Nqu 130 | # 1IIybvyklRPk62nnqaIsvsgrEA5ljpnb9aL6EiYJZTiU8XofSrvR4Vbo0HiWGFzJ 131 | # NRZf3ZMdSY4tvq00RBzuEBUaAF3dNVshzpjHCe6FDoxPbQ4TTj18KUicctHzbMrB 132 | # 7HCjV5JXfZSNoBtIA1r3z6NnCnSlNu0tLxfI5nI3EvRvsTxngvlSso0zFmUeDord 133 | # EN5k9G/ORtTTF+l5xAS00/ss3x+KnqwK+xMnQK3k+eGpf0a7B2BHZWBATrBC7E7t 134 | # s3Z52Ao0CW0cgDEf4g5U3eWh++VHEK1kmP9QFi58vwUheuKVQSdpw5OPlcmN2Jsh 135 | # rg1cnPCiroZogwxqLbt2awAdlq3yFnv2FoMkuYjPaqhHMS+a3ONxPdcAfmJH0c6I 136 | # ybgY+g5yjcGjPa8CQGr/aZuW4hCoELQ3UAjWwz0wggYHMIID76ADAgECAgphFmg0 137 | # AAAAAAAcMA0GCSqGSIb3DQEBBQUAMF8xEzARBgoJkiaJk/IsZAEZFgNjb20xGTAX 138 | # BgoJkiaJk/IsZAEZFgltaWNyb3NvZnQxLTArBgNVBAMTJE1pY3Jvc29mdCBSb290 139 | # IENlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0wNzA0MDMxMjUzMDlaFw0yMTA0MDMx 140 | # MzAzMDlaMHcxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD 141 | # VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xITAf 142 | # BgNVBAMTGE1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQTCCASIwDQYJKoZIhvcNAQEB 143 | # BQADggEPADCCAQoCggEBAJ+hbLHf20iSKnxrLhnhveLjxZlRI1Ctzt0YTiQP7tGn 144 | # 0UytdDAgEesH1VSVFUmUG0KSrphcMCbaAGvoe73siQcP9w4EmPCJzB/LMySHnfL0 145 | # Zxws/HvniB3q506jocEjU8qN+kXPCdBer9CwQgSi+aZsk2fXKNxGU7CG0OUoRi4n 146 | # rIZPVVIM5AMs+2qQkDBuh/NZMJ36ftaXs+ghl3740hPzCLdTbVK0RZCfSABKR2YR 147 | # JylmqJfk0waBSqL5hKcRRxQJgp+E7VV4/gGaHVAIhQAQMEbtt94jRrvELVSfrx54 148 | # QTF3zJvfO4OToWECtR0Nsfz3m7IBziJLVP/5BcPCIAsCAwEAAaOCAaswggGnMA8G 149 | # A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFCM0+NlSRnAK7UD7dvuzK7DDNbMPMAsG 150 | # A1UdDwQEAwIBhjAQBgkrBgEEAYI3FQEEAwIBADCBmAYDVR0jBIGQMIGNgBQOrIJg 151 | # QFYnl+UlE/wq4QpTlVnkpKFjpGEwXzETMBEGCgmSJomT8ixkARkWA2NvbTEZMBcG 152 | # CgmSJomT8ixkARkWCW1pY3Jvc29mdDEtMCsGA1UEAxMkTWljcm9zb2Z0IFJvb3Qg 153 | # Q2VydGlmaWNhdGUgQXV0aG9yaXR5ghB5rRahSqClrUxzWPQHEy5lMFAGA1UdHwRJ 154 | # MEcwRaBDoEGGP2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1 155 | # Y3RzL21pY3Jvc29mdHJvb3RjZXJ0LmNybDBUBggrBgEFBQcBAQRIMEYwRAYIKwYB 156 | # BQUHMAKGOGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljcm9z 157 | # b2Z0Um9vdENlcnQuY3J0MBMGA1UdJQQMMAoGCCsGAQUFBwMIMA0GCSqGSIb3DQEB 158 | # BQUAA4ICAQAQl4rDXANENt3ptK132855UU0BsS50cVttDBOrzr57j7gu1BKijG1i 159 | # uFcCy04gE1CZ3XpA4le7r1iaHOEdAYasu3jyi9DsOwHu4r6PCgXIjUji8FMV3U+r 160 | # kuTnjWrVgMHmlPIGL4UD6ZEqJCJw+/b85HiZLg33B+JwvBhOnY5rCnKVuKE5nGct 161 | # xVEO6mJcPxaYiyA/4gcaMvnMMUp2MT0rcgvI6nA9/4UKE9/CCmGO8Ne4F+tOi3/F 162 | # NSteo7/rvH0LQnvUU3Ih7jDKu3hlXFsBFwoUDtLaFJj1PLlmWLMtL+f5hYbMUVbo 163 | # nXCUbKw5TNT2eb+qGHpiKe+imyk0BncaYsk9Hm0fgvALxyy7z0Oz5fnsfbXjpKh0 164 | # NbhOxXEjEiZ2CzxSjHFaRkMUvLOzsE1nyJ9C/4B5IYCeFTBm6EISXhrIniIh0EPp 165 | # K+m79EjMLNTYMoBMJipIJF9a6lbvpt6Znco6b72BJ3QGEe52Ib+bgsEnVLaxaj2J 166 | # oXZhtG6hE6a/qkfwEm/9ijJssv7fUciMI8lmvZ0dhxJkAj0tr1mPuOQh5bWwymO0 167 | # eFQF1EEuUKyUsKV4q7OglnUa2ZKHE3UiLzKoCG6gW4wlv6DvhMoh1useT8ma7kng 168 | # 9wFlb4kLfchpyOZu6qeXzjEp/w7FW1zYTRuh2Povnj8uVRZryROj/TGCBIkwggSF 169 | # AgEBMIGQMHkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD 170 | # VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xIzAh 171 | # BgNVBAMTGk1pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBAhMzAAABCix5rtd5e6as 172 | # AAEAAAEKMAkGBSsOAwIaBQCggaIwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw 173 | # HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwIwYJKoZIhvcNAQkEMRYEFNWy 174 | # JYWiXrB52VhT/lC+8pUKXim8MEIGCisGAQQBgjcCAQwxNDAyoBiAFgBpAG4AcwB0 175 | # AGEAbABsAC4AcABzADGhFoAUaHR0cDovL21pY3Jvc29mdC5jb20wDQYJKoZIhvcN 176 | # AQEBBQAEggEAPijsy7fqbQghv6HRRRSMUi3S6UmVRRL/NIehIU4uTM0SniruHlUf 177 | # YBFAp5PhTCjaj2dNnFL6J4zIcaugqI3Shk6kuopA3Vd8YIiqMOc/9CJ3lRxJ3/nI 178 | # BBAAWpEYXo4xs2500Bco5TpoMUJORWUN15onwqGp+YIc/aWYX1Jtfqvb5oaiTcvI 179 | # 2OWx1dyFfpWxc56hX4eyo3Lj5l2454Z5bB40kzLX07qCgvY+MRYSd89P1uNUtBEB 180 | # qkaymzrmVkTMZaUn4YdyAHR7CfJ7sgMmiOyQ+YySDBDD6HPycGwLpdip93Bmjjfz 181 | # Yj/4ERbiVOPRRpa2GtCAsNXtPiw0SSaQJaGCAigwggIkBgkqhkiG9w0BCQYxggIV 182 | # MIICEQIBATCBjjB3MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ 183 | # MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u 184 | # MSEwHwYDVQQDExhNaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0ECEzMAAABzxlnCUpeD 185 | # ozoAAAAAAHMwCQYFKw4DAhoFAKBdMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEw 186 | # HAYJKoZIhvcNAQkFMQ8XDTE1MDYxOTAyNTk0OFowIwYJKoZIhvcNAQkEMRYEFGZQ 187 | # e8ojPYUl1DjvBan3KNtqFEJdMA0GCSqGSIb3DQEBBQUABIIBAJHjS6vTvsLIuzBU 188 | # xQdQopG+qV3hJzqh7u1uPdsknaqMLWjn9zF7Qy6q7gk17eCQ+uStUXdqMCYWqX6J 189 | # GkpaBZGZpmmQ2uEau2G6TuxdN4nVFAmlO5W+RbfLBTizjTH3/VRJsLiIHNu0JpmM 190 | # SjbuKpROk3wKYiUIsbWrHU0rpWmU6lX/xGv/zIZrMskzJ0Xas7+78S1zHeHlsoWS 191 | # TMNtcy+MJfhAfAg6AX1x9Ga7T4J2uT+zo16rMqkIgH/VGmS3+/1ZIMY92ev6BOps 192 | # smrx6ksElucvRtwE41kulKtPbziSPaIhCQyoIvvalwdjO+F0nd3lip/k4dJpUpzj 193 | # d2EmeyI= 194 | # SIG # End signature block 195 | -------------------------------------------------------------------------------- /packages/Microsoft.CodeAnalysis.Analyzers.1.0.0/tools/uninstall.ps1: -------------------------------------------------------------------------------- 1 | param($installPath, $toolsPath, $package, $project) 2 | 3 | $analyzersPaths = Join-Path (Join-Path (Split-Path -Path $toolsPath -Parent) "analyzers" ) * -Resolve 4 | 5 | foreach($analyzersPath in $analyzersPaths) 6 | { 7 | # Uninstall the language agnostic analyzers. 8 | if (Test-Path $analyzersPath) 9 | { 10 | foreach ($analyzerFilePath in Get-ChildItem $analyzersPath -Filter *.dll) 11 | { 12 | if($project.Object.AnalyzerReferences) 13 | { 14 | $project.Object.AnalyzerReferences.Remove($analyzerFilePath.FullName) 15 | } 16 | } 17 | } 18 | } 19 | 20 | # $project.Type gives the language name like (C# or VB.NET) 21 | $languageFolder = "" 22 | if($project.Type -eq "C#") 23 | { 24 | $languageFolder = "cs" 25 | } 26 | if($project.Type -eq "VB.NET") 27 | { 28 | $languageFolder = "vb" 29 | } 30 | if($languageFolder -eq "") 31 | { 32 | return 33 | } 34 | 35 | foreach($analyzersPath in $analyzersPaths) 36 | { 37 | # Uninstall language specific analyzers. 38 | $languageAnalyzersPath = join-path $analyzersPath $languageFolder 39 | if (Test-Path $languageAnalyzersPath) 40 | { 41 | foreach ($analyzerFilePath in Get-ChildItem $languageAnalyzersPath -Filter *.dll) 42 | { 43 | if($project.Object.AnalyzerReferences) 44 | { 45 | try 46 | { 47 | $project.Object.AnalyzerReferences.Remove($analyzerFilePath.FullName) 48 | } 49 | catch 50 | { 51 | 52 | } 53 | } 54 | } 55 | } 56 | } 57 | # SIG # Begin signature block 58 | # MIIapQYJKoZIhvcNAQcCoIIaljCCGpICAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB 59 | # gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR 60 | # AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUA+iPf06reDGl8vnuLnqw/MIv 61 | # 3FmgghWCMIIEwzCCA6ugAwIBAgITMwAAAHQNgGQOfWd9owAAAAAAdDANBgkqhkiG 62 | # 9w0BAQUFADB3MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G 63 | # A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEw 64 | # HwYDVQQDExhNaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EwHhcNMTUwMzIwMTczMjA1 65 | # WhcNMTYwNjIwMTczMjA1WjCBszELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp 66 | # bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw 67 | # b3JhdGlvbjENMAsGA1UECxMETU9QUjEnMCUGA1UECxMebkNpcGhlciBEU0UgRVNO 68 | # OjdEMkUtMzc4Mi1CMEY3MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT 69 | # ZXJ2aWNlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4NFrifjVvo5Y 70 | # gN/jD+4M6zszXn3GnmZHP9AerBSCDRiftpwnIvG2hpREQXSJkW8X9t+Y5jbLX3iS 71 | # 6XJ+S7kExWIUc3HGf2NBW+tk8r1cVWJGzA9ewQnEr9nxvyV94BegUO4lqkXl48Z+ 72 | # vxBZqcGPPtn77GQbY1u1p7jq681X6xtD9WWRv1D1+cEGvH2qzDfnBqmgzLH1M8wN 73 | # ssh1ZgDRbTCTR8+OomdEXhoTf/McHucPncG8SPyBgW1UauJpE8bO9ZdnMmxIyhHC 74 | # VjrW3Dpi9PwQl2RIC4pc8RbClfDLYBukA5sMyfe7kr8Ac2czHKJ673VKGUZaDH6a 75 | # W6A6HVQ16wIDAQABo4IBCTCCAQUwHQYDVR0OBBYEFCUsOGYFtEU5DmC29u69PuDd 76 | # r4wNMB8GA1UdIwQYMBaAFCM0+NlSRnAK7UD7dvuzK7DDNbMPMFQGA1UdHwRNMEsw 77 | # SaBHoEWGQ2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3Rz 78 | # L01pY3Jvc29mdFRpbWVTdGFtcFBDQS5jcmwwWAYIKwYBBQUHAQEETDBKMEgGCCsG 79 | # AQUFBzAChjxodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY3Jv 80 | # c29mdFRpbWVTdGFtcFBDQS5jcnQwEwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZI 81 | # hvcNAQEFBQADggEBAEEG50j6xJHcMBMNInjC0iPTszPL+yYh1978CncY+4Nyzu/U 82 | # LIaP4xXj1RICZ1xbN9MDe02RW0FTZgn9457fLHgJORo2HYqBocllfJx7kbIPSptB 83 | # 3cdEC2EFyUwu8rRrKKoIR+4IrGZUF1aQiMbpddAhEDh5yT+7VTDFpjmmU7/NXFbS 84 | # ThcUvGISy+lL8MWR3J2EypjWDttWFGht21OLMM+6J2V1oDFvk6N1EGDqqu7uduvl 85 | # jAup0655zzS+SR8i0MT1o+/zrjDcjohGI4ygqjyXrwfbdug2VN+Ls4mewOospGBr 86 | # 8d/DthI6rzM4elFxNTXm5AjiUZaC+b7hG4N8e2cwggTsMIID1KADAgECAhMzAAAB 87 | # Cix5rtd5e6asAAEAAAEKMA0GCSqGSIb3DQEBBQUAMHkxCzAJBgNVBAYTAlVTMRMw 88 | # EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN 89 | # aWNyb3NvZnQgQ29ycG9yYXRpb24xIzAhBgNVBAMTGk1pY3Jvc29mdCBDb2RlIFNp 90 | # Z25pbmcgUENBMB4XDTE1MDYwNDE3NDI0NVoXDTE2MDkwNDE3NDI0NVowgYMxCzAJ 91 | # BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k 92 | # MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xDTALBgNVBAsTBE1PUFIx 93 | # HjAcBgNVBAMTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjCCASIwDQYJKoZIhvcNAQEB 94 | # BQADggEPADCCAQoCggEBAJL8bza74QO5KNZG0aJhuqVG+2MWPi75R9LH7O3HmbEm 95 | # UXW92swPBhQRpGwZnsBfTVSJ5E1Q2I3NoWGldxOaHKftDXT3p1Z56Cj3U9KxemPg 96 | # 9ZSXt+zZR/hsPfMliLO8CsUEp458hUh2HGFGqhnEemKLwcI1qvtYb8VjC5NJMIEb 97 | # e99/fE+0R21feByvtveWE1LvudFNOeVz3khOPBSqlw05zItR4VzRO/COZ+owYKlN 98 | # Wp1DvdsjusAP10sQnZxN8FGihKrknKc91qPvChhIqPqxTqWYDku/8BTzAMiwSNZb 99 | # /jjXiREtBbpDAk8iAJYlrX01boRoqyAYOCj+HKIQsaUCAwEAAaOCAWAwggFcMBMG 100 | # A1UdJQQMMAoGCCsGAQUFBwMDMB0GA1UdDgQWBBSJ/gox6ibN5m3HkZG5lIyiGGE3 101 | # NDBRBgNVHREESjBIpEYwRDENMAsGA1UECxMETU9QUjEzMDEGA1UEBRMqMzE1OTUr 102 | # MDQwNzkzNTAtMTZmYS00YzYwLWI2YmYtOWQyYjFjZDA1OTg0MB8GA1UdIwQYMBaA 103 | # FMsR6MrStBZYAck3LjMWFrlMmgofMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9j 104 | # cmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY0NvZFNpZ1BDQV8w 105 | # OC0zMS0yMDEwLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6 106 | # Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljQ29kU2lnUENBXzA4LTMx 107 | # LTIwMTAuY3J0MA0GCSqGSIb3DQEBBQUAA4IBAQCmqFOR3zsB/mFdBlrrZvAM2PfZ 108 | # hNMAUQ4Q0aTRFyjnjDM4K9hDxgOLdeszkvSp4mf9AtulHU5DRV0bSePgTxbwfo/w 109 | # iBHKgq2k+6apX/WXYMh7xL98m2ntH4LB8c2OeEti9dcNHNdTEtaWUu81vRmOoECT 110 | # oQqlLRacwkZ0COvb9NilSTZUEhFVA7N7FvtH/vto/MBFXOI/Enkzou+Cxd5AGQfu 111 | # FcUKm1kFQanQl56BngNb/ErjGi4FrFBHL4z6edgeIPgF+ylrGBT6cgS3C6eaZOwR 112 | # XU9FSY0pGi370LYJU180lOAWxLnqczXoV+/h6xbDGMcGszvPYYTitkSJlKOGMIIF 113 | # vDCCA6SgAwIBAgIKYTMmGgAAAAAAMTANBgkqhkiG9w0BAQUFADBfMRMwEQYKCZIm 114 | # iZPyLGQBGRYDY29tMRkwFwYKCZImiZPyLGQBGRYJbWljcm9zb2Z0MS0wKwYDVQQD 115 | # EyRNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMTAwODMx 116 | # MjIxOTMyWhcNMjAwODMxMjIyOTMyWjB5MQswCQYDVQQGEwJVUzETMBEGA1UECBMK 117 | # V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 118 | # IENvcnBvcmF0aW9uMSMwIQYDVQQDExpNaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBD 119 | # QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJyWVwZMGS/HZpgICBC 120 | # mXZTbD4b1m/My/Hqa/6XFhDg3zp0gxq3L6Ay7P/ewkJOI9VyANs1VwqJyq4gSfTw 121 | # aKxNS42lvXlLcZtHB9r9Jd+ddYjPqnNEf9eB2/O98jakyVxF3K+tPeAoaJcap6Vy 122 | # c1bxF5Tk/TWUcqDWdl8ed0WDhTgW0HNbBbpnUo2lsmkv2hkL/pJ0KeJ2L1TdFDBZ 123 | # +NKNYv3LyV9GMVC5JxPkQDDPcikQKCLHN049oDI9kM2hOAaFXE5WgigqBTK3S9dP 124 | # Y+fSLWLxRT3nrAgA9kahntFbjCZT6HqqSvJGzzc8OJ60d1ylF56NyxGPVjzBrAlf 125 | # A9MCAwEAAaOCAV4wggFaMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMsR6MrS 126 | # tBZYAck3LjMWFrlMmgofMAsGA1UdDwQEAwIBhjASBgkrBgEEAYI3FQEEBQIDAQAB 127 | # MCMGCSsGAQQBgjcVAgQWBBT90TFO0yaKleGYYDuoMW+mPLzYLTAZBgkrBgEEAYI3 128 | # FAIEDB4KAFMAdQBiAEMAQTAfBgNVHSMEGDAWgBQOrIJgQFYnl+UlE/wq4QpTlVnk 129 | # pDBQBgNVHR8ESTBHMEWgQ6BBhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtp 130 | # L2NybC9wcm9kdWN0cy9taWNyb3NvZnRyb290Y2VydC5jcmwwVAYIKwYBBQUHAQEE 131 | # SDBGMEQGCCsGAQUFBzAChjhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2Nl 132 | # cnRzL01pY3Jvc29mdFJvb3RDZXJ0LmNydDANBgkqhkiG9w0BAQUFAAOCAgEAWTk+ 133 | # fyZGr+tvQLEytWrrDi9uqEn361917Uw7LddDrQv+y+ktMaMjzHxQmIAhXaw9L0y6 134 | # oqhWnONwu7i0+Hm1SXL3PupBf8rhDBdpy6WcIC36C1DEVs0t40rSvHDnqA2iA6VW 135 | # 4LiKS1fylUKc8fPv7uOGHzQ8uFaa8FMjhSqkghyT4pQHHfLiTviMocroE6WRTsgb 136 | # 0o9ylSpxbZsa+BzwU9ZnzCL/XB3Nooy9J7J5Y1ZEolHN+emjWFbdmwJFRC9f9Nqu 137 | # 1IIybvyklRPk62nnqaIsvsgrEA5ljpnb9aL6EiYJZTiU8XofSrvR4Vbo0HiWGFzJ 138 | # NRZf3ZMdSY4tvq00RBzuEBUaAF3dNVshzpjHCe6FDoxPbQ4TTj18KUicctHzbMrB 139 | # 7HCjV5JXfZSNoBtIA1r3z6NnCnSlNu0tLxfI5nI3EvRvsTxngvlSso0zFmUeDord 140 | # EN5k9G/ORtTTF+l5xAS00/ss3x+KnqwK+xMnQK3k+eGpf0a7B2BHZWBATrBC7E7t 141 | # s3Z52Ao0CW0cgDEf4g5U3eWh++VHEK1kmP9QFi58vwUheuKVQSdpw5OPlcmN2Jsh 142 | # rg1cnPCiroZogwxqLbt2awAdlq3yFnv2FoMkuYjPaqhHMS+a3ONxPdcAfmJH0c6I 143 | # ybgY+g5yjcGjPa8CQGr/aZuW4hCoELQ3UAjWwz0wggYHMIID76ADAgECAgphFmg0 144 | # AAAAAAAcMA0GCSqGSIb3DQEBBQUAMF8xEzARBgoJkiaJk/IsZAEZFgNjb20xGTAX 145 | # BgoJkiaJk/IsZAEZFgltaWNyb3NvZnQxLTArBgNVBAMTJE1pY3Jvc29mdCBSb290 146 | # IENlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0wNzA0MDMxMjUzMDlaFw0yMTA0MDMx 147 | # MzAzMDlaMHcxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD 148 | # VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xITAf 149 | # BgNVBAMTGE1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQTCCASIwDQYJKoZIhvcNAQEB 150 | # BQADggEPADCCAQoCggEBAJ+hbLHf20iSKnxrLhnhveLjxZlRI1Ctzt0YTiQP7tGn 151 | # 0UytdDAgEesH1VSVFUmUG0KSrphcMCbaAGvoe73siQcP9w4EmPCJzB/LMySHnfL0 152 | # Zxws/HvniB3q506jocEjU8qN+kXPCdBer9CwQgSi+aZsk2fXKNxGU7CG0OUoRi4n 153 | # rIZPVVIM5AMs+2qQkDBuh/NZMJ36ftaXs+ghl3740hPzCLdTbVK0RZCfSABKR2YR 154 | # JylmqJfk0waBSqL5hKcRRxQJgp+E7VV4/gGaHVAIhQAQMEbtt94jRrvELVSfrx54 155 | # QTF3zJvfO4OToWECtR0Nsfz3m7IBziJLVP/5BcPCIAsCAwEAAaOCAaswggGnMA8G 156 | # A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFCM0+NlSRnAK7UD7dvuzK7DDNbMPMAsG 157 | # A1UdDwQEAwIBhjAQBgkrBgEEAYI3FQEEAwIBADCBmAYDVR0jBIGQMIGNgBQOrIJg 158 | # QFYnl+UlE/wq4QpTlVnkpKFjpGEwXzETMBEGCgmSJomT8ixkARkWA2NvbTEZMBcG 159 | # CgmSJomT8ixkARkWCW1pY3Jvc29mdDEtMCsGA1UEAxMkTWljcm9zb2Z0IFJvb3Qg 160 | # Q2VydGlmaWNhdGUgQXV0aG9yaXR5ghB5rRahSqClrUxzWPQHEy5lMFAGA1UdHwRJ 161 | # MEcwRaBDoEGGP2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1 162 | # Y3RzL21pY3Jvc29mdHJvb3RjZXJ0LmNybDBUBggrBgEFBQcBAQRIMEYwRAYIKwYB 163 | # BQUHMAKGOGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljcm9z 164 | # b2Z0Um9vdENlcnQuY3J0MBMGA1UdJQQMMAoGCCsGAQUFBwMIMA0GCSqGSIb3DQEB 165 | # BQUAA4ICAQAQl4rDXANENt3ptK132855UU0BsS50cVttDBOrzr57j7gu1BKijG1i 166 | # uFcCy04gE1CZ3XpA4le7r1iaHOEdAYasu3jyi9DsOwHu4r6PCgXIjUji8FMV3U+r 167 | # kuTnjWrVgMHmlPIGL4UD6ZEqJCJw+/b85HiZLg33B+JwvBhOnY5rCnKVuKE5nGct 168 | # xVEO6mJcPxaYiyA/4gcaMvnMMUp2MT0rcgvI6nA9/4UKE9/CCmGO8Ne4F+tOi3/F 169 | # NSteo7/rvH0LQnvUU3Ih7jDKu3hlXFsBFwoUDtLaFJj1PLlmWLMtL+f5hYbMUVbo 170 | # nXCUbKw5TNT2eb+qGHpiKe+imyk0BncaYsk9Hm0fgvALxyy7z0Oz5fnsfbXjpKh0 171 | # NbhOxXEjEiZ2CzxSjHFaRkMUvLOzsE1nyJ9C/4B5IYCeFTBm6EISXhrIniIh0EPp 172 | # K+m79EjMLNTYMoBMJipIJF9a6lbvpt6Znco6b72BJ3QGEe52Ib+bgsEnVLaxaj2J 173 | # oXZhtG6hE6a/qkfwEm/9ijJssv7fUciMI8lmvZ0dhxJkAj0tr1mPuOQh5bWwymO0 174 | # eFQF1EEuUKyUsKV4q7OglnUa2ZKHE3UiLzKoCG6gW4wlv6DvhMoh1useT8ma7kng 175 | # 9wFlb4kLfchpyOZu6qeXzjEp/w7FW1zYTRuh2Povnj8uVRZryROj/TGCBI0wggSJ 176 | # AgEBMIGQMHkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD 177 | # VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xIzAh 178 | # BgNVBAMTGk1pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBAhMzAAABCix5rtd5e6as 179 | # AAEAAAEKMAkGBSsOAwIaBQCggaYwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw 180 | # HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwIwYJKoZIhvcNAQkEMRYEFHxv 181 | # QEFmGVD4yYwxkgEb+6vYK1SsMEYGCisGAQQBgjcCAQwxODA2oByAGgB1AG4AaQBu 182 | # AHMAdABhAGwAbAAuAHAAcwAxoRaAFGh0dHA6Ly9taWNyb3NvZnQuY29tMA0GCSqG 183 | # SIb3DQEBAQUABIIBAIQVySydDm+61yXfwvTRQm9YV2k/tk6GJYRhfMIfUkKD3ysR 184 | # wEN+nXa15Lk6exFXkTnD4O0UxJQUXUso3SfpPmUifQ6fMJYxPsXnyHENiWXsdQ8r 185 | # 5DXgbByYcJS0QsHBxv6wNUAa3UOCV4znYZ4DQ+MY/L4QT9hN7kC7kOHuF0F6Kohz 186 | # 22KHpUwnw5tH+EqjP3oUla0NdrMHJEKAUDaAJ5sVuHIJOiOTbv34x7hd2fty8Gv9 187 | # VJ1KW8Kwv/k6PXzf0u9kpDtw5K5IjPwBgrY+Ds/ufuqLdNNfECHO7LhP//fUtmAz 188 | # qv0r+3LC0ro6Fp1nruAvRpXvtrGMDGy8hk5ofK+hggIoMIICJAYJKoZIhvcNAQkG 189 | # MYICFTCCAhECAQEwgY4wdzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0 190 | # b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh 191 | # dGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBAhMzAAAAdA2A 192 | # ZA59Z32jAAAAAAB0MAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcN 193 | # AQcBMBwGCSqGSIb3DQEJBTEPFw0xNTA2MTkwMjU5NDhaMCMGCSqGSIb3DQEJBDEW 194 | # BBS3ur37KGDNwz4wbagIdT/bQ0V7eDANBgkqhkiG9w0BAQUFAASCAQCcfMVGV2cj 195 | # D1Zp77HKsBOTX7x6b9fgXDytnkbjr9hT4nydyIh1qCEFpCBjFi59iEAbMDEvv9M8 196 | # YsSesU0pi0PjGX//XEzfYqQ5C+j7D91PSLG8JbWXq0PT20LHBOyiyJ4/dl6flfeN 197 | # BAlw1RS6xyNdSsczoLfq71p4OI3Ob5VFy9cfNqBhiYV9NqpOzUh6toJH2Q4gyn8B 198 | # AeKTws6OU0lgc19mw0ezTMULb3NeOuowY9PMF6GcR4Btu9+zq5T0E89PUXE/wr6x 199 | # LYAAyX43lASSLOB8t6xZP/getsRkA7dCWZsrzQzhsyxdE4Krb1QY1esNMaB0t2zO 200 | # yHkt4p+Ldz8C 201 | # SIG # End signature block 202 | -------------------------------------------------------------------------------- /packages/Microsoft.Composition.1.0.27/License-Stable.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Tahoma;}{\f1\froman\fprq2\fcharset0 Times New Roman;}{\f2\fswiss\fprq2\fcharset0 Calibri;}{\f3\fnil\fcharset0 Calibri;}{\f4\fnil\fcharset2 Symbol;}} 2 | {\colortbl ;\red31\green73\blue125;\red0\green0\blue255;} 3 | {\*\listtable 4 | {\list\listhybrid 5 | {\listlevel\levelnfc0\leveljc0\levelstartat1{\leveltext\'02\'00.;}{\levelnumbers\'01;}\jclisttab\tx360} 6 | {\listlevel\levelnfc4\leveljc0\levelstartat1{\leveltext\'02\'01.;}{\levelnumbers\'01;}\jclisttab\tx363} 7 | {\listlevel\levelnfc2\leveljc0\levelstartat1{\leveltext\'02\'02.;}{\levelnumbers\'01;}\jclisttab\tx720}\listid1 } 8 | {\list\listhybrid 9 | {\listlevel\levelnfc0\leveljc0\levelstartat1{\leveltext\'02\'00.;}{\levelnumbers\'01;}\jclisttab\tx363} 10 | {\listlevel\levelnfc4\leveljc0\levelstartat1{\leveltext\'02\'01.;}{\levelnumbers\'01;}\jclisttab\tx363}\listid2 }} 11 | {\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}} 12 | {\stylesheet{ Normal;}{\s1 heading 1;}{\s2 heading 2;}{\s3 heading 3;}} 13 | {\*\generator Riched20 6.2.9200}\viewkind4\uc1 14 | \pard\nowidctlpar\sb120\sa120\b\f0\fs24 MICROSOFT SOFTWARE LICENSE TERMS\par 15 | 16 | \pard\brdrb\brdrs\brdrw10\brsp20 \nowidctlpar\sb120\sa120 MICROSOFT .NET LIBRARY \par 17 | 18 | \pard\nowidctlpar\sb120\sa120\fs19 These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft\par 19 | 20 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent363{\pntxtb\'B7}}\nowidctlpar\fi-363\li720\sb120\sa120\b0 updates,\par 21 | {\pntext\f4\'B7\tab}supplements,\par 22 | {\pntext\f4\'B7\tab}Internet-based services, and\par 23 | {\pntext\f4\'B7\tab}support services\par 24 | 25 | \pard\nowidctlpar\sb120\sa120\b for this software, unless other terms accompany those items. If so, those terms apply.\par 26 | BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE.\par 27 | 28 | \pard\brdrt\brdrs\brdrw10\brsp20 \nowidctlpar\sb120\sa120 IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE PERPETUAL RIGHTS BELOW.\par 29 | 30 | \pard 31 | {\listtext\f0 1.\tab}\jclisttab\tx360\ls1\nowidctlpar\s1\fi-357\li357\sb120\sa120 INSTALLATION AND USE RIGHTS. \par 32 | 33 | \pard 34 | {\listtext\f0 a.\tab}\jclisttab\tx363\ls1\ilvl1\nowidctlpar\s2\fi-363\li720\sb120\sa120 Installation and Use.\b0\fs20 You may install and use any number of copies of the software to design, develop and test your programs.\par 35 | {\listtext\f0 b.\tab}\b\fs19 Third Party Programs.\b0\fs20 The software may include third party programs that Microsoft, not the third party, licenses to you under this agreement. Notices, if any, for the third party program are included for your information only.\b\fs19\par 36 | 37 | \pard 38 | {\listtext\f0 2.\tab}\jclisttab\tx360\ls1\nowidctlpar\s1\fi-357\li357\sb120\sa120\fs20 ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS.\par 39 | 40 | \pard 41 | {\listtext\f0 a.\tab}\jclisttab\tx363\ls1\ilvl1\nowidctlpar\s2\fi-363\li720\sb120\sa120 DISTRIBUTABLE CODE.\~ \b0 The software is comprised of Distributable Code. \f1\ldblquote\f0 Distributable Code\f1\rdblquote\f0 is code that you are permitted to distribute in programs you develop if you comply with the terms below.\b\par 42 | 43 | \pard 44 | {\listtext\f0 i.\tab}\jclisttab\tx720\ls1\ilvl2\nowidctlpar\s3\fi-357\li1077\sb120\sa120\tx1077 Right to Use and Distribute. \par 45 | 46 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent360{\pntxtb\'B7}}\nowidctlpar\fi-357\li1434\sb120\sa120\b0 You may copy and distribute the object code form of the software.\par 47 | {\pntext\f4\'B7\tab}Third Party Distribution. You may permit distributors of your programs to copy and distribute the Distributable Code as part of those programs.\par 48 | 49 | \pard\nowidctlpar\s3\fi-357\li1077\sb120\sa120\tx1077\b ii.\tab Distribution Requirements.\b0 \b For any Distributable Code you distribute, you must\par 50 | 51 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent360{\pntxtb\'B7}}\nowidctlpar\fi-357\li1434\sb120\sa120\b0 add significant primary functionality to it in your programs;\par 52 | {\pntext\f4\'B7\tab}require distributors and external end users to agree to terms that protect it at least as much as this agreement;\par 53 | {\pntext\f4\'B7\tab}display your valid copyright notice on your programs; and\par 54 | {\pntext\f4\'B7\tab}indemnify, defend, and hold harmless Microsoft from any claims, including attorneys\rquote fees, related to the distribution or use of your programs.\par 55 | 56 | \pard\nowidctlpar\s3\fi-357\li1077\sb120\sa120\tx1077\b iii.\tab Distribution Restrictions.\b0 \b You may not\par 57 | 58 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent360{\pntxtb\'B7}}\nowidctlpar\fi-357\li1434\sb120\sa120\b0 alter any copyright, trademark or patent notice in the Distributable Code;\par 59 | {\pntext\f4\'B7\tab}use Microsoft\rquote s trademarks in your programs\rquote names or in a way that suggests your programs come from or are endorsed by Microsoft;\par 60 | {\pntext\f4\'B7\tab}include Distributable Code in malicious, deceptive or unlawful programs; or\par 61 | {\pntext\f4\'B7\tab}modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that\par 62 | 63 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent360{\pntxtb\'B7}}\nowidctlpar\fi-358\li1792\sb120\sa120 the code be disclosed or distributed in source code form; or\cf1\f2\par 64 | {\pntext\f4\'B7\tab}\cf0\f0 others have the right to modify it.\cf1\f2\par 65 | 66 | \pard\nowidctlpar\s1\fi-357\li357\sb120\sa120\cf0\b\f0 3.\tab\fs19 SCOPE OF LICENSE. \b0 The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not\par 67 | 68 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent363{\pntxtb\'B7}}\nowidctlpar\fi-363\li720\sb120\sa120 work around any technical limitations in the software;\par 69 | {\pntext\f4\'B7\tab}reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation;\par 70 | {\pntext\f4\'B7\tab}publish the software for others to copy;\par 71 | {\pntext\f4\'B7\tab}rent, lease or lend the software;\par 72 | {\pntext\f4\'B7\tab}transfer the software or this agreement to any third party; or\par 73 | {\pntext\f4\'B7\tab}use the software for commercial software hosting services.\par 74 | 75 | \pard\nowidctlpar\s1\fi-357\li357\sb120\sa120\b\fs20 4.\tab\fs19 BACKUP COPY. \b0 You may make one backup copy of the software. You may use it only to reinstall the software.\par 76 | \b\fs20 5.\tab\fs19 DOCUMENTATION. \b0 Any person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes.\par 77 | \b\fs20 6.\tab\fs19 EXPORT RESTRICTIONS. \b0 The software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see {\cf2\ul\fs20{\field{\*\fldinst{HYPERLINK www.microsoft.com/exporting }}{\fldrslt{www.microsoft.com/exporting}}}}\f0\fs19 .\cf2\ul\fs20\par 78 | \cf0\ulnone\b 7.\tab\fs19 SUPPORT SERVICES. \b0 Because this software is \ldblquote as is,\rdblquote we may not provide support services for it.\par 79 | \b\fs20 8.\tab\fs19 ENTIRE AGREEMENT. \b0 This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services.\par 80 | \b\fs20 9.\tab\fs19 APPLICABLE LAW.\par 81 | 82 | \pard 83 | {\listtext\f0 a.\tab}\jclisttab\tx363\ls2\ilvl1\nowidctlpar\s2\fi-363\li720\sb120\sa120 United States. \b0 If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort.\par 84 | {\listtext\f0 b.\tab}\b Outside the United States. If you acquired the software in any other country, the laws of that country apply.\par 85 | 86 | \pard\nowidctlpar\s1\fi-357\li357\sb120\sa120\fs20 10.\tab\fs19 LEGAL EFFECT. \b0 This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so.\par 87 | \b\fs20 11.\tab\fs19 DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED \ldblquote AS-IS.\rdblquote YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. YOU MAY HAVE ADDITIONAL CONSUMER RIGHTS OR STATUTORY GUARANTEES UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.\par 88 | 89 | \pard\nowidctlpar\li357\sb120\sa120 FOR AUSTRALIA \endash YOU HAVE STATUTORY GUARANTEES UNDER THE AUSTRALIAN CONSUMER LAW AND NOTHING IN THESE TERMS IS INTENDED TO AFFECT THOSE RIGHTS.\par 90 | 91 | \pard\nowidctlpar\s1\fi-357\li357\sb120\sa120\fs20 12.\tab\fs19 LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.\par 92 | 93 | \pard\nowidctlpar\li357\sb120\sa120\b0 This limitation applies to\par 94 | 95 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent363{\pntxtb\'B7}}\nowidctlpar\fi-363\li720\sb120\sa120 anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and\par 96 | {\pntext\f4\'B7\tab}claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law.\par 97 | 98 | \pard\nowidctlpar\sb120\sa120 It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages.\par 99 | \lang9 Please note: As this software is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French.\par 100 | Remarque : Ce logiciel \'e9tant distribu\'e9 au Qu\'e9bec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en fran\'e7ais.\par 101 | 102 | \pard\nowidctlpar\s1\sb120\sa120\b\lang1033 EXON\'c9RATION DE GARANTIE. \b0 Le logiciel vis\'e9 par une licence est offert \'ab tel quel \'bb. Toute utilisation de ce logiciel est \'e0 votre seule risque et p\'e9ril. Microsoft n\rquote accorde aucune autre garantie expresse. Vous pouvez b\'e9n\'e9ficier de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualit\'e9 marchande, d\rquote ad\'e9quation \'e0 un usage particulier et d\rquote absence de contrefa\'e7on sont exclues.\par 103 | \b LIMITATION DES DOMMAGES-INT\'c9R\'caTS ET EXCLUSION DE RESPONSABILIT\'c9 POUR LES DOMMAGES. \b0 Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement \'e0 hauteur de 5,00 $ US. Vous ne pouvez pr\'e9tendre \'e0 aucune indemnisation pour les autres dommages, y compris les dommages sp\'e9ciaux, indirects ou accessoires et pertes de b\'e9n\'e9fices.\par 104 | 105 | \pard\nowidctlpar\sb120\sa120\lang9 Cette limitation concerne :\par 106 | 107 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent360{\pntxtb\'B7}}\nowidctlpar\li720\sb120\sa120 tout ce qui est reli\'e9 au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et\par 108 | {\pntext\f4\'B7\tab}les r\'e9clamations au titre de violation de contrat ou de garantie, ou au titre de responsabilit\'e9 stricte, de n\'e9gligence ou d\rquote une autre faute dans la limite autoris\'e9e par la loi en vigueur.\par 109 | 110 | \pard\nowidctlpar\sb120\sa120 Elle s\rquote applique \'e9galement, m\'eame si Microsoft connaissait ou devrait conna\'eetre l\rquote\'e9ventualit\'e9 d\rquote un tel dommage. Si votre pays n\rquote autorise pas l\rquote exclusion ou la limitation de responsabilit\'e9 pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l\rquote exclusion ci-dessus ne s\rquote appliquera pas \'e0 votre \'e9gard.\par 111 | 112 | \pard\nowidctlpar\s1\sb120\sa120\b\lang1033 EFFET JURIDIQUE. \b0 Le pr\'e9sent contrat d\'e9crit certains droits juridiques. Vous pourriez avoir d\rquote autres droits pr\'e9vus par les lois de votre pays. Le pr\'e9sent contrat ne modifie pas les droits que vous conf\'e8rent les lois de votre pays si celles-ci ne le permettent pas.\par 113 | 114 | \pard\nowidctlpar\sb120\sa120\b\fs20\lang1036\par 115 | 116 | \pard\sa200\sl276\slmult1\b0\f3\fs22\lang9\par 117 | } 118 | -------------------------------------------------------------------------------- /packages/System.Reflection.Metadata.1.0.21/License-Stable.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Tahoma;}{\f1\froman\fprq2\fcharset0 Times New Roman;}{\f2\fswiss\fprq2\fcharset0 Calibri;}{\f3\fnil\fcharset0 Calibri;}{\f4\fnil\fcharset2 Symbol;}} 2 | {\colortbl ;\red31\green73\blue125;\red0\green0\blue255;} 3 | {\*\listtable 4 | {\list\listhybrid 5 | {\listlevel\levelnfc0\leveljc0\levelstartat1{\leveltext\'02\'00.;}{\levelnumbers\'01;}\jclisttab\tx360} 6 | {\listlevel\levelnfc4\leveljc0\levelstartat1{\leveltext\'02\'01.;}{\levelnumbers\'01;}\jclisttab\tx363} 7 | {\listlevel\levelnfc2\leveljc0\levelstartat1{\leveltext\'02\'02.;}{\levelnumbers\'01;}\jclisttab\tx720}\listid1 } 8 | {\list\listhybrid 9 | {\listlevel\levelnfc0\leveljc0\levelstartat1{\leveltext\'02\'00.;}{\levelnumbers\'01;}\jclisttab\tx363} 10 | {\listlevel\levelnfc4\leveljc0\levelstartat1{\leveltext\'02\'01.;}{\levelnumbers\'01;}\jclisttab\tx363}\listid2 }} 11 | {\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}} 12 | {\stylesheet{ Normal;}{\s1 heading 1;}{\s2 heading 2;}{\s3 heading 3;}} 13 | {\*\generator Riched20 6.2.9200}\viewkind4\uc1 14 | \pard\nowidctlpar\sb120\sa120\b\f0\fs24 MICROSOFT SOFTWARE LICENSE TERMS\par 15 | 16 | \pard\brdrb\brdrs\brdrw10\brsp20 \nowidctlpar\sb120\sa120 MICROSOFT .NET LIBRARY \par 17 | 18 | \pard\nowidctlpar\sb120\sa120\fs19 These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft\par 19 | 20 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent363{\pntxtb\'B7}}\nowidctlpar\fi-363\li720\sb120\sa120\b0 updates,\par 21 | {\pntext\f4\'B7\tab}supplements,\par 22 | {\pntext\f4\'B7\tab}Internet-based services, and\par 23 | {\pntext\f4\'B7\tab}support services\par 24 | 25 | \pard\nowidctlpar\sb120\sa120\b for this software, unless other terms accompany those items. If so, those terms apply.\par 26 | BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE.\par 27 | 28 | \pard\brdrt\brdrs\brdrw10\brsp20 \nowidctlpar\sb120\sa120 IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE PERPETUAL RIGHTS BELOW.\par 29 | 30 | \pard 31 | {\listtext\f0 1.\tab}\jclisttab\tx360\ls1\nowidctlpar\s1\fi-357\li357\sb120\sa120 INSTALLATION AND USE RIGHTS. \par 32 | 33 | \pard 34 | {\listtext\f0 a.\tab}\jclisttab\tx363\ls1\ilvl1\nowidctlpar\s2\fi-363\li720\sb120\sa120 Installation and Use.\b0\fs20 You may install and use any number of copies of the software to design, develop and test your programs.\par 35 | {\listtext\f0 b.\tab}\b\fs19 Third Party Programs.\b0\fs20 The software may include third party programs that Microsoft, not the third party, licenses to you under this agreement. Notices, if any, for the third party program are included for your information only.\b\fs19\par 36 | 37 | \pard 38 | {\listtext\f0 2.\tab}\jclisttab\tx360\ls1\nowidctlpar\s1\fi-357\li357\sb120\sa120\fs20 ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS.\par 39 | 40 | \pard 41 | {\listtext\f0 a.\tab}\jclisttab\tx363\ls1\ilvl1\nowidctlpar\s2\fi-363\li720\sb120\sa120 DISTRIBUTABLE CODE.\~ \b0 The software is comprised of Distributable Code. \f1\ldblquote\f0 Distributable Code\f1\rdblquote\f0 is code that you are permitted to distribute in programs you develop if you comply with the terms below.\b\par 42 | 43 | \pard 44 | {\listtext\f0 i.\tab}\jclisttab\tx720\ls1\ilvl2\nowidctlpar\s3\fi-357\li1077\sb120\sa120\tx1077 Right to Use and Distribute. \par 45 | 46 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent360{\pntxtb\'B7}}\nowidctlpar\fi-357\li1434\sb120\sa120\b0 You may copy and distribute the object code form of the software.\par 47 | {\pntext\f4\'B7\tab}Third Party Distribution. You may permit distributors of your programs to copy and distribute the Distributable Code as part of those programs.\par 48 | 49 | \pard\nowidctlpar\s3\fi-357\li1077\sb120\sa120\tx1077\b ii.\tab Distribution Requirements.\b0 \b For any Distributable Code you distribute, you must\par 50 | 51 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent360{\pntxtb\'B7}}\nowidctlpar\fi-357\li1434\sb120\sa120\b0 add significant primary functionality to it in your programs;\par 52 | {\pntext\f4\'B7\tab}require distributors and external end users to agree to terms that protect it at least as much as this agreement;\par 53 | {\pntext\f4\'B7\tab}display your valid copyright notice on your programs; and\par 54 | {\pntext\f4\'B7\tab}indemnify, defend, and hold harmless Microsoft from any claims, including attorneys\rquote fees, related to the distribution or use of your programs.\par 55 | 56 | \pard\nowidctlpar\s3\fi-357\li1077\sb120\sa120\tx1077\b iii.\tab Distribution Restrictions.\b0 \b You may not\par 57 | 58 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent360{\pntxtb\'B7}}\nowidctlpar\fi-357\li1434\sb120\sa120\b0 alter any copyright, trademark or patent notice in the Distributable Code;\par 59 | {\pntext\f4\'B7\tab}use Microsoft\rquote s trademarks in your programs\rquote names or in a way that suggests your programs come from or are endorsed by Microsoft;\par 60 | {\pntext\f4\'B7\tab}include Distributable Code in malicious, deceptive or unlawful programs; or\par 61 | {\pntext\f4\'B7\tab}modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that\par 62 | 63 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent360{\pntxtb\'B7}}\nowidctlpar\fi-358\li1792\sb120\sa120 the code be disclosed or distributed in source code form; or\cf1\f2\par 64 | {\pntext\f4\'B7\tab}\cf0\f0 others have the right to modify it.\cf1\f2\par 65 | 66 | \pard\nowidctlpar\s1\fi-357\li357\sb120\sa120\cf0\b\f0 3.\tab\fs19 SCOPE OF LICENSE. \b0 The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not\par 67 | 68 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent363{\pntxtb\'B7}}\nowidctlpar\fi-363\li720\sb120\sa120 work around any technical limitations in the software;\par 69 | {\pntext\f4\'B7\tab}reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation;\par 70 | {\pntext\f4\'B7\tab}publish the software for others to copy;\par 71 | {\pntext\f4\'B7\tab}rent, lease or lend the software;\par 72 | {\pntext\f4\'B7\tab}transfer the software or this agreement to any third party; or\par 73 | {\pntext\f4\'B7\tab}use the software for commercial software hosting services.\par 74 | 75 | \pard\nowidctlpar\s1\fi-357\li357\sb120\sa120\b\fs20 4.\tab\fs19 BACKUP COPY. \b0 You may make one backup copy of the software. You may use it only to reinstall the software.\par 76 | \b\fs20 5.\tab\fs19 DOCUMENTATION. \b0 Any person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes.\par 77 | \b\fs20 6.\tab\fs19 EXPORT RESTRICTIONS. \b0 The software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see {\cf2\ul\fs20{\field{\*\fldinst{HYPERLINK www.microsoft.com/exporting }}{\fldrslt{www.microsoft.com/exporting}}}}\f0\fs19 .\cf2\ul\fs20\par 78 | \cf0\ulnone\b 7.\tab\fs19 SUPPORT SERVICES. \b0 Because this software is \ldblquote as is,\rdblquote we may not provide support services for it.\par 79 | \b\fs20 8.\tab\fs19 ENTIRE AGREEMENT. \b0 This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services.\par 80 | \b\fs20 9.\tab\fs19 APPLICABLE LAW.\par 81 | 82 | \pard 83 | {\listtext\f0 a.\tab}\jclisttab\tx363\ls2\ilvl1\nowidctlpar\s2\fi-363\li720\sb120\sa120 United States. \b0 If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort.\par 84 | {\listtext\f0 b.\tab}\b Outside the United States. If you acquired the software in any other country, the laws of that country apply.\par 85 | 86 | \pard\nowidctlpar\s1\fi-357\li357\sb120\sa120\fs20 10.\tab\fs19 LEGAL EFFECT. \b0 This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so.\par 87 | \b\fs20 11.\tab\fs19 DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED \ldblquote AS-IS.\rdblquote YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. YOU MAY HAVE ADDITIONAL CONSUMER RIGHTS OR STATUTORY GUARANTEES UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.\par 88 | 89 | \pard\nowidctlpar\li357\sb120\sa120 FOR AUSTRALIA \endash YOU HAVE STATUTORY GUARANTEES UNDER THE AUSTRALIAN CONSUMER LAW AND NOTHING IN THESE TERMS IS INTENDED TO AFFECT THOSE RIGHTS.\par 90 | 91 | \pard\nowidctlpar\s1\fi-357\li357\sb120\sa120\fs20 12.\tab\fs19 LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.\par 92 | 93 | \pard\nowidctlpar\li357\sb120\sa120\b0 This limitation applies to\par 94 | 95 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent363{\pntxtb\'B7}}\nowidctlpar\fi-363\li720\sb120\sa120 anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and\par 96 | {\pntext\f4\'B7\tab}claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law.\par 97 | 98 | \pard\nowidctlpar\sb120\sa120 It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages.\par 99 | \lang9 Please note: As this software is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French.\par 100 | Remarque : Ce logiciel \'e9tant distribu\'e9 au Qu\'e9bec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en fran\'e7ais.\par 101 | 102 | \pard\nowidctlpar\s1\sb120\sa120\b\lang1033 EXON\'c9RATION DE GARANTIE. \b0 Le logiciel vis\'e9 par une licence est offert \'ab tel quel \'bb. Toute utilisation de ce logiciel est \'e0 votre seule risque et p\'e9ril. Microsoft n\rquote accorde aucune autre garantie expresse. Vous pouvez b\'e9n\'e9ficier de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualit\'e9 marchande, d\rquote ad\'e9quation \'e0 un usage particulier et d\rquote absence de contrefa\'e7on sont exclues.\par 103 | \b LIMITATION DES DOMMAGES-INT\'c9R\'caTS ET EXCLUSION DE RESPONSABILIT\'c9 POUR LES DOMMAGES. \b0 Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement \'e0 hauteur de 5,00 $ US. Vous ne pouvez pr\'e9tendre \'e0 aucune indemnisation pour les autres dommages, y compris les dommages sp\'e9ciaux, indirects ou accessoires et pertes de b\'e9n\'e9fices.\par 104 | 105 | \pard\nowidctlpar\sb120\sa120\lang9 Cette limitation concerne :\par 106 | 107 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent360{\pntxtb\'B7}}\nowidctlpar\li720\sb120\sa120 tout ce qui est reli\'e9 au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et\par 108 | {\pntext\f4\'B7\tab}les r\'e9clamations au titre de violation de contrat ou de garantie, ou au titre de responsabilit\'e9 stricte, de n\'e9gligence ou d\rquote une autre faute dans la limite autoris\'e9e par la loi en vigueur.\par 109 | 110 | \pard\nowidctlpar\sb120\sa120 Elle s\rquote applique \'e9galement, m\'eame si Microsoft connaissait ou devrait conna\'eetre l\rquote\'e9ventualit\'e9 d\rquote un tel dommage. Si votre pays n\rquote autorise pas l\rquote exclusion ou la limitation de responsabilit\'e9 pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l\rquote exclusion ci-dessus ne s\rquote appliquera pas \'e0 votre \'e9gard.\par 111 | 112 | \pard\nowidctlpar\s1\sb120\sa120\b\lang1033 EFFET JURIDIQUE. \b0 Le pr\'e9sent contrat d\'e9crit certains droits juridiques. Vous pourriez avoir d\rquote autres droits pr\'e9vus par les lois de votre pays. Le pr\'e9sent contrat ne modifie pas les droits que vous conf\'e8rent les lois de votre pays si celles-ci ne le permettent pas.\par 113 | 114 | \pard\nowidctlpar\sb120\sa120\b\fs20\lang1036\par 115 | 116 | \pard\sa200\sl276\slmult1\b0\f3\fs22\lang9\par 117 | } 118 | -------------------------------------------------------------------------------- /packages/System.Collections.Immutable.1.1.36/License-Stable.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Tahoma;}{\f1\froman\fprq2\fcharset0 Times New Roman;}{\f2\fswiss\fprq2\fcharset0 Calibri;}{\f3\fnil\fcharset0 Calibri;}{\f4\fnil\fcharset2 Symbol;}} 2 | {\colortbl ;\red31\green73\blue125;\red0\green0\blue255;} 3 | {\*\listtable 4 | {\list\listhybrid 5 | {\listlevel\levelnfc0\leveljc0\levelstartat1{\leveltext\'02\'00.;}{\levelnumbers\'01;}\jclisttab\tx360} 6 | {\listlevel\levelnfc4\leveljc0\levelstartat1{\leveltext\'02\'01.;}{\levelnumbers\'01;}\jclisttab\tx363} 7 | {\listlevel\levelnfc2\leveljc0\levelstartat1{\leveltext\'02\'02.;}{\levelnumbers\'01;}\jclisttab\tx720}\listid1 } 8 | {\list\listhybrid 9 | {\listlevel\levelnfc0\leveljc0\levelstartat1{\leveltext\'02\'00.;}{\levelnumbers\'01;}\jclisttab\tx363} 10 | {\listlevel\levelnfc4\leveljc0\levelstartat1{\leveltext\'02\'01.;}{\levelnumbers\'01;}\jclisttab\tx363}\listid2 }} 11 | {\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}} 12 | {\stylesheet{ Normal;}{\s1 heading 1;}{\s2 heading 2;}{\s3 heading 3;}} 13 | {\*\generator Riched20 6.2.9200}\viewkind4\uc1 14 | \pard\nowidctlpar\sb120\sa120\b\f0\fs24 MICROSOFT SOFTWARE LICENSE TERMS\par 15 | 16 | \pard\brdrb\brdrs\brdrw10\brsp20 \nowidctlpar\sb120\sa120 MICROSOFT .NET LIBRARY \par 17 | 18 | \pard\nowidctlpar\sb120\sa120\fs19 These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft\par 19 | 20 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent363{\pntxtb\'B7}}\nowidctlpar\fi-363\li720\sb120\sa120\b0 updates,\par 21 | {\pntext\f4\'B7\tab}supplements,\par 22 | {\pntext\f4\'B7\tab}Internet-based services, and\par 23 | {\pntext\f4\'B7\tab}support services\par 24 | 25 | \pard\nowidctlpar\sb120\sa120\b for this software, unless other terms accompany those items. If so, those terms apply.\par 26 | BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE.\par 27 | 28 | \pard\brdrt\brdrs\brdrw10\brsp20 \nowidctlpar\sb120\sa120 IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE PERPETUAL RIGHTS BELOW.\par 29 | 30 | \pard 31 | {\listtext\f0 1.\tab}\jclisttab\tx360\ls1\nowidctlpar\s1\fi-357\li357\sb120\sa120 INSTALLATION AND USE RIGHTS. \par 32 | 33 | \pard 34 | {\listtext\f0 a.\tab}\jclisttab\tx363\ls1\ilvl1\nowidctlpar\s2\fi-363\li720\sb120\sa120 Installation and Use.\b0\fs20 You may install and use any number of copies of the software to design, develop and test your programs.\par 35 | {\listtext\f0 b.\tab}\b\fs19 Third Party Programs.\b0\fs20 The software may include third party programs that Microsoft, not the third party, licenses to you under this agreement. Notices, if any, for the third party program are included for your information only.\b\fs19\par 36 | 37 | \pard 38 | {\listtext\f0 2.\tab}\jclisttab\tx360\ls1\nowidctlpar\s1\fi-357\li357\sb120\sa120\fs20 ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS.\par 39 | 40 | \pard 41 | {\listtext\f0 a.\tab}\jclisttab\tx363\ls1\ilvl1\nowidctlpar\s2\fi-363\li720\sb120\sa120 DISTRIBUTABLE CODE.\~ \b0 The software is comprised of Distributable Code. \f1\ldblquote\f0 Distributable Code\f1\rdblquote\f0 is code that you are permitted to distribute in programs you develop if you comply with the terms below.\b\par 42 | 43 | \pard 44 | {\listtext\f0 i.\tab}\jclisttab\tx720\ls1\ilvl2\nowidctlpar\s3\fi-357\li1077\sb120\sa120\tx1077 Right to Use and Distribute. \par 45 | 46 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent360{\pntxtb\'B7}}\nowidctlpar\fi-357\li1434\sb120\sa120\b0 You may copy and distribute the object code form of the software.\par 47 | {\pntext\f4\'B7\tab}Third Party Distribution. You may permit distributors of your programs to copy and distribute the Distributable Code as part of those programs.\par 48 | 49 | \pard\nowidctlpar\s3\fi-357\li1077\sb120\sa120\tx1077\b ii.\tab Distribution Requirements.\b0 \b For any Distributable Code you distribute, you must\par 50 | 51 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent360{\pntxtb\'B7}}\nowidctlpar\fi-357\li1434\sb120\sa120\b0 add significant primary functionality to it in your programs;\par 52 | {\pntext\f4\'B7\tab}require distributors and external end users to agree to terms that protect it at least as much as this agreement;\par 53 | {\pntext\f4\'B7\tab}display your valid copyright notice on your programs; and\par 54 | {\pntext\f4\'B7\tab}indemnify, defend, and hold harmless Microsoft from any claims, including attorneys\rquote fees, related to the distribution or use of your programs.\par 55 | 56 | \pard\nowidctlpar\s3\fi-357\li1077\sb120\sa120\tx1077\b iii.\tab Distribution Restrictions.\b0 \b You may not\par 57 | 58 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent360{\pntxtb\'B7}}\nowidctlpar\fi-357\li1434\sb120\sa120\b0 alter any copyright, trademark or patent notice in the Distributable Code;\par 59 | {\pntext\f4\'B7\tab}use Microsoft\rquote s trademarks in your programs\rquote names or in a way that suggests your programs come from or are endorsed by Microsoft;\par 60 | {\pntext\f4\'B7\tab}include Distributable Code in malicious, deceptive or unlawful programs; or\par 61 | {\pntext\f4\'B7\tab}modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that\par 62 | 63 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent360{\pntxtb\'B7}}\nowidctlpar\fi-358\li1792\sb120\sa120 the code be disclosed or distributed in source code form; or\cf1\f2\par 64 | {\pntext\f4\'B7\tab}\cf0\f0 others have the right to modify it.\cf1\f2\par 65 | 66 | \pard\nowidctlpar\s1\fi-357\li357\sb120\sa120\cf0\b\f0 3.\tab\fs19 SCOPE OF LICENSE. \b0 The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not\par 67 | 68 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent363{\pntxtb\'B7}}\nowidctlpar\fi-363\li720\sb120\sa120 work around any technical limitations in the software;\par 69 | {\pntext\f4\'B7\tab}reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation;\par 70 | {\pntext\f4\'B7\tab}publish the software for others to copy;\par 71 | {\pntext\f4\'B7\tab}rent, lease or lend the software;\par 72 | {\pntext\f4\'B7\tab}transfer the software or this agreement to any third party; or\par 73 | {\pntext\f4\'B7\tab}use the software for commercial software hosting services.\par 74 | 75 | \pard\nowidctlpar\s1\fi-357\li357\sb120\sa120\b\fs20 4.\tab\fs19 BACKUP COPY. \b0 You may make one backup copy of the software. You may use it only to reinstall the software.\par 76 | \b\fs20 5.\tab\fs19 DOCUMENTATION. \b0 Any person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes.\par 77 | \b\fs20 6.\tab\fs19 EXPORT RESTRICTIONS. \b0 The software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see {\cf2\ul\fs20{\field{\*\fldinst{HYPERLINK www.microsoft.com/exporting }}{\fldrslt{www.microsoft.com/exporting}}}}\f0\fs19 .\cf2\ul\fs20\par 78 | \cf0\ulnone\b 7.\tab\fs19 SUPPORT SERVICES. \b0 Because this software is \ldblquote as is,\rdblquote we may not provide support services for it.\par 79 | \b\fs20 8.\tab\fs19 ENTIRE AGREEMENT. \b0 This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services.\par 80 | \b\fs20 9.\tab\fs19 APPLICABLE LAW.\par 81 | 82 | \pard 83 | {\listtext\f0 a.\tab}\jclisttab\tx363\ls2\ilvl1\nowidctlpar\s2\fi-363\li720\sb120\sa120 United States. \b0 If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort.\par 84 | {\listtext\f0 b.\tab}\b Outside the United States. If you acquired the software in any other country, the laws of that country apply.\par 85 | 86 | \pard\nowidctlpar\s1\fi-357\li357\sb120\sa120\fs20 10.\tab\fs19 LEGAL EFFECT. \b0 This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so.\par 87 | \b\fs20 11.\tab\fs19 DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED \ldblquote AS-IS.\rdblquote YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. YOU MAY HAVE ADDITIONAL CONSUMER RIGHTS OR STATUTORY GUARANTEES UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.\par 88 | 89 | \pard\nowidctlpar\li357\sb120\sa120 FOR AUSTRALIA \endash YOU HAVE STATUTORY GUARANTEES UNDER THE AUSTRALIAN CONSUMER LAW AND NOTHING IN THESE TERMS IS INTENDED TO AFFECT THOSE RIGHTS.\par 90 | 91 | \pard\nowidctlpar\s1\fi-357\li357\sb120\sa120\fs20 12.\tab\fs19 LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.\par 92 | 93 | \pard\nowidctlpar\li357\sb120\sa120\b0 This limitation applies to\par 94 | 95 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent363{\pntxtb\'B7}}\nowidctlpar\fi-363\li720\sb120\sa120 anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and\par 96 | {\pntext\f4\'B7\tab}claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law.\par 97 | 98 | \pard\nowidctlpar\sb120\sa120 It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages.\par 99 | \lang9 Please note: As this software is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French.\par 100 | Remarque : Ce logiciel \'e9tant distribu\'e9 au Qu\'e9bec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en fran\'e7ais.\par 101 | 102 | \pard\nowidctlpar\s1\sb120\sa120\b\lang1033 EXON\'c9RATION DE GARANTIE. \b0 Le logiciel vis\'e9 par une licence est offert \'ab tel quel \'bb. Toute utilisation de ce logiciel est \'e0 votre seule risque et p\'e9ril. Microsoft n\rquote accorde aucune autre garantie expresse. Vous pouvez b\'e9n\'e9ficier de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualit\'e9 marchande, d\rquote ad\'e9quation \'e0 un usage particulier et d\rquote absence de contrefa\'e7on sont exclues.\par 103 | \b LIMITATION DES DOMMAGES-INT\'c9R\'caTS ET EXCLUSION DE RESPONSABILIT\'c9 POUR LES DOMMAGES. \b0 Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement \'e0 hauteur de 5,00 $ US. Vous ne pouvez pr\'e9tendre \'e0 aucune indemnisation pour les autres dommages, y compris les dommages sp\'e9ciaux, indirects ou accessoires et pertes de b\'e9n\'e9fices.\par 104 | 105 | \pard\nowidctlpar\sb120\sa120\lang9 Cette limitation concerne :\par 106 | 107 | \pard{\pntext\f4\'B7\tab}{\*\pn\pnlvlblt\pnf4\pnindent360{\pntxtb\'B7}}\nowidctlpar\li720\sb120\sa120 tout ce qui est reli\'e9 au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et\par 108 | {\pntext\f4\'B7\tab}les r\'e9clamations au titre de violation de contrat ou de garantie, ou au titre de responsabilit\'e9 stricte, de n\'e9gligence ou d\rquote une autre faute dans la limite autoris\'e9e par la loi en vigueur.\par 109 | 110 | \pard\nowidctlpar\sb120\sa120 Elle s\rquote applique \'e9galement, m\'eame si Microsoft connaissait ou devrait conna\'eetre l\rquote\'e9ventualit\'e9 d\rquote un tel dommage. Si votre pays n\rquote autorise pas l\rquote exclusion ou la limitation de responsabilit\'e9 pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l\rquote exclusion ci-dessus ne s\rquote appliquera pas \'e0 votre \'e9gard.\par 111 | 112 | \pard\nowidctlpar\s1\sb120\sa120\b\lang1033 EFFET JURIDIQUE. \b0 Le pr\'e9sent contrat d\'e9crit certains droits juridiques. Vous pourriez avoir d\rquote autres droits pr\'e9vus par les lois de votre pays. Le pr\'e9sent contrat ne modifie pas les droits que vous conf\'e8rent les lois de votre pays si celles-ci ne le permettent pas.\par 113 | 114 | \pard\nowidctlpar\sb120\sa120\b\fs20\lang1036\par 115 | 116 | \pard\sa200\sl276\slmult1\b0\f3\fs22\lang9\par 117 | } 118 | -------------------------------------------------------------------------------- /packages/Microsoft.Composition.1.0.27/lib/portable-net45+win8+wp8+wpa81/System.Composition.TypedParts.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | System.Composition.TypedParts 5 | 6 | 7 | 8 | 9 | Configures and constructs a lightweight container. 10 | 11 | 12 | 13 | 14 | Create the container. The value returned from this method provides 15 | the exports in the container, as well as a means to dispose the container. 16 | 17 | The container. 18 | 19 | 20 | 21 | Add an export descriptor provider to the container. 22 | 23 | An export descriptor provider. 24 | A configuration object allowing configuration to continue. 25 | 26 | 27 | 28 | Add conventions defined using a to the container. 29 | These will be used as the default conventions; types and assemblies added with a 30 | specific convention will use their own. 31 | 32 | 33 | A configuration object allowing configuration to continue. 34 | 35 | 36 | 37 | Add a part type to the container. If the part type does not have any exports it 38 | will be ignored. 39 | 40 | The part type. 41 | A configuration object allowing configuration to continue. 42 | 43 | 44 | 45 | Add a part type to the container. If the part type does not have any exports it 46 | will be ignored. 47 | 48 | The part type. 49 | Conventions represented by a , or null. 50 | A configuration object allowing configuration to continue. 51 | 52 | 53 | 54 | Add a part type to the container. If the part type does not have any exports it 55 | will be ignored. 56 | 57 | The part type. 58 | A configuration object allowing configuration to continue. 59 | 60 | 61 | 62 | Add a part type to the container. If the part type does not have any exports it 63 | will be ignored. 64 | 65 | The part type. 66 | Conventions represented by a , or null. 67 | A configuration object allowing configuration to continue. 68 | 69 | 70 | 71 | Add part types to the container. If a part type does not have any exports it 72 | will be ignored. 73 | 74 | The part types. 75 | A configuration object allowing configuration to continue. 76 | 77 | 78 | 79 | Add part types to the container. If a part type does not have any exports it 80 | will be ignored. 81 | 82 | The part types. 83 | A configuration object allowing configuration to continue. 84 | 85 | 86 | 87 | Add part types to the container. If a part type does not have any exports it 88 | will be ignored. 89 | 90 | The part types. 91 | Conventions represented by a , or null. 92 | A configuration object allowing configuration to continue. 93 | 94 | 95 | 96 | Add part types from an assembly to the container. If a part type does not have any exports it 97 | will be ignored. 98 | 99 | The assembly from which to add part types. 100 | A configuration object allowing configuration to continue. 101 | 102 | 103 | 104 | Add part types from an assembly to the container. If a part type does not have any exports it 105 | will be ignored. 106 | 107 | The assembly from which to add part types. 108 | Conventions represented by a , or null. 109 | A configuration object allowing configuration to continue. 110 | 111 | 112 | 113 | Add part types from a list of assemblies to the container. If a part type does not have any exports it 114 | will be ignored. 115 | 116 | Assemblies containing part types. 117 | A configuration object allowing configuration to continue. 118 | 119 | 120 | 121 | Add part types from a list of assemblies to the container. If a part type does not have any exports it 122 | will be ignored. 123 | 124 | Assemblies containing part types. 125 | Conventions represented by a , or null. 126 | A configuration object allowing configuration to continue. 127 | 128 | 129 | 130 | Adds methods to that are specific to the 131 | typed part model. 132 | 133 | 134 | 135 | 136 | Set public properties decorated with the . 137 | 138 | Uses reflection, is slow - caching would help here. 139 | An object with decorated with import attributes. 140 | Export provider that will supply imported values. 141 | 142 | 143 | 144 | Set public properties decorated with the . 145 | 146 | Uses reflection, is slow - caching would help here. 147 | Conventions to apply when satisfying loose imports. 148 | An object with decorated with import attributes. 149 | Export provider that will supply imported values. 150 | 151 | 152 | 153 | A strongly-typed resource class, for looking up localized strings, etc. 154 | 155 | 156 | 157 | 158 | Returns the cached ResourceManager instance used by this class. 159 | 160 | 161 | 162 | 163 | Overrides the current thread's CurrentUICulture property for all 164 | resource lookups using this strongly typed resource class. 165 | 166 | 167 | 168 | 169 | Looks up a localized string similar to Missing dependency '{0}' on '{1}'.. 170 | 171 | 172 | 173 | 174 | Looks up a localized string similar to The default conventions for the container configuration have already been set.. 175 | 176 | 177 | 178 | 179 | Looks up a localized string similar to Multiple imports have been configured for '{0}'. At most one import can be applied to a single site.. 180 | 181 | 182 | 183 | 184 | Looks up a localized string similar to Multiple importing constructors were found on type '{0}'.. 185 | 186 | 187 | 188 | 189 | Looks up a localized string similar to No importing constructor was found on type '{0}'.. 190 | 191 | 192 | 193 | 194 | Looks up a localized string similar to The method {0}.{1} has the OnImportsSatisfied attribute applied, but is not a public or internal parameterless instance method returning void.. 195 | 196 | 197 | 198 | 199 | Looks up a localized string similar to Exported contract '{0}' of open generic part '{1}' does not match the generic arguments of the class.. 200 | 201 | 202 | 203 | 204 | Looks up a localized string similar to Exported contract type '{0}' is not assignable from part '{1}'.. 205 | 206 | 207 | 208 | 209 | Looks up a localized string similar to Exported contract type '{0}' is not assignable from property '{1}' of part '{2}'.. 210 | 211 | 212 | 213 | 214 | Looks up a localized string similar to The open generic export '{0}' on part '{1}' is not compatible with the contract '{2}'.. 215 | 216 | 217 | 218 | 219 | Looks up a localized string similar to Open generic part '{0}' cannot export non-generic contract '{1}'.. 220 | 221 | 222 | 223 | 224 | Allows modification of the activators generated for typed parts. 225 | 226 | 227 | 228 | 229 | A constant shared for subclass use. 230 | 231 | 232 | 233 | 234 | Participate in the activator creation process. 235 | 236 | The part type being activated. 237 | The activator body so far. 238 | Metadata associated with the part being activated. 239 | Dependencies returned by a previous call to . 240 | A new activator body, or the one already provided. 241 | 242 | 243 | 244 | Describe the dependencies required by this activation feature. 245 | 246 | The part type being activated. 247 | The definition accessor. 248 | Dependencies. 249 | 250 | 251 | 252 | Modifies the activator so that disposable instances are bound to the appropriate scope. 253 | 254 | 255 | 256 | 257 | Modifies the activators of parts so that they a) get associated with the correct 258 | scope, and b) obtain their dependencies from the correct scope. 259 | 260 | 261 | 262 | 263 | Modifies activators of parts that have so that 264 | their [OnImportsSatisfied] method is correctly called. 265 | 266 | 267 | 268 | 269 | Represents a part property that is configured as an import. 270 | 271 | 272 | 273 | 274 | Modifies activators of parts with property imports so that the properties 275 | are set appropriately. 276 | 277 | 278 | 279 | 280 | Helper extension methods for retrieving attributes from objects implementing IAttributedModelConvention 281 | 282 | 283 | 284 | 285 | -------------------------------------------------------------------------------- /packages/Microsoft.Composition.1.0.27/lib/portable-net45+win8+wp8+wpa81/System.Composition.AttributedModel.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | System.Composition.AttributedModel 5 | 6 | 7 | 8 | 9 | Provider of augmented reflection data in support of conventions. 10 | 11 | 12 | 13 | 14 | Provide the list of attributes applied to the specified member. 15 | 16 | The reflectedType the type used to retrieve the memberInfo. 17 | The member to supply attributes for. 18 | The list of applied attributes. 19 | 20 | 21 | 22 | The reflectedType the type used to retrieve the parameterInfo. 23 | The member to supply attributes for. 24 | The list of applied attributes. 25 | 26 | 27 | 28 | 29 | Specifies that a type, property, field, or method provides a particular export. 30 | 31 | 32 | 33 | 34 | Initializes a new instance of the class, exporting the 35 | type or member marked with this attribute under the default contract name. 36 | 37 | 38 | 39 | 40 | Initializes a new instance of the class, exporting the 41 | type or member marked with this attribute under a contract name derived from the 42 | specified type. 43 | 44 | 45 | A of which to derive the contract name to export the type or 46 | member marked with this attribute, under; or to use the 47 | default contract name. 48 | 49 | 50 | 51 | 52 | Initializes a new instance of the class, exporting the 53 | type or member marked with this attribute under the specified contract name. 54 | 55 | 56 | A containing the contract name to export the type or member 57 | marked with this attribute, under; or or an empty string 58 | ("") to use the default contract name. 59 | 60 | 61 | 62 | 63 | Initializes a new instance of the class, exporting the 64 | type or member marked with this attribute under the specified contract name. 65 | 66 | 67 | A containing the contract name to export the type or member 68 | marked with this attribute, under; or or an empty string 69 | ("") to use the default contract name. 70 | 71 | 72 | A of which to derive the contract name to export the type or 73 | member marked with this attribute, under; or to use the 74 | default contract name. 75 | 76 | 77 | 78 | 79 | Gets the contract name to export the type or member under. 80 | 81 | 82 | A containing the contract name to export the type or member 83 | marked with this attribute, under. The default value is an empty string (""). 84 | 85 | 86 | 87 | 88 | Get the contract type that is exported by the member that this attribute is attached to. 89 | 90 | 91 | A of the export that is be provided. The default value is 92 | which means that the type will be obtained by looking at the type on 93 | the member that this export is attached to. 94 | 95 | 96 | 97 | 98 | Specifies metadata for a type, property, field, or method marked with the 99 | . 100 | 101 | 102 | 103 | 104 | Initializes a new instance of the with the 105 | specified name and metadata value. 106 | 107 | 108 | A containing the name of the metadata value; or 109 | to set the property to an empty 110 | string (""). 111 | 112 | 113 | An containing the metadata value. This can be 114 | . 115 | 116 | 117 | 118 | 119 | Gets the name of the metadata value. 120 | 121 | 122 | A containing the name of the metadata value. 123 | 124 | 125 | 126 | 127 | Gets the metadata value. 128 | 129 | 130 | An containing the metadata value. 131 | 132 | 133 | 134 | 135 | Specifies that a property, field, or parameter imports a particular export. 136 | 137 | 138 | 139 | 140 | Initializes a new instance of the class, importing the 141 | export without a contract name. 142 | 143 | 144 | 145 | 146 | Initializes a new instance of the class, importing the 147 | export with the specified contract name. 148 | 149 | 150 | A containing the contract name of the export to import, or 151 | or an empty string ("") to use the default contract name. 152 | 153 | 154 | 155 | 156 | Gets the contract name of the export to import. 157 | 158 | 159 | A containing the contract name of the export to import. The 160 | default value is null. 161 | 162 | 163 | 164 | 165 | Gets or sets a value indicating whether the property, field or parameter will be left 166 | at its default value when an export with the contract name is not present in 167 | the container. 168 | 169 | 170 | 171 | 172 | Specifies that a constructor should be used when constructing an attributed part. 173 | 174 | 175 | By default, only a default parameter-less constructor, if available, is used to 176 | construct an attributed part. Use this attribute to indicate that a specific constructor 177 | should be used. 178 | 179 | 180 | 181 | 182 | Initializes a new instance of the class. 183 | 184 | 185 | 186 | 187 | Specifies that a property, field, or parameter imports a particular set of exports. 188 | 189 | 190 | 191 | 192 | Initializes a new instance of the class, importing the 193 | set of exports without a contract name. 194 | 195 | 196 | 197 | 198 | Initializes a new instance of the class, importing the 199 | set of exports with the specified contract name. 200 | 201 | 202 | A containing the contract name of the exports to import, or 203 | . 204 | 205 | 206 | 207 | 208 | Gets the contract name of the exports to import. 209 | 210 | 211 | A containing the contract name of the exports to import. The 212 | default value is null. 213 | 214 | 215 | 216 | 217 | When applied on an import, requires certain metadata values on the exporter. 218 | 219 | 220 | 221 | 222 | Require a specific metadata value on the exporter. 223 | 224 | The name of the metadata item to match. 225 | The value to match. 226 | 227 | 228 | 229 | The metadata key to match. 230 | 231 | 232 | 233 | 234 | The value to match. 235 | 236 | 237 | 238 | 239 | Specifies that an attribute can be used to provide metadata for a type, property, field, 240 | or method marked with the . 241 | 242 | 243 | 244 | 245 | Initializes a new instance of the class. 246 | 247 | 248 | 249 | 250 | When applied to a void, parameterless instance method on a part, 251 | MEF will call that method when composition of the part has 252 | completed. The method must be public or internal. 253 | 254 | 255 | 256 | 257 | Specifies metadata for a type to be used as a part. 258 | 259 | 260 | 261 | 262 | Initializes a new instance of the with the 263 | specified name and metadata value. 264 | 265 | 266 | A containing the name of the metadata value; or 267 | to use an empty string (""). 268 | 269 | 270 | An containing the metadata value. This can be 271 | . 272 | 273 | 274 | 275 | 276 | Gets the name of the metadata value. 277 | 278 | 279 | A containing the name of the metadata value. 280 | 281 | 282 | 283 | 284 | Gets the metadata value. 285 | 286 | 287 | An containing the metadata value. 288 | 289 | 290 | 291 | 292 | Place on a type that should not be discovered as a MEF part. 293 | 294 | 295 | 296 | 297 | Initializes a new instance of the class. 298 | 299 | 300 | 301 | 302 | Marks a part as being constrainted to sharing within the named boundary. 303 | 304 | 305 | [Export, 306 | Shared("HttpRequest")] 307 | public class HttpResponseWriter { } 308 | 309 | 310 | 311 | 312 | 313 | Mark a part as globally shared. 314 | 315 | 316 | 317 | 318 | Construct a for the specified 319 | boundary name. 320 | 321 | The boundary outside of which this part is inaccessible. 322 | 323 | 324 | 325 | he boundary outside of which this part is inaccessible. 326 | 327 | 328 | 329 | 330 | Applied to an import for ExportFactory{T}, this attribute marks the 331 | boundary of a sharing scope. The ExportLifetimeContext{T} instances 332 | returned from the factory will be boundaries for sharing of components that are bounded 333 | by the listed boundary names. 334 | 335 | 336 | [Import, SharingBoundary("HttpRequest")] 337 | public ExportFactory<HttpRequestHandler> HandlerFactory { get; set; } 338 | 339 | 340 | 341 | 342 | 343 | Construct a for the specified boundary names. 344 | 345 | Boundaries implemented by the created ExportLifetimeContext{T}s. 346 | 347 | 348 | 349 | Boundaries implemented by the created ExportLifetimeContext{T}s. 350 | 351 | 352 | 353 | 354 | --------------------------------------------------------------------------------