├── .gitattributes ├── .github └── workflows │ └── sonarcloud.yml ├── .gitignore ├── .nuget ├── NuGet.exe ├── packages.config └── packages.lock.json ├── Directory.Build.props ├── Hangfire.Autofac.sln ├── LICENSE ├── NuGet.config ├── README.md ├── appveyor.yml ├── build.bat ├── nuspecs ├── Hangfire.Autofac.nuspec └── icon.png ├── psake-project.ps1 ├── src ├── Directory.Build.props ├── Hangfire.Autofac │ ├── AutofacBootstrapperConfigurationExtensions.cs │ ├── AutofacJobActivator.cs │ ├── GlobalConfigurationExtensions.cs │ ├── Hangfire.Autofac.csproj │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── RegistrationExtensions.cs │ └── packages.lock.json └── SharedAssemblyInfo.cs └── tests ├── Directory.Build.props └── Hangfire.Autofac.Tests ├── AutofacBootstrapperConfigurationExtensionsFacts.cs ├── AutofacJobActivatorTests.cs ├── GlobalConfigurationExtensionsFacts.cs ├── Hangfire.Autofac.Tests.csproj └── packages.lock.json /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp text 6 | *.sln merge=union text eol=crlf 7 | *.csproj merge=union text eol=crlf 8 | *.vbproj merge=union text eol=crlf 9 | *.fsproj merge=union text eol=crlf 10 | *.dbproj merge=union text eol=crlf 11 | 12 | # Source code 13 | *.bat text 14 | *.ps1 text 15 | *.nuspec text 16 | 17 | # Documentation 18 | *.md text 19 | *.txt text 20 | *.manifest text 21 | COPYING text 22 | COPYING.LESSER text 23 | 24 | # Configs 25 | *.config text 26 | .editorconfig text 27 | .gitattributes text 28 | .gitignore text 29 | *.yml text 30 | *.DotSettings text -------------------------------------------------------------------------------- /.github/workflows/sonarcloud.yml: -------------------------------------------------------------------------------- 1 | name: SonarCloud 2 | on: 3 | push: 4 | branches: 5 | - main 6 | - dev 7 | pull_request: 8 | types: [opened, synchronize, reopened] 9 | jobs: 10 | build: 11 | name: Build and analyze 12 | runs-on: windows-latest 13 | steps: 14 | - name: Set up JDK 17 15 | uses: actions/setup-java@v4 16 | with: 17 | java-version: 17 18 | distribution: 'zulu' # Alternative distribution options are available. 19 | - uses: actions/checkout@v4 20 | with: 21 | fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis 22 | - name: Cache SonarCloud packages 23 | uses: actions/cache@v4 24 | with: 25 | path: ~\sonar\cache 26 | key: ${{ runner.os }}-sonar 27 | restore-keys: ${{ runner.os }}-sonar 28 | - name: Cache NuGet packages 29 | uses: actions/cache@v4 30 | env: 31 | ZSTD_CLEVEL: 1 32 | with: 33 | path: ~/.nuget/TrustedPackages 34 | key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} 35 | restore-keys: ${{ runner.os }}-nuget- 36 | - name: Cache SonarCloud scanner 37 | id: cache-sonar-scanner 38 | uses: actions/cache@v4 39 | with: 40 | path: .\.sonar\scanner 41 | key: ${{ runner.os }}-sonar-scanner 42 | restore-keys: ${{ runner.os }}-sonar-scanner 43 | - name: Install SonarCloud scanner 44 | if: steps.cache-sonar-scanner.outputs.cache-hit != 'true' 45 | shell: powershell 46 | run: | 47 | New-Item -Path .\.sonar\scanner -ItemType Directory 48 | dotnet tool update dotnet-sonarscanner --tool-path .\.sonar\scanner 49 | dotnet tool update JetBrains.dotCover.GlobalTool --tool-path .\.sonar\scanner 50 | - name: Build and analyze 51 | env: 52 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any 53 | SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} 54 | shell: powershell 55 | run: | 56 | .\.sonar\scanner\dotnet-sonarscanner begin /k:"HangfireIO_Hangfire.Autofac" /o:"hangfireio" /d:sonar.token="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.cs.dotcover.reportsPaths=dotCover.Output.html /d:sonar.scanner.scanAll=false 57 | .\.sonar\scanner\dotnet-dotcover test -f net6.0 --dcReportType=HTML 58 | .\.sonar\scanner\dotnet-sonarscanner end /d:sonar.token="${{ secrets.SONAR_TOKEN }}" -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | 4 | # User-specific files 5 | *.suo 6 | *.user 7 | *.sln.docstates 8 | 9 | # Build results 10 | [Dd]ebug/ 11 | [Dd]ebugPublic/ 12 | [Rr]elease/ 13 | x64/ 14 | build/ 15 | bld/ 16 | [Bb]in/ 17 | [Oo]bj/ 18 | 19 | # Visual Studio cache/options directory 20 | .vs/ 21 | 22 | # Cake files 23 | tools 24 | 25 | # MSTest test Results 26 | [Tt]est[Rr]esult*/ 27 | [Bb]uild[Ll]og.* 28 | 29 | #NUNIT 30 | *.VisualState.xml 31 | TestResult.xml 32 | 33 | # Build Results of an ATL Project 34 | [Dd]ebugPS/ 35 | [Rr]eleasePS/ 36 | dlldata.c 37 | 38 | *_i.c 39 | *_p.c 40 | *_i.h 41 | *.ilk 42 | *.meta 43 | *.obj 44 | *.pch 45 | *.pdb 46 | *.pgc 47 | *.pgd 48 | *.rsp 49 | *.sbr 50 | *.tlb 51 | *.tli 52 | *.tlh 53 | *.tmp 54 | *.tmp_proj 55 | *.log 56 | *.vspscc 57 | *.vssscc 58 | .builds 59 | *.pidb 60 | *.svclog 61 | *.scc 62 | 63 | # Chutzpah Test files 64 | _Chutzpah* 65 | 66 | # Visual C++ cache files 67 | ipch/ 68 | *.aps 69 | *.ncb 70 | *.opensdf 71 | *.sdf 72 | *.cachefile 73 | 74 | # Visual Studio profiler 75 | *.psess 76 | *.vsp 77 | *.vspx 78 | 79 | # TFS 2012 Local Workspace 80 | $tf/ 81 | 82 | # Guidance Automation Toolkit 83 | *.gpState 84 | 85 | # ReSharper is a .NET coding add-in 86 | _ReSharper*/ 87 | *.[Rr]e[Ss]harper 88 | *.DotSettings.user 89 | 90 | # JustCode is a .NET coding addin-in 91 | .JustCode 92 | 93 | # TeamCity is a build add-in 94 | _TeamCity* 95 | 96 | # DotCover is a Code Coverage Tool 97 | *.dotCover 98 | 99 | # NCrunch 100 | *.ncrunch* 101 | _NCrunch_* 102 | .*crunch*.local.xml 103 | 104 | # MightyMoose 105 | *.mm.* 106 | AutoTest.Net/ 107 | 108 | # Web workbench (sass) 109 | .sass-cache/ 110 | 111 | # Installshield output folder 112 | [Ee]xpress/ 113 | 114 | # DocProject is a documentation generator add-in 115 | DocProject/buildhelp/ 116 | DocProject/Help/*.HxT 117 | DocProject/Help/*.HxC 118 | DocProject/Help/*.hhc 119 | DocProject/Help/*.hhk 120 | DocProject/Help/*.hhp 121 | DocProject/Help/Html2 122 | DocProject/Help/html 123 | 124 | # Click-Once directory 125 | publish/ 126 | 127 | # Publish Web Output 128 | *.[Pp]ublish.xml 129 | *.azurePubxml 130 | 131 | # NuGet Packages Directory 132 | packages/ 133 | ## TODO: If the tool you use requires repositories.config uncomment the next line 134 | #!packages/repositories.config 135 | 136 | # Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets 137 | # This line needs to be after the ignore of the build folder (and the packages folder if the line above has been uncommented) 138 | !packages/build/ 139 | 140 | # Windows Azure Build Output 141 | csx/ 142 | *.build.csdef 143 | 144 | # Windows Store app package directory 145 | AppPackages/ 146 | 147 | # Others 148 | sql/ 149 | *.Cache 150 | ClientBin/ 151 | [Ss]tyle[Cc]op.* 152 | ~$* 153 | *~ 154 | *.dbmdl 155 | *.dbproj.schemaview 156 | *.pfx 157 | *.publishsettings 158 | node_modules/ 159 | 160 | # RIA/Silverlight projects 161 | Generated_Code/ 162 | 163 | # Backup & report files from converting an old project file to a newer 164 | # Visual Studio version. Backup files are not needed, because we have git ;-) 165 | _UpgradeReport_Files/ 166 | Backup*/ 167 | UpgradeLog*.XML 168 | UpgradeLog*.htm 169 | 170 | # SQL Server files 171 | *.mdf 172 | *.ldf 173 | 174 | # Business Intelligence projects 175 | *.rdl.data 176 | *.bim.layout 177 | *.bim_*.settings 178 | 179 | # Microsoft Fakes 180 | FakesAssemblies/ 181 | 182 | .idea/* 183 | dotCover.Output* 184 | -------------------------------------------------------------------------------- /.nuget/NuGet.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HangfireIO/Hangfire.Autofac/066855715f5582da2218b16e9b491fe246fa4769/.nuget/NuGet.exe -------------------------------------------------------------------------------- /.nuget/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /.nuget/packages.lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "dependencies": { 4 | "Any,Version=v0.0": { 5 | "Hangfire.Build": { 6 | "type": "Direct", 7 | "requested": "[0.5.0, 0.5.0]", 8 | "resolved": "0.5.0", 9 | "contentHash": "4yRCdMaDr6cyFRmCvpFO8kBMV57KPOofugaHOsjkDEDw+G/BCGWOdrpXfkAeTEtZBPUv2jS0PYmVNK5680KxXQ==" 10 | }, 11 | "psake": { 12 | "type": "Direct", 13 | "requested": "[4.4.1, 4.4.1]", 14 | "resolved": "4.4.1", 15 | "contentHash": "Hn5kdGPEoapi+wAAjaGjKEZVnuYp7fUrPK3IivLYG6Bn4adhd8l+KXXPMEmte41RmrLvfV7XGZa9KsSTc0gjDA==" 16 | } 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /Directory.Build.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | true 4 | true 5 | 6 | 7 | 8 | true 9 | 10 | -------------------------------------------------------------------------------- /Hangfire.Autofac.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26510.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{9058456C-F07D-4BD2-8E1C-9AAD8D836D81}" 7 | ProjectSection(SolutionItems) = preProject 8 | .nuget\NuGet.exe = .nuget\NuGet.exe 9 | .nuget\packages.config = .nuget\packages.config 10 | EndProjectSection 11 | EndProject 12 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hangfire.Autofac", "src\Hangfire.Autofac\Hangfire.Autofac.csproj", "{C75F15D3-9EA8-4B13-9FCA-D7B22AC1D92F}" 13 | EndProject 14 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hangfire.Autofac.Tests", "tests\Hangfire.Autofac.Tests\Hangfire.Autofac.Tests.csproj", "{42957241-3105-4859-B6AB-5962C1F0BCD5}" 15 | EndProject 16 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{4957DA4F-B3DB-4DA4-9642-C54A716B68FD}" 17 | ProjectSection(SolutionItems) = preProject 18 | appveyor.yml = appveyor.yml 19 | build.bat = build.bat 20 | psake-project.ps1 = psake-project.ps1 21 | src\Directory.Build.props = src\Directory.Build.props 22 | EndProjectSection 23 | EndProject 24 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "nuspecs", "nuspecs", "{1AC4778F-330D-4A4B-B680-C9DA7A7E612B}" 25 | ProjectSection(SolutionItems) = preProject 26 | nuspecs\Hangfire.Autofac.nuspec = nuspecs\Hangfire.Autofac.nuspec 27 | EndProjectSection 28 | EndProject 29 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{5742DC62-57DF-4C3C-9F69-DA68058E9C38}" 30 | ProjectSection(SolutionItems) = preProject 31 | tests\Directory.Build.props = tests\Directory.Build.props 32 | EndProjectSection 33 | EndProject 34 | Global 35 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 36 | Debug|Any CPU = Debug|Any CPU 37 | Release|Any CPU = Release|Any CPU 38 | EndGlobalSection 39 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 40 | {C75F15D3-9EA8-4B13-9FCA-D7B22AC1D92F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 41 | {C75F15D3-9EA8-4B13-9FCA-D7B22AC1D92F}.Debug|Any CPU.Build.0 = Debug|Any CPU 42 | {C75F15D3-9EA8-4B13-9FCA-D7B22AC1D92F}.Release|Any CPU.ActiveCfg = Release|Any CPU 43 | {C75F15D3-9EA8-4B13-9FCA-D7B22AC1D92F}.Release|Any CPU.Build.0 = Release|Any CPU 44 | {42957241-3105-4859-B6AB-5962C1F0BCD5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 45 | {42957241-3105-4859-B6AB-5962C1F0BCD5}.Debug|Any CPU.Build.0 = Debug|Any CPU 46 | {42957241-3105-4859-B6AB-5962C1F0BCD5}.Release|Any CPU.ActiveCfg = Release|Any CPU 47 | {42957241-3105-4859-B6AB-5962C1F0BCD5}.Release|Any CPU.Build.0 = Release|Any CPU 48 | EndGlobalSection 49 | GlobalSection(SolutionProperties) = preSolution 50 | HideSolutionNode = FALSE 51 | EndGlobalSection 52 | GlobalSection(ExtensibilityGlobals) = postSolution 53 | SolutionGuid = {ACFC4F30-A606-4691-8C46-A8E8366DFC22} 54 | EndGlobalSection 55 | GlobalSection(NestedProjects) = preSolution 56 | {42957241-3105-4859-B6AB-5962C1F0BCD5} = {5742DC62-57DF-4C3C-9F69-DA68058E9C38} 57 | EndGlobalSection 58 | EndGlobal 59 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Hangfire OÜ 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /NuGet.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | Microsoft;aspnet;HangfireIO;odinserj;Autofac;alexmg;xunit;jamesnk;kzu;castleproject;psake 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # Hangfire.Autofac 3 | 4 | [![NuGet](https://img.shields.io/nuget/v/Hangfire.Autofac.svg)](https://www.nuget.org/packages/Hangfire.Autofac) [![Build status](https://ci.appveyor.com/api/projects/status/oncvxlqtnake9c86?svg=true)](https://ci.appveyor.com/project/hangfireio/hangfire-autofac) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=HangfireIO_Hangfire.Autofac&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=HangfireIO_Hangfire.Autofac) [![Bugs](https://sonarcloud.io/api/project_badges/measure?project=HangfireIO_Hangfire.Autofac&metric=bugs)](https://sonarcloud.io/summary/new_code?id=HangfireIO_Hangfire.Autofac) [![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=HangfireIO_Hangfire.Autofac&metric=code_smells)](https://sonarcloud.io/summary/new_code?id=HangfireIO_Hangfire.Autofac) [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=HangfireIO_Hangfire.Autofac&metric=coverage)](https://sonarcloud.io/summary/new_code?id=HangfireIO_Hangfire.Autofac) 5 | 6 | [Autofac](https://autofac.org) integration for [Hangfire](https://www.hangfire.io). Provides an implementation of the `JobActivator` class and registration extensions, allowing you to use Autofac container to **resolve job type instances** as well as **control the lifetime** of the all related dependencies. 7 | 8 | *Hangfire.Autofac* resolves service instances using a child, tagged [lifetime scope](https://docs.autofac.org/en/latest/lifetime/index.html). A child scope is created and disposed each time when background job processing takes place, so you have precise control of your service's lifetime, including **shared instances** and **deterministic disposal**. 9 | 10 | ## Installation 11 | 12 | *Hangfire.Autofac* is available as a NuGet Package. Type the following command into NuGet Package Manager Console window to install it: 13 | 14 | ``` 15 | > dotnet add package Hangfire.Autofac 16 | ``` 17 | 18 | ## Usage 19 | 20 | The package provides an extension methods for the `IGlobalConfiguration` interface, so you can enable Autofac integration using the `GlobalConfiguration` class: 21 | 22 | ```csharp 23 | var builder = new ContainerBuilder(); 24 | // builder.Register... 25 | 26 | GlobalConfiguration.Configuration.UseAutofacActivator(builder.Build()); 27 | ``` 28 | 29 | After invoking the `UseAutofacActivator` method, Autofac-based implementation of the `JobActivator` class will be used to resolve job type instances during the background job processing. 30 | 31 | ### Custom Scope Configuration 32 | 33 | Starting from version 2.7.0 it is possible to define a custom scope configuration action and pass background job-related data to the service registration logic, like identifier, parameters and so on. 34 | 35 | ```csharp 36 | GlobalConfiguration.Configuration.UseAutofacActivator(builder.Build(), (builder, context) => 37 | { 38 | var tenantId = context.GetJobParameter("TenantId", allowStale: true); 39 | builder.Register(provider => new MultiTenantDatabase(tenantId)); 40 | }); 41 | ``` 42 | 43 | ### Shared Components 44 | 45 | Sometimes it is required to share the same service instance for different components, such as database connection, unit of work, etc. *Hangfire.Autofac* allows you to share them in a scope, limited to the **current** background job processing, just call the `InstancePerBackgroundJob` method in your component registration logic: 46 | 47 | ```csharp 48 | builder.RegisterType().InstancePerBackgroundJob(); 49 | ``` 50 | 51 | ### Non-tagged scopes 52 | 53 | Whenever the scopes in `AutofacActivator` are created, by default they are created using tag `BackgroundJobScope`. There might be a scenario when it is needed not to use tagged scopes though. This might be a case if it is required to have a new instance of every service for each lifetime scope (in Hangfire it would be for every job). To disable tagged scopes you can use a flag `useTaggedLifetimeScope` during initialization of `AutofacActivator` for Hangfire. 54 | 55 | ```csharp 56 | var builder = new ContainerBuilder(); 57 | // builder.Register... 58 | 59 | GlobalConfiguration.Configuration.UseAutofacActivator(builder.Build(), false); 60 | ``` 61 | 62 | Then you can register services by using `InstancePerLifetimeScope` and expect them to work like intended. 63 | 64 | ```csharp 65 | builder.RegisterType().InstancePerLifetimeScope(); 66 | ``` 67 | 68 | ### Deterministic Disposal 69 | 70 | The *child lifetime scope* is disposed as soon as current background job is performed, successfully or with an exception. Since *Autofac* automatically disposes all the components that implement the `IDisposable` interface (if this feature not disabled), all of the resolved components will be disposed *if appropriate*. 71 | 72 | For example, the following components will be **disposed automatically**: 73 | 74 | ```csharp 75 | builder.RegisterType(); 76 | builder.RegisterType().InstancePerDependency(); 77 | builder.RegisterType().InstancePerBackgroundJob(); 78 | ``` 79 | 80 | And the following components **will not be disposed**: 81 | 82 | ```csharp 83 | builder.RegisterType().SingleInstance(); 84 | builder.RegisterType().ExternallyOwned(); 85 | ``` 86 | 87 | Please refer to the Autofac documentation to learn more about [Automatic Disposal](https://docs.autofac.org/en/latest/lifetime/disposal.html#automatic-disposal) feature. 88 | 89 | ### Registering With Multiple Lifetime Scopes 90 | 91 | Services registered with tagged lifetime scopes (eg `InstancePerBackgroundJob`, Autofac's `InstancePerRequest` or a scope your specific application requires) will not resolve outside of these named scopes, a common situation is when using Hangfire in an ASP.NET web application. In these situations you must register all your lifetimescopes together if you want the services to be resolved from any of the scopes. Hangfire.Autofac exposes it's lifetime tag and an overload of `InstancePerBackgroundJob` to help you do this. 92 | 93 | To register a service with both Autofac's PerRequest and Hangfire's PerBackgroundJob you could do any of the following: 94 | 95 | Passing Hangfire's scope tag to Autofac's `InstancePerHttpRequest`: 96 | ```csharp 97 | builder.RegisterType().InstancePerHttpRequest(AutofacJobActivator.LifetimeScopeTag); 98 | ``` 99 | 100 | From Autofac 3.4.0 Autofac exposed their lifetime tag, `MatchingScopeLifetimeTags.RequestLifetimeScopeTag`, which can be used with `InstancePerBackgroundJob`: 101 | ```csharp 102 | builder.RegisterType().InstancePerBackgroundJob(MatchingScopeLifetimeTags.RequestLifetimeScopeTag); 103 | ``` 104 | 105 | Both scope tags can also be used directly with Autofac's `InstancePerMatchingLifetimeScope` 106 | ```csharp 107 | var requestTag = MatchingScopeLifetimeTags.RequestLifetimeScopeTag; 108 | var jobTag = AutofacJobActivator.LifetimeScopeTag; 109 | builder.RegisterType().InstancePerMatchingLifetimeScope(requestTag, jobTag); 110 | ``` 111 | 112 | ### Mixed Lifetime Scopes 113 | 114 | Beaware that if you are using multiple lifetime scopes to share services that all dependencies of those services need to be similarly registered. For example: 115 | 116 | ```csharp 117 | public class WebOnlyService(){ ... } 118 | public class SharedService(WebOnlyService){ ... } 119 | 120 | builder.RegisterType().InstancePerRequest(); 121 | builder.RegisterType().InstancePerMatchingLifetimeScope(requestTag, jobTag); 122 | ``` 123 | 124 | Attempting to resolve `SharedService` from a background job will throw an exception as Autofac will need to resolve `WebOnlyService` outside of a `RequestLifetimeScope`. 125 | 126 | Also be aware that many web related properties that you may be using such as `HttpContext.Current` **will be unavailable**. 127 | -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | # AppVeyor CI build file, https://ci.appveyor.com/project/odinserj/hangfire-autofac 2 | 3 | # Notes: 4 | # - Minimal appveyor.yml file is an empty file. All sections are optional. 5 | # - Indent each level of configuration with 2 spaces. Do not use tabs! 6 | # - All section names are case-sensitive. 7 | # - Section names should be unique on each level. 8 | 9 | #---------------------------------# 10 | # environment configuration # 11 | #---------------------------------# 12 | 13 | # Please don't edit it manually, use the `build.bat version` command instead. 14 | version: 2.7.0-build-0{build} 15 | 16 | image: Visual Studio 2022 17 | 18 | environment: 19 | SIGNPATH_API_TOKEN: 20 | secure: dPSXpwedaiJbmsEWuKXVcqQrWHh1fqBelWRFUYwlN6XkcE1UjmXkZMMAxaDv7o5O 21 | 22 | #---------------------------------# 23 | # build configuration # 24 | #---------------------------------# 25 | 26 | before_build: 27 | - pwsh: Install-PSResource -Name SignPath -TrustRepository 28 | 29 | build_script: build.bat sign 30 | 31 | #---------------------------------# 32 | # tests configuration # 33 | #---------------------------------# 34 | 35 | test: off 36 | 37 | #---------------------------------# 38 | # artifacts configuration # 39 | #---------------------------------# 40 | 41 | artifacts: 42 | - path: 'build\*.nupkg' 43 | - path: 'build\*.zip' 44 | 45 | deploy: 46 | - provider: NuGet 47 | api_key: 48 | secure: RCM2ZkVmO5joy6xWzukyBRu6Wdhma5NBlCjgaaM6YywfO+lJJy0lCpK5Fp0fGDSM 49 | on: 50 | appveyor_repo_tag: true 51 | -------------------------------------------------------------------------------- /build.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | .nuget\NuGet.exe restore .nuget\packages.config -OutputDirectory packages -UseLockFile -LockedMode -NoHttpCache || exit /b 666 3 | pwsh.exe -NoProfile -ExecutionPolicy RemoteSigned -Command "& {Import-Module '.\packages\psake.*\tools\psake.psm1'; invoke-psake .\psake-project.ps1 %*; if ($psake.build_success -eq $false) { exit 1 } else { exit 0 }; }" 4 | exit /B %errorlevel% -------------------------------------------------------------------------------- /nuspecs/Hangfire.Autofac.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hangfire.Autofac 5 | %version% 6 | Hangfire Autofac Integration 7 | Sergey Odinokov 8 | HangfireIO, odinserj 9 | https://github.com/HangfireIO/Hangfire.Autofac 10 | 11 | MIT 12 | icon.png 13 | Autofac IoC Container integration support for Hangfire (background job framework for .NET applications). 14 | © 2014-2025 Hangfire OÜ 15 | Hangfire Autofac IoC Integration 16 | README.md 17 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | -------------------------------------------------------------------------------- /nuspecs/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HangfireIO/Hangfire.Autofac/066855715f5582da2218b16e9b491fe246fa4769/nuspecs/icon.png -------------------------------------------------------------------------------- /psake-project.ps1: -------------------------------------------------------------------------------- 1 | Include "packages\Hangfire.Build.0.5.0\tools\psake-common.ps1" 2 | 3 | Task Default -Depends Pack 4 | 5 | Task Test -Depends Compile -Description "Run unit and integration tests." { 6 | Exec { dotnet test -c release --no-build "tests\Hangfire.Autofac.Tests" } 7 | } 8 | 9 | Task Collect -Depends Test -Description "Copy all artifacts to the build folder." { 10 | Collect-Assembly "Hangfire.Autofac" "net45" 11 | Collect-Assembly "Hangfire.Autofac" "netstandard1.3" 12 | Collect-Assembly "Hangfire.Autofac" "netstandard2.0" 13 | Collect-File "LICENSE" 14 | Collect-File "README.md" 15 | } 16 | 17 | Task Pack -Depends Collect -Description "Create NuGet packages and archive files." { 18 | $version = Get-PackageVersion 19 | 20 | Create-Package "Hangfire.Autofac" $version 21 | Create-Archive "Hangfire.Autofac-$version" 22 | } 23 | 24 | Task Sign -Depends Pack -Description "Sign artifacts." { 25 | $version = Get-PackageVersion 26 | 27 | Sign-ArchiveContents "Hangfire.Autofac-$version" "hangfire" 28 | } -------------------------------------------------------------------------------- /src/Directory.Build.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | false 6 | true 7 | embedded 8 | true 9 | false 10 | 11 | 12 | 13 | true 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | true 27 | latest 28 | All 29 | true 30 | 31 | -------------------------------------------------------------------------------- /src/Hangfire.Autofac/AutofacBootstrapperConfigurationExtensions.cs: -------------------------------------------------------------------------------- 1 | #if NET45 2 | using System; 3 | using Autofac; 4 | 5 | // ReSharper disable once CheckNamespace 6 | namespace Hangfire 7 | { 8 | public static class AutofacBootstrapperConfigurationExtensions 9 | { 10 | /// 11 | /// Tells bootstrapper to use the specified Autofac 12 | /// lifetime scope as a global job activator. 13 | /// 14 | /// Configuration 15 | /// Autofac lifetime scope that will be used to activate jobs 16 | /// should tagged lifetimeScopes be used 17 | [Obsolete("Please use `GlobalConfiguration.Configuration.UseAutofacActivator` method instead. Will be removed in version 2.0.0.")] 18 | public static void UseAutofacActivator( 19 | this IBootstrapperConfiguration configuration, 20 | ILifetimeScope lifetimeScope, bool useTaggedLifetimeScope = true) 21 | { 22 | if (configuration == null) throw new ArgumentNullException(nameof(configuration)); 23 | configuration.UseActivator(new AutofacJobActivator(lifetimeScope, useTaggedLifetimeScope)); 24 | } 25 | } 26 | } 27 | #endif -------------------------------------------------------------------------------- /src/Hangfire.Autofac/AutofacJobActivator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Autofac; 3 | using Hangfire.Annotations; 4 | 5 | // ReSharper disable once CheckNamespace 6 | namespace Hangfire 7 | { 8 | /// 9 | /// Hangfire Job Activator based on Autofac IoC Container. 10 | /// 11 | public class AutofacJobActivator : JobActivator 12 | { 13 | /// 14 | /// Tag used in setting up per-job lifetime scope registrations. 15 | /// 16 | public static readonly object LifetimeScopeTag = "BackgroundJobScope"; 17 | 18 | private readonly ILifetimeScope _lifetimeScope; 19 | #if !NET45 20 | private readonly Action _scopeConfigurationAction; 21 | #endif 22 | private readonly bool _useTaggedLifetimeScope; 23 | 24 | /// 25 | /// Initializes a new instance of the 26 | /// class with the given Autofac Lifetime Scope. 27 | /// 28 | /// Container that will be used to create instance 29 | /// of classes during job activation process. 30 | /// Should the Container use Tag 31 | /// BackgroundJobScope to resolve dependencies or create new Scope on each job 32 | public AutofacJobActivator([NotNull] ILifetimeScope lifetimeScope, bool useTaggedLifetimeScope = true) 33 | { 34 | _lifetimeScope = lifetimeScope ?? throw new ArgumentNullException(nameof(lifetimeScope)); 35 | _useTaggedLifetimeScope = useTaggedLifetimeScope; 36 | } 37 | 38 | #if !NET45 39 | public AutofacJobActivator( 40 | [NotNull] ILifetimeScope lifetimeScope, 41 | [CanBeNull] Action scopeConfigurationAction, 42 | bool useTaggedLifetimeScope = true) 43 | { 44 | _lifetimeScope = lifetimeScope ?? throw new ArgumentNullException(nameof(lifetimeScope)); 45 | _scopeConfigurationAction = scopeConfigurationAction; 46 | _useTaggedLifetimeScope = useTaggedLifetimeScope; 47 | } 48 | #endif 49 | 50 | /// 51 | public override object ActivateJob(Type jobType) 52 | { 53 | return _lifetimeScope.Resolve(jobType); 54 | } 55 | 56 | #if NET45 57 | public override JobActivatorScope BeginScope() 58 | { 59 | return new AutofacScope(_useTaggedLifetimeScope 60 | ? _lifetimeScope.BeginLifetimeScope(LifetimeScopeTag) 61 | : _lifetimeScope.BeginLifetimeScope()); 62 | } 63 | #else 64 | public override JobActivatorScope BeginScope(JobActivatorContext context) 65 | { 66 | if (_scopeConfigurationAction != null) 67 | { 68 | Action configurationAction = builder => 69 | { 70 | _scopeConfigurationAction(builder, context); 71 | }; 72 | 73 | return new AutofacScope(_useTaggedLifetimeScope 74 | ? _lifetimeScope.BeginLifetimeScope(LifetimeScopeTag, configurationAction) 75 | : _lifetimeScope.BeginLifetimeScope(configurationAction)); 76 | } 77 | 78 | return new AutofacScope(_useTaggedLifetimeScope 79 | ? _lifetimeScope.BeginLifetimeScope(LifetimeScopeTag) 80 | : _lifetimeScope.BeginLifetimeScope()); 81 | } 82 | #endif 83 | 84 | private sealed class AutofacScope : JobActivatorScope 85 | { 86 | private readonly ILifetimeScope _lifetimeScope; 87 | 88 | public AutofacScope(ILifetimeScope lifetimeScope) 89 | { 90 | _lifetimeScope = lifetimeScope; 91 | } 92 | 93 | public override object Resolve(Type type) 94 | { 95 | return _lifetimeScope.Resolve(type); 96 | } 97 | 98 | public override void DisposeScope() 99 | { 100 | _lifetimeScope.Dispose(); 101 | } 102 | } 103 | } 104 | } 105 | -------------------------------------------------------------------------------- /src/Hangfire.Autofac/GlobalConfigurationExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Autofac; 3 | using Hangfire.Annotations; 4 | 5 | // ReSharper disable once CheckNamespace 6 | namespace Hangfire 7 | { 8 | public static class GlobalConfigurationExtensions 9 | { 10 | public static IGlobalConfiguration UseAutofacActivator( 11 | [NotNull] this IGlobalConfiguration configuration, 12 | [NotNull] ILifetimeScope lifetimeScope, bool useTaggedLifetimeScope = true) 13 | { 14 | if (configuration == null) throw new ArgumentNullException(nameof(configuration)); 15 | if (lifetimeScope == null) throw new ArgumentNullException(nameof(lifetimeScope)); 16 | 17 | return configuration.UseActivator(new AutofacJobActivator(lifetimeScope, useTaggedLifetimeScope)); 18 | } 19 | 20 | #if !NET45 21 | public static IGlobalConfiguration UseAutofacActivator( 22 | [NotNull] this IGlobalConfiguration configuration, 23 | [NotNull] ILifetimeScope lifetimeScope, 24 | [CanBeNull] Action scopeConfigurationAction, 25 | bool useTaggedLifetimeScope = true) 26 | { 27 | if (configuration == null) throw new ArgumentNullException(nameof(configuration)); 28 | if (lifetimeScope == null) throw new ArgumentNullException(nameof(lifetimeScope)); 29 | 30 | return configuration.UseActivator(new AutofacJobActivator(lifetimeScope, scopeConfigurationAction, useTaggedLifetimeScope)); 31 | } 32 | #endif 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/Hangfire.Autofac/Hangfire.Autofac.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | net45;netstandard1.3;netstandard2.0 4 | 1591;NU1603 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/Hangfire.Autofac/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | [assembly: AssemblyTitle("Hangfire.Autofac")] 6 | [assembly: AssemblyDescription("Autofac IoC Container integration support for Hangfire.")] 7 | [assembly: Guid("c38d8acf-7b2c-4d7f-84ad-c477879ade3f")] -------------------------------------------------------------------------------- /src/Hangfire.Autofac/RegistrationExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using Autofac.Builder; 4 | using Hangfire.Annotations; 5 | 6 | // ReSharper disable once CheckNamespace 7 | namespace Hangfire 8 | { 9 | /// 10 | /// Adds registration syntax to the type. 11 | /// 12 | public static class RegistrationExtensions 13 | { 14 | private static readonly object[] EmptyObjectArray = 15 | #if NET45 16 | new object[0] 17 | #else 18 | Array.Empty() 19 | #endif 20 | ; 21 | 22 | /// 23 | /// Share one instance of the component within the context of a single 24 | /// processing background job instance. 25 | /// 26 | /// Registration limit type. 27 | /// Activator data type. 28 | /// Registration style. 29 | /// The registration to configure. 30 | /// A registration builder allowing further configuration of the component. 31 | /// 32 | /// Thrown when is . 33 | /// 34 | public static IRegistrationBuilder 35 | InstancePerBackgroundJob( 36 | [NotNull] this IRegistrationBuilder registration) 37 | { 38 | return registration.InstancePerBackgroundJob(EmptyObjectArray); 39 | } 40 | 41 | /// 42 | /// Share one instance of the component within the context of a single 43 | /// processing background job instance. 44 | /// 45 | /// Registration limit type. 46 | /// Activator data type. 47 | /// Registration style. 48 | /// The registration to configure. 49 | /// Additional tags applied for matching lifetime scopes. 50 | /// A registration builder allowing further configuration of the component. 51 | /// 52 | /// Thrown when is . 53 | /// 54 | public static IRegistrationBuilder 55 | InstancePerBackgroundJob( 56 | [NotNull] this IRegistrationBuilder registration, 57 | params object[] lifetimeScopeTags) 58 | { 59 | if (registration == null) throw new ArgumentNullException(nameof(registration)); 60 | 61 | var tags = new List { AutofacJobActivator.LifetimeScopeTag }; 62 | tags.AddRange(lifetimeScopeTags); 63 | 64 | return registration.InstancePerMatchingLifetimeScope(tags.ToArray()); 65 | } 66 | } 67 | } -------------------------------------------------------------------------------- /src/Hangfire.Autofac/packages.lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "dependencies": { 4 | ".NETFramework,Version=v4.5": { 5 | "Autofac": { 6 | "type": "Direct", 7 | "requested": "[3.0.0, )", 8 | "resolved": "3.0.0", 9 | "contentHash": "MzwfKuvmltHX+7ty3ewZU3vbACIdLhK1/pHG4BS7YF+15rJ3e7sjG3Fsjyfys8ZMSNcHa4fUyh9TYzAZ6q4eBQ==" 10 | }, 11 | "Hangfire.Core": { 12 | "type": "Direct", 13 | "requested": "[1.5.0, )", 14 | "resolved": "1.5.0", 15 | "contentHash": "UPN0Q0J+oWGksz7Lq/tayaepsga5SY4kk1hBkmniQ3yfJCXyMHH9Dz0CWjtWNBXGwq3N0HlzipFflAX/+ono0Q==", 16 | "dependencies": { 17 | "Newtonsoft.Json": "5.0.0", 18 | "Owin": "1.0.0" 19 | } 20 | }, 21 | "Microsoft.CodeAnalysis.NetAnalyzers": { 22 | "type": "Direct", 23 | "requested": "[9.0.0, )", 24 | "resolved": "9.0.0", 25 | "contentHash": "JajbvkrBgtdRghavIjcJuNHMOja4lqBmEezbhZyqWPYh2cpLhT5mPpfC7NQVDO4IehWQum9t/nwF4v+qQGtYWg==" 26 | }, 27 | "Microsoft.NETFramework.ReferenceAssemblies": { 28 | "type": "Direct", 29 | "requested": "[1.0.3, )", 30 | "resolved": "1.0.3", 31 | "contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==", 32 | "dependencies": { 33 | "Microsoft.NETFramework.ReferenceAssemblies.net45": "1.0.3" 34 | } 35 | }, 36 | "Microsoft.SourceLink.GitHub": { 37 | "type": "Direct", 38 | "requested": "[8.0.0, )", 39 | "resolved": "8.0.0", 40 | "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", 41 | "dependencies": { 42 | "Microsoft.Build.Tasks.Git": "8.0.0", 43 | "Microsoft.SourceLink.Common": "8.0.0" 44 | } 45 | }, 46 | "Microsoft.Build.Tasks.Git": { 47 | "type": "Transitive", 48 | "resolved": "8.0.0", 49 | "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" 50 | }, 51 | "Microsoft.NETFramework.ReferenceAssemblies.net45": { 52 | "type": "Transitive", 53 | "resolved": "1.0.3", 54 | "contentHash": "dcSLNuUX2rfZejsyta2EWZ1W5U6ucbFt697lRg1qiTlTM5ZlYv4uAvuxE6ROy6xLWWhLhOaReCDxkhxcajRYtQ==" 55 | }, 56 | "Microsoft.SourceLink.Common": { 57 | "type": "Transitive", 58 | "resolved": "8.0.0", 59 | "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" 60 | }, 61 | "Newtonsoft.Json": { 62 | "type": "Transitive", 63 | "resolved": "5.0.1", 64 | "contentHash": "AuSDf0kpGGLSvFmj1Zia8BxTeUCdQ6lB8lWUZRYVXRnAQLmiEGmoP0M+9KHwJNqBW2FiFwSG8Jkz3G7tS6k7MQ==" 65 | }, 66 | "Owin": { 67 | "type": "Transitive", 68 | "resolved": "1.0.0", 69 | "contentHash": "OseTFniKmyp76mEzOBwIKGBRS5eMoYNkMKaMXOpxx9jv88+b6mh1rSaw43vjBOItNhaLFG3d0a20PfHyibH5sw==" 70 | } 71 | }, 72 | ".NETStandard,Version=v1.3": { 73 | "Autofac": { 74 | "type": "Direct", 75 | "requested": "[4.0.0, )", 76 | "resolved": "4.0.0", 77 | "contentHash": "SCKzdkxEhyP0ahU4j2Fl3SQEO3BzAgGl1WpXe7oNHdDiVKRJ6DRpumfSekABPaBygeWwjDt88PBqe2nRToRrYA==", 78 | "dependencies": { 79 | "NETStandard.Library": "1.6.0", 80 | "System.ComponentModel": "4.0.1" 81 | } 82 | }, 83 | "Hangfire.Core": { 84 | "type": "Direct", 85 | "requested": "[1.6.0, )", 86 | "resolved": "1.6.0", 87 | "contentHash": "z3tCW8dIIbKASprzf8qC/4a+tkJ/Eq78k4jNsTkecYzVt9VAMDc8Yz+gaoiylIcHEqRc9XVq13Z81Gaz29pxKQ==", 88 | "dependencies": { 89 | "Microsoft.NETCore.Portable.Compatibility": "1.0.1", 90 | "NETStandard.Library": "1.6.0", 91 | "Newtonsoft.Json": "9.0.1", 92 | "System.Threading.Thread": "4.0.0" 93 | } 94 | }, 95 | "Microsoft.CodeAnalysis.NetAnalyzers": { 96 | "type": "Direct", 97 | "requested": "[9.0.0, )", 98 | "resolved": "9.0.0", 99 | "contentHash": "JajbvkrBgtdRghavIjcJuNHMOja4lqBmEezbhZyqWPYh2cpLhT5mPpfC7NQVDO4IehWQum9t/nwF4v+qQGtYWg==" 100 | }, 101 | "Microsoft.SourceLink.GitHub": { 102 | "type": "Direct", 103 | "requested": "[8.0.0, )", 104 | "resolved": "8.0.0", 105 | "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", 106 | "dependencies": { 107 | "Microsoft.Build.Tasks.Git": "8.0.0", 108 | "Microsoft.SourceLink.Common": "8.0.0" 109 | } 110 | }, 111 | "NETStandard.Library": { 112 | "type": "Direct", 113 | "requested": "[1.6.1, )", 114 | "resolved": "1.6.1", 115 | "contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", 116 | "dependencies": { 117 | "Microsoft.NETCore.Platforms": "1.1.0", 118 | "Microsoft.Win32.Primitives": "4.3.0", 119 | "System.AppContext": "4.3.0", 120 | "System.Collections": "4.3.0", 121 | "System.Collections.Concurrent": "4.3.0", 122 | "System.Console": "4.3.0", 123 | "System.Diagnostics.Debug": "4.3.0", 124 | "System.Diagnostics.Tools": "4.3.0", 125 | "System.Diagnostics.Tracing": "4.3.0", 126 | "System.Globalization": "4.3.0", 127 | "System.Globalization.Calendars": "4.3.0", 128 | "System.IO": "4.3.0", 129 | "System.IO.Compression": "4.3.0", 130 | "System.IO.Compression.ZipFile": "4.3.0", 131 | "System.IO.FileSystem": "4.3.0", 132 | "System.IO.FileSystem.Primitives": "4.3.0", 133 | "System.Linq": "4.3.0", 134 | "System.Linq.Expressions": "4.3.0", 135 | "System.Net.Http": "4.3.0", 136 | "System.Net.Primitives": "4.3.0", 137 | "System.Net.Sockets": "4.3.0", 138 | "System.ObjectModel": "4.3.0", 139 | "System.Reflection": "4.3.0", 140 | "System.Reflection.Extensions": "4.3.0", 141 | "System.Reflection.Primitives": "4.3.0", 142 | "System.Resources.ResourceManager": "4.3.0", 143 | "System.Runtime": "4.3.0", 144 | "System.Runtime.Extensions": "4.3.0", 145 | "System.Runtime.Handles": "4.3.0", 146 | "System.Runtime.InteropServices": "4.3.0", 147 | "System.Runtime.InteropServices.RuntimeInformation": "4.3.0", 148 | "System.Runtime.Numerics": "4.3.0", 149 | "System.Security.Cryptography.Algorithms": "4.3.0", 150 | "System.Security.Cryptography.Encoding": "4.3.0", 151 | "System.Security.Cryptography.Primitives": "4.3.0", 152 | "System.Security.Cryptography.X509Certificates": "4.3.0", 153 | "System.Text.Encoding": "4.3.0", 154 | "System.Text.Encoding.Extensions": "4.3.0", 155 | "System.Text.RegularExpressions": "4.3.0", 156 | "System.Threading": "4.3.0", 157 | "System.Threading.Tasks": "4.3.0", 158 | "System.Threading.Timer": "4.3.0", 159 | "System.Xml.ReaderWriter": "4.3.0", 160 | "System.Xml.XDocument": "4.3.0" 161 | } 162 | }, 163 | "Microsoft.Build.Tasks.Git": { 164 | "type": "Transitive", 165 | "resolved": "8.0.0", 166 | "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" 167 | }, 168 | "Microsoft.CSharp": { 169 | "type": "Transitive", 170 | "resolved": "4.0.1", 171 | "contentHash": "17h8b5mXa87XYKrrVqdgZ38JefSUqLChUQpXgSnpzsM0nDOhE40FTeNWOJ/YmySGV6tG6T8+hjz6vxbknHJr6A==", 172 | "dependencies": { 173 | "System.Collections": "4.0.11", 174 | "System.Diagnostics.Debug": "4.0.11", 175 | "System.Dynamic.Runtime": "4.0.11", 176 | "System.Globalization": "4.0.11", 177 | "System.Linq": "4.1.0", 178 | "System.Linq.Expressions": "4.1.0", 179 | "System.ObjectModel": "4.0.12", 180 | "System.Reflection": "4.1.0", 181 | "System.Reflection.Extensions": "4.0.1", 182 | "System.Reflection.Primitives": "4.0.1", 183 | "System.Reflection.TypeExtensions": "4.1.0", 184 | "System.Resources.ResourceManager": "4.0.1", 185 | "System.Runtime": "4.1.0", 186 | "System.Runtime.Extensions": "4.1.0", 187 | "System.Runtime.InteropServices": "4.1.0", 188 | "System.Threading": "4.0.11" 189 | } 190 | }, 191 | "Microsoft.NETCore.Jit": { 192 | "type": "Transitive", 193 | "resolved": "1.0.2", 194 | "contentHash": "Ok2vWofa6X8WD9vc4pfLHwvJz1/B6t3gOAoZcjrjrQf7lQOlNIuZIZtLn3wnWX28DuQGpPJkRlBxFj7Z5txNqw==" 195 | }, 196 | "Microsoft.NETCore.Platforms": { 197 | "type": "Transitive", 198 | "resolved": "1.1.0", 199 | "contentHash": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==" 200 | }, 201 | "Microsoft.NETCore.Portable.Compatibility": { 202 | "type": "Transitive", 203 | "resolved": "1.0.1", 204 | "contentHash": "Vd+lvLcGwvkedxtKn0U8s9uR4p0Lm+0U2QvDsLaw7g4S1W4KfPDbaW+ROhhLCSOx/gMYC72/b+z+o4fqS/oxVg==", 205 | "dependencies": { 206 | "Microsoft.NETCore.Runtime.CoreCLR": "1.0.2" 207 | } 208 | }, 209 | "Microsoft.NETCore.Runtime.CoreCLR": { 210 | "type": "Transitive", 211 | "resolved": "1.0.2", 212 | "contentHash": "A0x1xtTjYJWZr2DRzgfCOXgB0JkQg8twnmtTJ79wFje+IihlLbXtx6Z2AxyVokBM5ruwTedR6YdCmHk39QJdtQ==", 213 | "dependencies": { 214 | "Microsoft.NETCore.Jit": "1.0.2", 215 | "Microsoft.NETCore.Windows.ApiSets": "1.0.1" 216 | } 217 | }, 218 | "Microsoft.NETCore.Targets": { 219 | "type": "Transitive", 220 | "resolved": "1.1.0", 221 | "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" 222 | }, 223 | "Microsoft.NETCore.Windows.ApiSets": { 224 | "type": "Transitive", 225 | "resolved": "1.0.1", 226 | "contentHash": "SaToCvvsGMxTgtLv/BrFQ5IFMPRE1zpWbnqbpwykJa8W5XiX82CXI6K2o7yf5xS7EP6t/JzFLV0SIDuWpvBZVw==" 227 | }, 228 | "Microsoft.SourceLink.Common": { 229 | "type": "Transitive", 230 | "resolved": "8.0.0", 231 | "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" 232 | }, 233 | "Microsoft.Win32.Primitives": { 234 | "type": "Transitive", 235 | "resolved": "4.3.0", 236 | "contentHash": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", 237 | "dependencies": { 238 | "Microsoft.NETCore.Platforms": "1.1.0", 239 | "Microsoft.NETCore.Targets": "1.1.0", 240 | "System.Runtime": "4.3.0" 241 | } 242 | }, 243 | "Newtonsoft.Json": { 244 | "type": "Transitive", 245 | "resolved": "9.0.1", 246 | "contentHash": "U82mHQSKaIk+lpSVCbWYKNavmNH1i5xrExDEquU1i6I5pV6UMOqRnJRSlKO3cMPfcpp0RgDY+8jUXHdQ4IfXvw==", 247 | "dependencies": { 248 | "Microsoft.CSharp": "4.0.1", 249 | "System.Collections": "4.0.11", 250 | "System.Diagnostics.Debug": "4.0.11", 251 | "System.Dynamic.Runtime": "4.0.11", 252 | "System.Globalization": "4.0.11", 253 | "System.IO": "4.1.0", 254 | "System.Linq": "4.1.0", 255 | "System.Linq.Expressions": "4.1.0", 256 | "System.ObjectModel": "4.0.12", 257 | "System.Reflection": "4.1.0", 258 | "System.Reflection.Extensions": "4.0.1", 259 | "System.Resources.ResourceManager": "4.0.1", 260 | "System.Runtime": "4.1.0", 261 | "System.Runtime.Extensions": "4.1.0", 262 | "System.Runtime.Serialization.Primitives": "4.1.1", 263 | "System.Text.Encoding": "4.0.11", 264 | "System.Text.Encoding.Extensions": "4.0.11", 265 | "System.Text.RegularExpressions": "4.1.0", 266 | "System.Threading": "4.0.11", 267 | "System.Threading.Tasks": "4.0.11", 268 | "System.Xml.ReaderWriter": "4.0.11", 269 | "System.Xml.XDocument": "4.0.11" 270 | } 271 | }, 272 | "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { 273 | "type": "Transitive", 274 | "resolved": "4.3.0", 275 | "contentHash": "HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==" 276 | }, 277 | "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { 278 | "type": "Transitive", 279 | "resolved": "4.3.0", 280 | "contentHash": "+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==" 281 | }, 282 | "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { 283 | "type": "Transitive", 284 | "resolved": "4.3.0", 285 | "contentHash": "c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==" 286 | }, 287 | "runtime.native.System": { 288 | "type": "Transitive", 289 | "resolved": "4.3.0", 290 | "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", 291 | "dependencies": { 292 | "Microsoft.NETCore.Platforms": "1.1.0", 293 | "Microsoft.NETCore.Targets": "1.1.0" 294 | } 295 | }, 296 | "runtime.native.System.IO.Compression": { 297 | "type": "Transitive", 298 | "resolved": "4.3.0", 299 | "contentHash": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", 300 | "dependencies": { 301 | "Microsoft.NETCore.Platforms": "1.1.0", 302 | "Microsoft.NETCore.Targets": "1.1.0" 303 | } 304 | }, 305 | "runtime.native.System.Security.Cryptography.OpenSsl": { 306 | "type": "Transitive", 307 | "resolved": "4.3.0", 308 | "contentHash": "NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", 309 | "dependencies": { 310 | "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 311 | "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 312 | "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 313 | "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 314 | "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 315 | "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 316 | "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 317 | "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 318 | "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 319 | "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" 320 | } 321 | }, 322 | "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": { 323 | "type": "Transitive", 324 | "resolved": "4.3.0", 325 | "contentHash": "b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==" 326 | }, 327 | "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { 328 | "type": "Transitive", 329 | "resolved": "4.3.0", 330 | "contentHash": "KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==" 331 | }, 332 | "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { 333 | "type": "Transitive", 334 | "resolved": "4.3.0", 335 | "contentHash": "X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==" 336 | }, 337 | "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { 338 | "type": "Transitive", 339 | "resolved": "4.3.0", 340 | "contentHash": "nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==" 341 | }, 342 | "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { 343 | "type": "Transitive", 344 | "resolved": "4.3.0", 345 | "contentHash": "ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==" 346 | }, 347 | "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { 348 | "type": "Transitive", 349 | "resolved": "4.3.0", 350 | "contentHash": "I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==" 351 | }, 352 | "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { 353 | "type": "Transitive", 354 | "resolved": "4.3.0", 355 | "contentHash": "VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==" 356 | }, 357 | "System.AppContext": { 358 | "type": "Transitive", 359 | "resolved": "4.3.0", 360 | "contentHash": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", 361 | "dependencies": { 362 | "System.Runtime": "4.3.0" 363 | } 364 | }, 365 | "System.Buffers": { 366 | "type": "Transitive", 367 | "resolved": "4.3.0", 368 | "contentHash": "ratu44uTIHgeBeI0dE8DWvmXVBSo4u7ozRZZHOMmK/JPpYyo0dAfgSiHlpiObMQ5lEtEyIXA40sKRYg5J6A8uQ==", 369 | "dependencies": { 370 | "System.Diagnostics.Debug": "4.3.0", 371 | "System.Diagnostics.Tracing": "4.3.0", 372 | "System.Resources.ResourceManager": "4.3.0", 373 | "System.Runtime": "4.3.0", 374 | "System.Threading": "4.3.0" 375 | } 376 | }, 377 | "System.Collections": { 378 | "type": "Transitive", 379 | "resolved": "4.3.0", 380 | "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", 381 | "dependencies": { 382 | "Microsoft.NETCore.Platforms": "1.1.0", 383 | "Microsoft.NETCore.Targets": "1.1.0", 384 | "System.Runtime": "4.3.0" 385 | } 386 | }, 387 | "System.Collections.Concurrent": { 388 | "type": "Transitive", 389 | "resolved": "4.3.0", 390 | "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", 391 | "dependencies": { 392 | "System.Collections": "4.3.0", 393 | "System.Diagnostics.Debug": "4.3.0", 394 | "System.Diagnostics.Tracing": "4.3.0", 395 | "System.Globalization": "4.3.0", 396 | "System.Reflection": "4.3.0", 397 | "System.Resources.ResourceManager": "4.3.0", 398 | "System.Runtime": "4.3.0", 399 | "System.Runtime.Extensions": "4.3.0", 400 | "System.Threading": "4.3.0", 401 | "System.Threading.Tasks": "4.3.0" 402 | } 403 | }, 404 | "System.ComponentModel": { 405 | "type": "Transitive", 406 | "resolved": "4.0.1", 407 | "contentHash": "oBZFnm7seFiVfugsIyOvQCWobNZs7FzqDV/B7tx20Ep/l3UUFCPDkdTnCNaJZTU27zjeODmy2C/cP60u3D4c9w==", 408 | "dependencies": { 409 | "System.Runtime": "4.1.0" 410 | } 411 | }, 412 | "System.Console": { 413 | "type": "Transitive", 414 | "resolved": "4.3.0", 415 | "contentHash": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", 416 | "dependencies": { 417 | "Microsoft.NETCore.Platforms": "1.1.0", 418 | "Microsoft.NETCore.Targets": "1.1.0", 419 | "System.IO": "4.3.0", 420 | "System.Runtime": "4.3.0", 421 | "System.Text.Encoding": "4.3.0" 422 | } 423 | }, 424 | "System.Diagnostics.Debug": { 425 | "type": "Transitive", 426 | "resolved": "4.3.0", 427 | "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", 428 | "dependencies": { 429 | "Microsoft.NETCore.Platforms": "1.1.0", 430 | "Microsoft.NETCore.Targets": "1.1.0", 431 | "System.Runtime": "4.3.0" 432 | } 433 | }, 434 | "System.Diagnostics.DiagnosticSource": { 435 | "type": "Transitive", 436 | "resolved": "4.3.0", 437 | "contentHash": "tD6kosZnTAGdrEa0tZSuFyunMbt/5KYDnHdndJYGqZoNy00XVXyACd5d6KnE1YgYv3ne2CjtAfNXo/fwEhnKUA==", 438 | "dependencies": { 439 | "System.Collections": "4.3.0", 440 | "System.Diagnostics.Tracing": "4.3.0", 441 | "System.Reflection": "4.3.0", 442 | "System.Runtime": "4.3.0", 443 | "System.Threading": "4.3.0" 444 | } 445 | }, 446 | "System.Diagnostics.Tools": { 447 | "type": "Transitive", 448 | "resolved": "4.3.0", 449 | "contentHash": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", 450 | "dependencies": { 451 | "Microsoft.NETCore.Platforms": "1.1.0", 452 | "Microsoft.NETCore.Targets": "1.1.0", 453 | "System.Runtime": "4.3.0" 454 | } 455 | }, 456 | "System.Diagnostics.Tracing": { 457 | "type": "Transitive", 458 | "resolved": "4.3.0", 459 | "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", 460 | "dependencies": { 461 | "Microsoft.NETCore.Platforms": "1.1.0", 462 | "Microsoft.NETCore.Targets": "1.1.0", 463 | "System.Runtime": "4.3.0" 464 | } 465 | }, 466 | "System.Dynamic.Runtime": { 467 | "type": "Transitive", 468 | "resolved": "4.0.11", 469 | "contentHash": "db34f6LHYM0U0JpE+sOmjar27BnqTVkbLJhgfwMpTdgTigG/Hna3m2MYVwnFzGGKnEJk2UXFuoVTr8WUbU91/A==", 470 | "dependencies": { 471 | "System.Collections": "4.0.11", 472 | "System.Diagnostics.Debug": "4.0.11", 473 | "System.Globalization": "4.0.11", 474 | "System.Linq": "4.1.0", 475 | "System.Linq.Expressions": "4.1.0", 476 | "System.ObjectModel": "4.0.12", 477 | "System.Reflection": "4.1.0", 478 | "System.Reflection.Emit": "4.0.1", 479 | "System.Reflection.Emit.ILGeneration": "4.0.1", 480 | "System.Reflection.Primitives": "4.0.1", 481 | "System.Reflection.TypeExtensions": "4.1.0", 482 | "System.Resources.ResourceManager": "4.0.1", 483 | "System.Runtime": "4.1.0", 484 | "System.Runtime.Extensions": "4.1.0", 485 | "System.Threading": "4.0.11" 486 | } 487 | }, 488 | "System.Globalization": { 489 | "type": "Transitive", 490 | "resolved": "4.3.0", 491 | "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", 492 | "dependencies": { 493 | "Microsoft.NETCore.Platforms": "1.1.0", 494 | "Microsoft.NETCore.Targets": "1.1.0", 495 | "System.Runtime": "4.3.0" 496 | } 497 | }, 498 | "System.Globalization.Calendars": { 499 | "type": "Transitive", 500 | "resolved": "4.3.0", 501 | "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", 502 | "dependencies": { 503 | "Microsoft.NETCore.Platforms": "1.1.0", 504 | "Microsoft.NETCore.Targets": "1.1.0", 505 | "System.Globalization": "4.3.0", 506 | "System.Runtime": "4.3.0" 507 | } 508 | }, 509 | "System.IO": { 510 | "type": "Transitive", 511 | "resolved": "4.3.0", 512 | "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", 513 | "dependencies": { 514 | "Microsoft.NETCore.Platforms": "1.1.0", 515 | "Microsoft.NETCore.Targets": "1.1.0", 516 | "System.Runtime": "4.3.0", 517 | "System.Text.Encoding": "4.3.0", 518 | "System.Threading.Tasks": "4.3.0" 519 | } 520 | }, 521 | "System.IO.Compression": { 522 | "type": "Transitive", 523 | "resolved": "4.3.0", 524 | "contentHash": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", 525 | "dependencies": { 526 | "Microsoft.NETCore.Platforms": "1.1.0", 527 | "System.Buffers": "4.3.0", 528 | "System.Collections": "4.3.0", 529 | "System.Diagnostics.Debug": "4.3.0", 530 | "System.IO": "4.3.0", 531 | "System.Resources.ResourceManager": "4.3.0", 532 | "System.Runtime": "4.3.0", 533 | "System.Runtime.Extensions": "4.3.0", 534 | "System.Runtime.Handles": "4.3.0", 535 | "System.Runtime.InteropServices": "4.3.0", 536 | "System.Text.Encoding": "4.3.0", 537 | "System.Threading": "4.3.0", 538 | "System.Threading.Tasks": "4.3.0", 539 | "runtime.native.System": "4.3.0", 540 | "runtime.native.System.IO.Compression": "4.3.0" 541 | } 542 | }, 543 | "System.IO.Compression.ZipFile": { 544 | "type": "Transitive", 545 | "resolved": "4.3.0", 546 | "contentHash": "G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", 547 | "dependencies": { 548 | "System.Buffers": "4.3.0", 549 | "System.IO": "4.3.0", 550 | "System.IO.Compression": "4.3.0", 551 | "System.IO.FileSystem": "4.3.0", 552 | "System.IO.FileSystem.Primitives": "4.3.0", 553 | "System.Resources.ResourceManager": "4.3.0", 554 | "System.Runtime": "4.3.0", 555 | "System.Runtime.Extensions": "4.3.0", 556 | "System.Text.Encoding": "4.3.0" 557 | } 558 | }, 559 | "System.IO.FileSystem": { 560 | "type": "Transitive", 561 | "resolved": "4.3.0", 562 | "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", 563 | "dependencies": { 564 | "Microsoft.NETCore.Platforms": "1.1.0", 565 | "Microsoft.NETCore.Targets": "1.1.0", 566 | "System.IO": "4.3.0", 567 | "System.IO.FileSystem.Primitives": "4.3.0", 568 | "System.Runtime": "4.3.0", 569 | "System.Runtime.Handles": "4.3.0", 570 | "System.Text.Encoding": "4.3.0", 571 | "System.Threading.Tasks": "4.3.0" 572 | } 573 | }, 574 | "System.IO.FileSystem.Primitives": { 575 | "type": "Transitive", 576 | "resolved": "4.3.0", 577 | "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", 578 | "dependencies": { 579 | "System.Runtime": "4.3.0" 580 | } 581 | }, 582 | "System.Linq": { 583 | "type": "Transitive", 584 | "resolved": "4.3.0", 585 | "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", 586 | "dependencies": { 587 | "System.Collections": "4.3.0", 588 | "System.Runtime": "4.3.0" 589 | } 590 | }, 591 | "System.Linq.Expressions": { 592 | "type": "Transitive", 593 | "resolved": "4.3.0", 594 | "contentHash": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", 595 | "dependencies": { 596 | "System.Reflection": "4.3.0", 597 | "System.Runtime": "4.3.0" 598 | } 599 | }, 600 | "System.Net.Http": { 601 | "type": "Transitive", 602 | "resolved": "4.3.0", 603 | "contentHash": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", 604 | "dependencies": { 605 | "Microsoft.NETCore.Platforms": "1.1.0", 606 | "Microsoft.Win32.Primitives": "4.3.0", 607 | "System.Collections": "4.3.0", 608 | "System.Diagnostics.Debug": "4.3.0", 609 | "System.Diagnostics.DiagnosticSource": "4.3.0", 610 | "System.Diagnostics.Tracing": "4.3.0", 611 | "System.Globalization": "4.3.0", 612 | "System.IO": "4.3.0", 613 | "System.IO.Compression": "4.3.0", 614 | "System.Net.Primitives": "4.3.0", 615 | "System.Resources.ResourceManager": "4.3.0", 616 | "System.Runtime": "4.3.0", 617 | "System.Runtime.Extensions": "4.3.0", 618 | "System.Runtime.Handles": "4.3.0", 619 | "System.Runtime.InteropServices": "4.3.0", 620 | "System.Security.Cryptography.X509Certificates": "4.3.0", 621 | "System.Text.Encoding": "4.3.0", 622 | "System.Threading": "4.3.0", 623 | "System.Threading.Tasks": "4.3.0" 624 | } 625 | }, 626 | "System.Net.Primitives": { 627 | "type": "Transitive", 628 | "resolved": "4.3.0", 629 | "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", 630 | "dependencies": { 631 | "Microsoft.NETCore.Platforms": "1.1.0", 632 | "Microsoft.NETCore.Targets": "1.1.0", 633 | "System.Runtime": "4.3.0", 634 | "System.Runtime.Handles": "4.3.0" 635 | } 636 | }, 637 | "System.Net.Sockets": { 638 | "type": "Transitive", 639 | "resolved": "4.3.0", 640 | "contentHash": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", 641 | "dependencies": { 642 | "Microsoft.NETCore.Platforms": "1.1.0", 643 | "Microsoft.NETCore.Targets": "1.1.0", 644 | "System.IO": "4.3.0", 645 | "System.Net.Primitives": "4.3.0", 646 | "System.Runtime": "4.3.0", 647 | "System.Threading.Tasks": "4.3.0" 648 | } 649 | }, 650 | "System.ObjectModel": { 651 | "type": "Transitive", 652 | "resolved": "4.3.0", 653 | "contentHash": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", 654 | "dependencies": { 655 | "System.Collections": "4.3.0", 656 | "System.Diagnostics.Debug": "4.3.0", 657 | "System.Resources.ResourceManager": "4.3.0", 658 | "System.Runtime": "4.3.0", 659 | "System.Threading": "4.3.0" 660 | } 661 | }, 662 | "System.Reflection": { 663 | "type": "Transitive", 664 | "resolved": "4.3.0", 665 | "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", 666 | "dependencies": { 667 | "Microsoft.NETCore.Platforms": "1.1.0", 668 | "Microsoft.NETCore.Targets": "1.1.0", 669 | "System.IO": "4.3.0", 670 | "System.Reflection.Primitives": "4.3.0", 671 | "System.Runtime": "4.3.0" 672 | } 673 | }, 674 | "System.Reflection.Emit": { 675 | "type": "Transitive", 676 | "resolved": "4.0.1", 677 | "contentHash": "P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==", 678 | "dependencies": { 679 | "System.IO": "4.1.0", 680 | "System.Reflection": "4.1.0", 681 | "System.Reflection.Emit.ILGeneration": "4.0.1", 682 | "System.Reflection.Primitives": "4.0.1", 683 | "System.Runtime": "4.1.0" 684 | } 685 | }, 686 | "System.Reflection.Emit.ILGeneration": { 687 | "type": "Transitive", 688 | "resolved": "4.0.1", 689 | "contentHash": "Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==", 690 | "dependencies": { 691 | "System.Reflection": "4.1.0", 692 | "System.Reflection.Primitives": "4.0.1", 693 | "System.Runtime": "4.1.0" 694 | } 695 | }, 696 | "System.Reflection.Extensions": { 697 | "type": "Transitive", 698 | "resolved": "4.3.0", 699 | "contentHash": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", 700 | "dependencies": { 701 | "Microsoft.NETCore.Platforms": "1.1.0", 702 | "Microsoft.NETCore.Targets": "1.1.0", 703 | "System.Reflection": "4.3.0", 704 | "System.Runtime": "4.3.0" 705 | } 706 | }, 707 | "System.Reflection.Primitives": { 708 | "type": "Transitive", 709 | "resolved": "4.3.0", 710 | "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", 711 | "dependencies": { 712 | "Microsoft.NETCore.Platforms": "1.1.0", 713 | "Microsoft.NETCore.Targets": "1.1.0", 714 | "System.Runtime": "4.3.0" 715 | } 716 | }, 717 | "System.Reflection.TypeExtensions": { 718 | "type": "Transitive", 719 | "resolved": "4.1.0", 720 | "contentHash": "tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==", 721 | "dependencies": { 722 | "System.Reflection": "4.1.0", 723 | "System.Runtime": "4.1.0" 724 | } 725 | }, 726 | "System.Resources.ResourceManager": { 727 | "type": "Transitive", 728 | "resolved": "4.3.0", 729 | "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", 730 | "dependencies": { 731 | "Microsoft.NETCore.Platforms": "1.1.0", 732 | "Microsoft.NETCore.Targets": "1.1.0", 733 | "System.Globalization": "4.3.0", 734 | "System.Reflection": "4.3.0", 735 | "System.Runtime": "4.3.0" 736 | } 737 | }, 738 | "System.Runtime": { 739 | "type": "Transitive", 740 | "resolved": "4.3.0", 741 | "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", 742 | "dependencies": { 743 | "Microsoft.NETCore.Platforms": "1.1.0", 744 | "Microsoft.NETCore.Targets": "1.1.0" 745 | } 746 | }, 747 | "System.Runtime.Extensions": { 748 | "type": "Transitive", 749 | "resolved": "4.3.0", 750 | "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", 751 | "dependencies": { 752 | "Microsoft.NETCore.Platforms": "1.1.0", 753 | "Microsoft.NETCore.Targets": "1.1.0", 754 | "System.Runtime": "4.3.0" 755 | } 756 | }, 757 | "System.Runtime.Handles": { 758 | "type": "Transitive", 759 | "resolved": "4.3.0", 760 | "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", 761 | "dependencies": { 762 | "Microsoft.NETCore.Platforms": "1.1.0", 763 | "Microsoft.NETCore.Targets": "1.1.0", 764 | "System.Runtime": "4.3.0" 765 | } 766 | }, 767 | "System.Runtime.InteropServices": { 768 | "type": "Transitive", 769 | "resolved": "4.3.0", 770 | "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", 771 | "dependencies": { 772 | "Microsoft.NETCore.Platforms": "1.1.0", 773 | "Microsoft.NETCore.Targets": "1.1.0", 774 | "System.Reflection": "4.3.0", 775 | "System.Reflection.Primitives": "4.3.0", 776 | "System.Runtime": "4.3.0", 777 | "System.Runtime.Handles": "4.3.0" 778 | } 779 | }, 780 | "System.Runtime.InteropServices.RuntimeInformation": { 781 | "type": "Transitive", 782 | "resolved": "4.3.0", 783 | "contentHash": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", 784 | "dependencies": { 785 | "System.Reflection": "4.3.0", 786 | "System.Reflection.Extensions": "4.3.0", 787 | "System.Resources.ResourceManager": "4.3.0", 788 | "System.Runtime": "4.3.0", 789 | "System.Runtime.InteropServices": "4.3.0", 790 | "System.Threading": "4.3.0", 791 | "runtime.native.System": "4.3.0" 792 | } 793 | }, 794 | "System.Runtime.Numerics": { 795 | "type": "Transitive", 796 | "resolved": "4.3.0", 797 | "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", 798 | "dependencies": { 799 | "System.Globalization": "4.3.0", 800 | "System.Resources.ResourceManager": "4.3.0", 801 | "System.Runtime": "4.3.0", 802 | "System.Runtime.Extensions": "4.3.0" 803 | } 804 | }, 805 | "System.Runtime.Serialization.Primitives": { 806 | "type": "Transitive", 807 | "resolved": "4.1.1", 808 | "contentHash": "HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==", 809 | "dependencies": { 810 | "System.Resources.ResourceManager": "4.0.1", 811 | "System.Runtime": "4.1.0" 812 | } 813 | }, 814 | "System.Security.Cryptography.Algorithms": { 815 | "type": "Transitive", 816 | "resolved": "4.3.0", 817 | "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", 818 | "dependencies": { 819 | "System.IO": "4.3.0", 820 | "System.Runtime": "4.3.0", 821 | "System.Security.Cryptography.Primitives": "4.3.0" 822 | } 823 | }, 824 | "System.Security.Cryptography.Encoding": { 825 | "type": "Transitive", 826 | "resolved": "4.3.0", 827 | "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", 828 | "dependencies": { 829 | "Microsoft.NETCore.Platforms": "1.1.0", 830 | "System.Collections": "4.3.0", 831 | "System.Collections.Concurrent": "4.3.0", 832 | "System.Linq": "4.3.0", 833 | "System.Resources.ResourceManager": "4.3.0", 834 | "System.Runtime": "4.3.0", 835 | "System.Runtime.Extensions": "4.3.0", 836 | "System.Runtime.Handles": "4.3.0", 837 | "System.Runtime.InteropServices": "4.3.0", 838 | "System.Security.Cryptography.Primitives": "4.3.0", 839 | "System.Text.Encoding": "4.3.0", 840 | "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" 841 | } 842 | }, 843 | "System.Security.Cryptography.Primitives": { 844 | "type": "Transitive", 845 | "resolved": "4.3.0", 846 | "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", 847 | "dependencies": { 848 | "System.Diagnostics.Debug": "4.3.0", 849 | "System.Globalization": "4.3.0", 850 | "System.IO": "4.3.0", 851 | "System.Resources.ResourceManager": "4.3.0", 852 | "System.Runtime": "4.3.0", 853 | "System.Threading": "4.3.0", 854 | "System.Threading.Tasks": "4.3.0" 855 | } 856 | }, 857 | "System.Security.Cryptography.X509Certificates": { 858 | "type": "Transitive", 859 | "resolved": "4.3.0", 860 | "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", 861 | "dependencies": { 862 | "System.Runtime": "4.3.0", 863 | "System.Runtime.Handles": "4.3.0", 864 | "System.Security.Cryptography.Algorithms": "4.3.0", 865 | "System.Security.Cryptography.Encoding": "4.3.0" 866 | } 867 | }, 868 | "System.Text.Encoding": { 869 | "type": "Transitive", 870 | "resolved": "4.3.0", 871 | "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", 872 | "dependencies": { 873 | "Microsoft.NETCore.Platforms": "1.1.0", 874 | "Microsoft.NETCore.Targets": "1.1.0", 875 | "System.Runtime": "4.3.0" 876 | } 877 | }, 878 | "System.Text.Encoding.Extensions": { 879 | "type": "Transitive", 880 | "resolved": "4.3.0", 881 | "contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", 882 | "dependencies": { 883 | "Microsoft.NETCore.Platforms": "1.1.0", 884 | "Microsoft.NETCore.Targets": "1.1.0", 885 | "System.Runtime": "4.3.0", 886 | "System.Text.Encoding": "4.3.0" 887 | } 888 | }, 889 | "System.Text.RegularExpressions": { 890 | "type": "Transitive", 891 | "resolved": "4.3.0", 892 | "contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", 893 | "dependencies": { 894 | "System.Runtime": "4.3.0" 895 | } 896 | }, 897 | "System.Threading": { 898 | "type": "Transitive", 899 | "resolved": "4.3.0", 900 | "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", 901 | "dependencies": { 902 | "System.Runtime": "4.3.0", 903 | "System.Threading.Tasks": "4.3.0" 904 | } 905 | }, 906 | "System.Threading.Tasks": { 907 | "type": "Transitive", 908 | "resolved": "4.3.0", 909 | "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", 910 | "dependencies": { 911 | "Microsoft.NETCore.Platforms": "1.1.0", 912 | "Microsoft.NETCore.Targets": "1.1.0", 913 | "System.Runtime": "4.3.0" 914 | } 915 | }, 916 | "System.Threading.Tasks.Extensions": { 917 | "type": "Transitive", 918 | "resolved": "4.3.0", 919 | "contentHash": "npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", 920 | "dependencies": { 921 | "System.Collections": "4.3.0", 922 | "System.Runtime": "4.3.0", 923 | "System.Threading.Tasks": "4.3.0" 924 | } 925 | }, 926 | "System.Threading.Thread": { 927 | "type": "Transitive", 928 | "resolved": "4.0.0", 929 | "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", 930 | "dependencies": { 931 | "System.Runtime": "4.1.0" 932 | } 933 | }, 934 | "System.Threading.Timer": { 935 | "type": "Transitive", 936 | "resolved": "4.3.0", 937 | "contentHash": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", 938 | "dependencies": { 939 | "Microsoft.NETCore.Platforms": "1.1.0", 940 | "Microsoft.NETCore.Targets": "1.1.0", 941 | "System.Runtime": "4.3.0" 942 | } 943 | }, 944 | "System.Xml.ReaderWriter": { 945 | "type": "Transitive", 946 | "resolved": "4.3.0", 947 | "contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", 948 | "dependencies": { 949 | "System.Collections": "4.3.0", 950 | "System.Diagnostics.Debug": "4.3.0", 951 | "System.Globalization": "4.3.0", 952 | "System.IO": "4.3.0", 953 | "System.IO.FileSystem": "4.3.0", 954 | "System.IO.FileSystem.Primitives": "4.3.0", 955 | "System.Resources.ResourceManager": "4.3.0", 956 | "System.Runtime": "4.3.0", 957 | "System.Runtime.Extensions": "4.3.0", 958 | "System.Runtime.InteropServices": "4.3.0", 959 | "System.Text.Encoding": "4.3.0", 960 | "System.Text.Encoding.Extensions": "4.3.0", 961 | "System.Text.RegularExpressions": "4.3.0", 962 | "System.Threading.Tasks": "4.3.0", 963 | "System.Threading.Tasks.Extensions": "4.3.0" 964 | } 965 | }, 966 | "System.Xml.XDocument": { 967 | "type": "Transitive", 968 | "resolved": "4.3.0", 969 | "contentHash": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", 970 | "dependencies": { 971 | "System.Collections": "4.3.0", 972 | "System.Diagnostics.Debug": "4.3.0", 973 | "System.Diagnostics.Tools": "4.3.0", 974 | "System.Globalization": "4.3.0", 975 | "System.IO": "4.3.0", 976 | "System.Reflection": "4.3.0", 977 | "System.Resources.ResourceManager": "4.3.0", 978 | "System.Runtime": "4.3.0", 979 | "System.Runtime.Extensions": "4.3.0", 980 | "System.Text.Encoding": "4.3.0", 981 | "System.Threading": "4.3.0", 982 | "System.Xml.ReaderWriter": "4.3.0" 983 | } 984 | } 985 | }, 986 | ".NETStandard,Version=v2.0": { 987 | "Autofac": { 988 | "type": "Direct", 989 | "requested": "[5.0.0, )", 990 | "resolved": "5.0.0", 991 | "contentHash": "U1aCHUMXuG7DDJ5JmTXF2kInXpad3Fuow+voSXEVunDHW4OkD8GDWJjleHpJPanpP+3dUQYLAM9R2lftGiQSbA==", 992 | "dependencies": { 993 | "Microsoft.Bcl.AsyncInterfaces": "1.1.0" 994 | } 995 | }, 996 | "Hangfire.Core": { 997 | "type": "Direct", 998 | "requested": "[1.6.0, )", 999 | "resolved": "1.6.0", 1000 | "contentHash": "z3tCW8dIIbKASprzf8qC/4a+tkJ/Eq78k4jNsTkecYzVt9VAMDc8Yz+gaoiylIcHEqRc9XVq13Z81Gaz29pxKQ==", 1001 | "dependencies": { 1002 | "Microsoft.NETCore.Portable.Compatibility": "1.0.1", 1003 | "NETStandard.Library": "1.6.0", 1004 | "Newtonsoft.Json": "9.0.1", 1005 | "System.Threading.Thread": "4.0.0" 1006 | } 1007 | }, 1008 | "Microsoft.CodeAnalysis.NetAnalyzers": { 1009 | "type": "Direct", 1010 | "requested": "[9.0.0, )", 1011 | "resolved": "9.0.0", 1012 | "contentHash": "JajbvkrBgtdRghavIjcJuNHMOja4lqBmEezbhZyqWPYh2cpLhT5mPpfC7NQVDO4IehWQum9t/nwF4v+qQGtYWg==" 1013 | }, 1014 | "Microsoft.SourceLink.GitHub": { 1015 | "type": "Direct", 1016 | "requested": "[8.0.0, )", 1017 | "resolved": "8.0.0", 1018 | "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", 1019 | "dependencies": { 1020 | "Microsoft.Build.Tasks.Git": "8.0.0", 1021 | "Microsoft.SourceLink.Common": "8.0.0" 1022 | } 1023 | }, 1024 | "NETStandard.Library": { 1025 | "type": "Direct", 1026 | "requested": "[2.0.3, )", 1027 | "resolved": "2.0.3", 1028 | "contentHash": "st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", 1029 | "dependencies": { 1030 | "Microsoft.NETCore.Platforms": "1.1.0" 1031 | } 1032 | }, 1033 | "Microsoft.Bcl.AsyncInterfaces": { 1034 | "type": "Transitive", 1035 | "resolved": "1.1.0", 1036 | "contentHash": "1Am6l4Vpn3/K32daEqZI+FFr96OlZkgwK2LcT3pZ2zWubR5zTPW3/FkO1Rat9kb7oQOa4rxgl9LJHc5tspCWfg==", 1037 | "dependencies": { 1038 | "System.Threading.Tasks.Extensions": "4.5.2" 1039 | } 1040 | }, 1041 | "Microsoft.Build.Tasks.Git": { 1042 | "type": "Transitive", 1043 | "resolved": "8.0.0", 1044 | "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" 1045 | }, 1046 | "Microsoft.CSharp": { 1047 | "type": "Transitive", 1048 | "resolved": "4.0.1", 1049 | "contentHash": "17h8b5mXa87XYKrrVqdgZ38JefSUqLChUQpXgSnpzsM0nDOhE40FTeNWOJ/YmySGV6tG6T8+hjz6vxbknHJr6A==", 1050 | "dependencies": { 1051 | "System.Collections": "4.0.11", 1052 | "System.Diagnostics.Debug": "4.0.11", 1053 | "System.Dynamic.Runtime": "4.0.11", 1054 | "System.Globalization": "4.0.11", 1055 | "System.Linq": "4.1.0", 1056 | "System.Linq.Expressions": "4.1.0", 1057 | "System.ObjectModel": "4.0.12", 1058 | "System.Reflection": "4.1.0", 1059 | "System.Reflection.Extensions": "4.0.1", 1060 | "System.Reflection.Primitives": "4.0.1", 1061 | "System.Reflection.TypeExtensions": "4.1.0", 1062 | "System.Resources.ResourceManager": "4.0.1", 1063 | "System.Runtime": "4.1.0", 1064 | "System.Runtime.Extensions": "4.1.0", 1065 | "System.Runtime.InteropServices": "4.1.0", 1066 | "System.Threading": "4.0.11" 1067 | } 1068 | }, 1069 | "Microsoft.NETCore.Jit": { 1070 | "type": "Transitive", 1071 | "resolved": "1.0.2", 1072 | "contentHash": "Ok2vWofa6X8WD9vc4pfLHwvJz1/B6t3gOAoZcjrjrQf7lQOlNIuZIZtLn3wnWX28DuQGpPJkRlBxFj7Z5txNqw==" 1073 | }, 1074 | "Microsoft.NETCore.Platforms": { 1075 | "type": "Transitive", 1076 | "resolved": "1.1.0", 1077 | "contentHash": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==" 1078 | }, 1079 | "Microsoft.NETCore.Portable.Compatibility": { 1080 | "type": "Transitive", 1081 | "resolved": "1.0.1", 1082 | "contentHash": "Vd+lvLcGwvkedxtKn0U8s9uR4p0Lm+0U2QvDsLaw7g4S1W4KfPDbaW+ROhhLCSOx/gMYC72/b+z+o4fqS/oxVg==", 1083 | "dependencies": { 1084 | "Microsoft.NETCore.Runtime.CoreCLR": "1.0.2" 1085 | } 1086 | }, 1087 | "Microsoft.NETCore.Runtime.CoreCLR": { 1088 | "type": "Transitive", 1089 | "resolved": "1.0.2", 1090 | "contentHash": "A0x1xtTjYJWZr2DRzgfCOXgB0JkQg8twnmtTJ79wFje+IihlLbXtx6Z2AxyVokBM5ruwTedR6YdCmHk39QJdtQ==", 1091 | "dependencies": { 1092 | "Microsoft.NETCore.Jit": "1.0.2", 1093 | "Microsoft.NETCore.Windows.ApiSets": "1.0.1" 1094 | } 1095 | }, 1096 | "Microsoft.NETCore.Targets": { 1097 | "type": "Transitive", 1098 | "resolved": "1.0.1", 1099 | "contentHash": "rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==" 1100 | }, 1101 | "Microsoft.NETCore.Windows.ApiSets": { 1102 | "type": "Transitive", 1103 | "resolved": "1.0.1", 1104 | "contentHash": "SaToCvvsGMxTgtLv/BrFQ5IFMPRE1zpWbnqbpwykJa8W5XiX82CXI6K2o7yf5xS7EP6t/JzFLV0SIDuWpvBZVw==" 1105 | }, 1106 | "Microsoft.SourceLink.Common": { 1107 | "type": "Transitive", 1108 | "resolved": "8.0.0", 1109 | "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" 1110 | }, 1111 | "Newtonsoft.Json": { 1112 | "type": "Transitive", 1113 | "resolved": "9.0.1", 1114 | "contentHash": "U82mHQSKaIk+lpSVCbWYKNavmNH1i5xrExDEquU1i6I5pV6UMOqRnJRSlKO3cMPfcpp0RgDY+8jUXHdQ4IfXvw==", 1115 | "dependencies": { 1116 | "Microsoft.CSharp": "4.0.1", 1117 | "System.Collections": "4.0.11", 1118 | "System.Diagnostics.Debug": "4.0.11", 1119 | "System.Dynamic.Runtime": "4.0.11", 1120 | "System.Globalization": "4.0.11", 1121 | "System.IO": "4.1.0", 1122 | "System.Linq": "4.1.0", 1123 | "System.Linq.Expressions": "4.1.0", 1124 | "System.ObjectModel": "4.0.12", 1125 | "System.Reflection": "4.1.0", 1126 | "System.Reflection.Extensions": "4.0.1", 1127 | "System.Resources.ResourceManager": "4.0.1", 1128 | "System.Runtime": "4.1.0", 1129 | "System.Runtime.Extensions": "4.1.0", 1130 | "System.Runtime.Serialization.Primitives": "4.1.1", 1131 | "System.Text.Encoding": "4.0.11", 1132 | "System.Text.Encoding.Extensions": "4.0.11", 1133 | "System.Text.RegularExpressions": "4.1.0", 1134 | "System.Threading": "4.0.11", 1135 | "System.Threading.Tasks": "4.0.11", 1136 | "System.Xml.ReaderWriter": "4.0.11", 1137 | "System.Xml.XDocument": "4.0.11" 1138 | } 1139 | }, 1140 | "System.Collections": { 1141 | "type": "Transitive", 1142 | "resolved": "4.0.11", 1143 | "contentHash": "YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==", 1144 | "dependencies": { 1145 | "Microsoft.NETCore.Platforms": "1.0.1", 1146 | "Microsoft.NETCore.Targets": "1.0.1", 1147 | "System.Runtime": "4.1.0" 1148 | } 1149 | }, 1150 | "System.Diagnostics.Debug": { 1151 | "type": "Transitive", 1152 | "resolved": "4.0.11", 1153 | "contentHash": "w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==", 1154 | "dependencies": { 1155 | "Microsoft.NETCore.Platforms": "1.0.1", 1156 | "Microsoft.NETCore.Targets": "1.0.1", 1157 | "System.Runtime": "4.1.0" 1158 | } 1159 | }, 1160 | "System.Diagnostics.Tools": { 1161 | "type": "Transitive", 1162 | "resolved": "4.0.1", 1163 | "contentHash": "xBfJ8pnd4C17dWaC9FM6aShzbJcRNMChUMD42I6772KGGrqaFdumwhn9OdM68erj1ueNo3xdQ1EwiFjK5k8p0g==", 1164 | "dependencies": { 1165 | "Microsoft.NETCore.Platforms": "1.0.1", 1166 | "Microsoft.NETCore.Targets": "1.0.1", 1167 | "System.Runtime": "4.1.0" 1168 | } 1169 | }, 1170 | "System.Dynamic.Runtime": { 1171 | "type": "Transitive", 1172 | "resolved": "4.0.11", 1173 | "contentHash": "db34f6LHYM0U0JpE+sOmjar27BnqTVkbLJhgfwMpTdgTigG/Hna3m2MYVwnFzGGKnEJk2UXFuoVTr8WUbU91/A==", 1174 | "dependencies": { 1175 | "System.Collections": "4.0.11", 1176 | "System.Diagnostics.Debug": "4.0.11", 1177 | "System.Globalization": "4.0.11", 1178 | "System.Linq": "4.1.0", 1179 | "System.Linq.Expressions": "4.1.0", 1180 | "System.ObjectModel": "4.0.12", 1181 | "System.Reflection": "4.1.0", 1182 | "System.Reflection.Emit": "4.0.1", 1183 | "System.Reflection.Emit.ILGeneration": "4.0.1", 1184 | "System.Reflection.Primitives": "4.0.1", 1185 | "System.Reflection.TypeExtensions": "4.1.0", 1186 | "System.Resources.ResourceManager": "4.0.1", 1187 | "System.Runtime": "4.1.0", 1188 | "System.Runtime.Extensions": "4.1.0", 1189 | "System.Threading": "4.0.11" 1190 | } 1191 | }, 1192 | "System.Globalization": { 1193 | "type": "Transitive", 1194 | "resolved": "4.0.11", 1195 | "contentHash": "B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==", 1196 | "dependencies": { 1197 | "Microsoft.NETCore.Platforms": "1.0.1", 1198 | "Microsoft.NETCore.Targets": "1.0.1", 1199 | "System.Runtime": "4.1.0" 1200 | } 1201 | }, 1202 | "System.IO": { 1203 | "type": "Transitive", 1204 | "resolved": "4.1.0", 1205 | "contentHash": "3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==", 1206 | "dependencies": { 1207 | "Microsoft.NETCore.Platforms": "1.0.1", 1208 | "Microsoft.NETCore.Targets": "1.0.1", 1209 | "System.Runtime": "4.1.0", 1210 | "System.Text.Encoding": "4.0.11", 1211 | "System.Threading.Tasks": "4.0.11" 1212 | } 1213 | }, 1214 | "System.IO.FileSystem": { 1215 | "type": "Transitive", 1216 | "resolved": "4.0.1", 1217 | "contentHash": "IBErlVq5jOggAD69bg1t0pJcHaDbJbWNUZTPI96fkYWzwYbN6D9wRHMULLDd9dHsl7C2YsxXL31LMfPI1SWt8w==", 1218 | "dependencies": { 1219 | "Microsoft.NETCore.Platforms": "1.0.1", 1220 | "Microsoft.NETCore.Targets": "1.0.1", 1221 | "System.IO": "4.1.0", 1222 | "System.IO.FileSystem.Primitives": "4.0.1", 1223 | "System.Runtime": "4.1.0", 1224 | "System.Runtime.Handles": "4.0.1", 1225 | "System.Text.Encoding": "4.0.11", 1226 | "System.Threading.Tasks": "4.0.11" 1227 | } 1228 | }, 1229 | "System.IO.FileSystem.Primitives": { 1230 | "type": "Transitive", 1231 | "resolved": "4.0.1", 1232 | "contentHash": "kWkKD203JJKxJeE74p8aF8y4Qc9r9WQx4C0cHzHPrY3fv/L/IhWnyCHaFJ3H1QPOH6A93whlQ2vG5nHlBDvzWQ==", 1233 | "dependencies": { 1234 | "System.Runtime": "4.1.0" 1235 | } 1236 | }, 1237 | "System.Linq": { 1238 | "type": "Transitive", 1239 | "resolved": "4.1.0", 1240 | "contentHash": "bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==", 1241 | "dependencies": { 1242 | "System.Collections": "4.0.11", 1243 | "System.Diagnostics.Debug": "4.0.11", 1244 | "System.Resources.ResourceManager": "4.0.1", 1245 | "System.Runtime": "4.1.0", 1246 | "System.Runtime.Extensions": "4.1.0" 1247 | } 1248 | }, 1249 | "System.Linq.Expressions": { 1250 | "type": "Transitive", 1251 | "resolved": "4.1.0", 1252 | "contentHash": "I+y02iqkgmCAyfbqOmSDOgqdZQ5tTj80Akm5BPSS8EeB0VGWdy6X1KCoYe8Pk6pwDoAKZUOdLVxnTJcExiv5zw==", 1253 | "dependencies": { 1254 | "System.Collections": "4.0.11", 1255 | "System.Diagnostics.Debug": "4.0.11", 1256 | "System.Globalization": "4.0.11", 1257 | "System.IO": "4.1.0", 1258 | "System.Linq": "4.1.0", 1259 | "System.ObjectModel": "4.0.12", 1260 | "System.Reflection": "4.1.0", 1261 | "System.Reflection.Emit": "4.0.1", 1262 | "System.Reflection.Emit.ILGeneration": "4.0.1", 1263 | "System.Reflection.Emit.Lightweight": "4.0.1", 1264 | "System.Reflection.Extensions": "4.0.1", 1265 | "System.Reflection.Primitives": "4.0.1", 1266 | "System.Reflection.TypeExtensions": "4.1.0", 1267 | "System.Resources.ResourceManager": "4.0.1", 1268 | "System.Runtime": "4.1.0", 1269 | "System.Runtime.Extensions": "4.1.0", 1270 | "System.Threading": "4.0.11" 1271 | } 1272 | }, 1273 | "System.ObjectModel": { 1274 | "type": "Transitive", 1275 | "resolved": "4.0.12", 1276 | "contentHash": "tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==", 1277 | "dependencies": { 1278 | "System.Collections": "4.0.11", 1279 | "System.Diagnostics.Debug": "4.0.11", 1280 | "System.Resources.ResourceManager": "4.0.1", 1281 | "System.Runtime": "4.1.0", 1282 | "System.Threading": "4.0.11" 1283 | } 1284 | }, 1285 | "System.Reflection": { 1286 | "type": "Transitive", 1287 | "resolved": "4.1.0", 1288 | "contentHash": "JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==", 1289 | "dependencies": { 1290 | "Microsoft.NETCore.Platforms": "1.0.1", 1291 | "Microsoft.NETCore.Targets": "1.0.1", 1292 | "System.IO": "4.1.0", 1293 | "System.Reflection.Primitives": "4.0.1", 1294 | "System.Runtime": "4.1.0" 1295 | } 1296 | }, 1297 | "System.Reflection.Emit": { 1298 | "type": "Transitive", 1299 | "resolved": "4.0.1", 1300 | "contentHash": "P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==", 1301 | "dependencies": { 1302 | "System.IO": "4.1.0", 1303 | "System.Reflection": "4.1.0", 1304 | "System.Reflection.Emit.ILGeneration": "4.0.1", 1305 | "System.Reflection.Primitives": "4.0.1", 1306 | "System.Runtime": "4.1.0" 1307 | } 1308 | }, 1309 | "System.Reflection.Emit.ILGeneration": { 1310 | "type": "Transitive", 1311 | "resolved": "4.0.1", 1312 | "contentHash": "Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==", 1313 | "dependencies": { 1314 | "System.Reflection": "4.1.0", 1315 | "System.Reflection.Primitives": "4.0.1", 1316 | "System.Runtime": "4.1.0" 1317 | } 1318 | }, 1319 | "System.Reflection.Emit.Lightweight": { 1320 | "type": "Transitive", 1321 | "resolved": "4.0.1", 1322 | "contentHash": "sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==", 1323 | "dependencies": { 1324 | "System.Reflection": "4.1.0", 1325 | "System.Reflection.Emit.ILGeneration": "4.0.1", 1326 | "System.Reflection.Primitives": "4.0.1", 1327 | "System.Runtime": "4.1.0" 1328 | } 1329 | }, 1330 | "System.Reflection.Extensions": { 1331 | "type": "Transitive", 1332 | "resolved": "4.0.1", 1333 | "contentHash": "GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==", 1334 | "dependencies": { 1335 | "Microsoft.NETCore.Platforms": "1.0.1", 1336 | "Microsoft.NETCore.Targets": "1.0.1", 1337 | "System.Reflection": "4.1.0", 1338 | "System.Runtime": "4.1.0" 1339 | } 1340 | }, 1341 | "System.Reflection.Primitives": { 1342 | "type": "Transitive", 1343 | "resolved": "4.0.1", 1344 | "contentHash": "4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==", 1345 | "dependencies": { 1346 | "Microsoft.NETCore.Platforms": "1.0.1", 1347 | "Microsoft.NETCore.Targets": "1.0.1", 1348 | "System.Runtime": "4.1.0" 1349 | } 1350 | }, 1351 | "System.Reflection.TypeExtensions": { 1352 | "type": "Transitive", 1353 | "resolved": "4.1.0", 1354 | "contentHash": "tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==", 1355 | "dependencies": { 1356 | "System.Reflection": "4.1.0", 1357 | "System.Runtime": "4.1.0" 1358 | } 1359 | }, 1360 | "System.Resources.ResourceManager": { 1361 | "type": "Transitive", 1362 | "resolved": "4.0.1", 1363 | "contentHash": "TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==", 1364 | "dependencies": { 1365 | "Microsoft.NETCore.Platforms": "1.0.1", 1366 | "Microsoft.NETCore.Targets": "1.0.1", 1367 | "System.Globalization": "4.0.11", 1368 | "System.Reflection": "4.1.0", 1369 | "System.Runtime": "4.1.0" 1370 | } 1371 | }, 1372 | "System.Runtime": { 1373 | "type": "Transitive", 1374 | "resolved": "4.1.0", 1375 | "contentHash": "v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==", 1376 | "dependencies": { 1377 | "Microsoft.NETCore.Platforms": "1.0.1", 1378 | "Microsoft.NETCore.Targets": "1.0.1" 1379 | } 1380 | }, 1381 | "System.Runtime.CompilerServices.Unsafe": { 1382 | "type": "Transitive", 1383 | "resolved": "4.5.2", 1384 | "contentHash": "wprSFgext8cwqymChhrBLu62LMg/1u92bU+VOwyfBimSPVFXtsNqEWC92Pf9ofzJFlk4IHmJA75EDJn1b2goAQ==" 1385 | }, 1386 | "System.Runtime.Extensions": { 1387 | "type": "Transitive", 1388 | "resolved": "4.1.0", 1389 | "contentHash": "CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==", 1390 | "dependencies": { 1391 | "Microsoft.NETCore.Platforms": "1.0.1", 1392 | "Microsoft.NETCore.Targets": "1.0.1", 1393 | "System.Runtime": "4.1.0" 1394 | } 1395 | }, 1396 | "System.Runtime.Handles": { 1397 | "type": "Transitive", 1398 | "resolved": "4.0.1", 1399 | "contentHash": "nCJvEKguXEvk2ymk1gqj625vVnlK3/xdGzx0vOKicQkoquaTBJTP13AIYkocSUwHCLNBwUbXTqTWGDxBTWpt7g==", 1400 | "dependencies": { 1401 | "Microsoft.NETCore.Platforms": "1.0.1", 1402 | "Microsoft.NETCore.Targets": "1.0.1", 1403 | "System.Runtime": "4.1.0" 1404 | } 1405 | }, 1406 | "System.Runtime.InteropServices": { 1407 | "type": "Transitive", 1408 | "resolved": "4.1.0", 1409 | "contentHash": "16eu3kjHS633yYdkjwShDHZLRNMKVi/s0bY8ODiqJ2RfMhDMAwxZaUaWVnZ2P71kr/or+X9o/xFWtNqz8ivieQ==", 1410 | "dependencies": { 1411 | "Microsoft.NETCore.Platforms": "1.0.1", 1412 | "Microsoft.NETCore.Targets": "1.0.1", 1413 | "System.Reflection": "4.1.0", 1414 | "System.Reflection.Primitives": "4.0.1", 1415 | "System.Runtime": "4.1.0", 1416 | "System.Runtime.Handles": "4.0.1" 1417 | } 1418 | }, 1419 | "System.Runtime.Serialization.Primitives": { 1420 | "type": "Transitive", 1421 | "resolved": "4.1.1", 1422 | "contentHash": "HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==", 1423 | "dependencies": { 1424 | "System.Resources.ResourceManager": "4.0.1", 1425 | "System.Runtime": "4.1.0" 1426 | } 1427 | }, 1428 | "System.Text.Encoding": { 1429 | "type": "Transitive", 1430 | "resolved": "4.0.11", 1431 | "contentHash": "U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==", 1432 | "dependencies": { 1433 | "Microsoft.NETCore.Platforms": "1.0.1", 1434 | "Microsoft.NETCore.Targets": "1.0.1", 1435 | "System.Runtime": "4.1.0" 1436 | } 1437 | }, 1438 | "System.Text.Encoding.Extensions": { 1439 | "type": "Transitive", 1440 | "resolved": "4.0.11", 1441 | "contentHash": "jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==", 1442 | "dependencies": { 1443 | "Microsoft.NETCore.Platforms": "1.0.1", 1444 | "Microsoft.NETCore.Targets": "1.0.1", 1445 | "System.Runtime": "4.1.0", 1446 | "System.Text.Encoding": "4.0.11" 1447 | } 1448 | }, 1449 | "System.Text.RegularExpressions": { 1450 | "type": "Transitive", 1451 | "resolved": "4.1.0", 1452 | "contentHash": "i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==", 1453 | "dependencies": { 1454 | "System.Collections": "4.0.11", 1455 | "System.Globalization": "4.0.11", 1456 | "System.Resources.ResourceManager": "4.0.1", 1457 | "System.Runtime": "4.1.0", 1458 | "System.Runtime.Extensions": "4.1.0", 1459 | "System.Threading": "4.0.11" 1460 | } 1461 | }, 1462 | "System.Threading": { 1463 | "type": "Transitive", 1464 | "resolved": "4.0.11", 1465 | "contentHash": "N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==", 1466 | "dependencies": { 1467 | "System.Runtime": "4.1.0", 1468 | "System.Threading.Tasks": "4.0.11" 1469 | } 1470 | }, 1471 | "System.Threading.Tasks": { 1472 | "type": "Transitive", 1473 | "resolved": "4.0.11", 1474 | "contentHash": "k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==", 1475 | "dependencies": { 1476 | "Microsoft.NETCore.Platforms": "1.0.1", 1477 | "Microsoft.NETCore.Targets": "1.0.1", 1478 | "System.Runtime": "4.1.0" 1479 | } 1480 | }, 1481 | "System.Threading.Tasks.Extensions": { 1482 | "type": "Transitive", 1483 | "resolved": "4.5.2", 1484 | "contentHash": "BG/TNxDFv0svAzx8OiMXDlsHfGw623BZ8tCXw4YLhDFDvDhNUEV58jKYMGRnkbJNm7c3JNNJDiN7JBMzxRBR2w==", 1485 | "dependencies": { 1486 | "System.Runtime.CompilerServices.Unsafe": "4.5.2" 1487 | } 1488 | }, 1489 | "System.Threading.Thread": { 1490 | "type": "Transitive", 1491 | "resolved": "4.0.0", 1492 | "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", 1493 | "dependencies": { 1494 | "System.Runtime": "4.1.0" 1495 | } 1496 | }, 1497 | "System.Xml.ReaderWriter": { 1498 | "type": "Transitive", 1499 | "resolved": "4.0.11", 1500 | "contentHash": "ZIiLPsf67YZ9zgr31vzrFaYQqxRPX9cVHjtPSnmx4eN6lbS/yEyYNr2vs1doGDEscF0tjCZFsk9yUg1sC9e8tg==", 1501 | "dependencies": { 1502 | "System.Collections": "4.0.11", 1503 | "System.Diagnostics.Debug": "4.0.11", 1504 | "System.Globalization": "4.0.11", 1505 | "System.IO": "4.1.0", 1506 | "System.IO.FileSystem": "4.0.1", 1507 | "System.IO.FileSystem.Primitives": "4.0.1", 1508 | "System.Resources.ResourceManager": "4.0.1", 1509 | "System.Runtime": "4.1.0", 1510 | "System.Runtime.Extensions": "4.1.0", 1511 | "System.Runtime.InteropServices": "4.1.0", 1512 | "System.Text.Encoding": "4.0.11", 1513 | "System.Text.Encoding.Extensions": "4.0.11", 1514 | "System.Text.RegularExpressions": "4.1.0", 1515 | "System.Threading.Tasks": "4.0.11", 1516 | "System.Threading.Tasks.Extensions": "4.0.0" 1517 | } 1518 | }, 1519 | "System.Xml.XDocument": { 1520 | "type": "Transitive", 1521 | "resolved": "4.0.11", 1522 | "contentHash": "Mk2mKmPi0nWaoiYeotq1dgeNK1fqWh61+EK+w4Wu8SWuTYLzpUnschb59bJtGywaPq7SmTuPf44wrXRwbIrukg==", 1523 | "dependencies": { 1524 | "System.Collections": "4.0.11", 1525 | "System.Diagnostics.Debug": "4.0.11", 1526 | "System.Diagnostics.Tools": "4.0.1", 1527 | "System.Globalization": "4.0.11", 1528 | "System.IO": "4.1.0", 1529 | "System.Reflection": "4.1.0", 1530 | "System.Resources.ResourceManager": "4.0.1", 1531 | "System.Runtime": "4.1.0", 1532 | "System.Runtime.Extensions": "4.1.0", 1533 | "System.Text.Encoding": "4.0.11", 1534 | "System.Threading": "4.0.11", 1535 | "System.Xml.ReaderWriter": "4.0.11" 1536 | } 1537 | } 1538 | } 1539 | } 1540 | } -------------------------------------------------------------------------------- /src/SharedAssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reflection; 3 | using System.Runtime.InteropServices; 4 | 5 | [assembly: AssemblyProduct("Hangfire")] 6 | [assembly: AssemblyCompany("Hangfire OÜ")] 7 | [assembly: AssemblyCopyright("Copyright © 2014-2025 Hangfire OÜ")] 8 | [assembly: AssemblyCulture("")] 9 | 10 | [assembly: ComVisible(false)] 11 | 12 | // Please don't edit it manually, use the `build.bat version` command instead. 13 | [assembly: AssemblyVersion("2.7.0")] 14 | -------------------------------------------------------------------------------- /tests/Directory.Build.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | false 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /tests/Hangfire.Autofac.Tests/AutofacBootstrapperConfigurationExtensionsFacts.cs: -------------------------------------------------------------------------------- 1 | #if NET452 2 | using Autofac; 3 | using Xunit; 4 | 5 | #pragma warning disable CS0618 // Type or member is obsolete 6 | 7 | namespace Hangfire.Autofac.Tests 8 | { 9 | public class AutofacBootstrapperConfigurationExtensionsFacts 10 | { 11 | [Fact] 12 | public void UseAutofacActivator_CallsUseActivatorCorrectly() 13 | { 14 | var configuration = new Moq.Mock(); 15 | var lifetimeScope = new Moq.Mock(); 16 | 17 | configuration.Object.UseAutofacActivator(lifetimeScope.Object); 18 | 19 | configuration.Verify(x => x.UseActivator(Moq.It.IsAny())); 20 | } 21 | } 22 | } 23 | 24 | #endif -------------------------------------------------------------------------------- /tests/Hangfire.Autofac.Tests/AutofacJobActivatorTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Autofac; 3 | using Xunit; 4 | 5 | namespace Hangfire.Autofac.Tests 6 | { 7 | public class AutofacJobActivatorTests 8 | { 9 | private readonly ContainerBuilder _builder = new ContainerBuilder(); 10 | 11 | [Fact] 12 | public void Ctor_ThrowsAnException_WhenLifetimeScopeIsNull() 13 | { 14 | var exception = Assert.Throws(() => new AutofacJobActivator(null)); 15 | Assert.Equal("lifetimeScope", exception.ParamName); 16 | } 17 | 18 | [Fact] 19 | public void Class_IsBasedOnJobActivator() 20 | { 21 | var activator = CreateActivator(); 22 | Assert.IsAssignableFrom(activator); 23 | } 24 | 25 | [Fact] 26 | public void ActivateJob_ResolvesAnInstance_UsingAutofac() 27 | { 28 | _builder.Register(_ => "called").As(); 29 | var activator = CreateActivator(); 30 | 31 | var result = activator.ActivateJob(typeof(string)); 32 | 33 | Assert.Equal("called", result); 34 | } 35 | 36 | #if !NET452 37 | [Theory] 38 | [InlineData(false)] 39 | [InlineData(true)] 40 | public void ActivateJob_ResolvesServices_RegisteredInTheConfigurationAction(bool taggedScope) 41 | { 42 | var activator = CreateActivator((builder, _) => 43 | { 44 | builder.Register(_ => "configuration_action").As(); 45 | }, taggedScope); 46 | 47 | using var scope = BeginScope(activator); 48 | 49 | var result = scope.Resolve(typeof(string)); 50 | Assert.Equal("configuration_action", result); 51 | } 52 | #endif 53 | 54 | [Fact] 55 | public void InstanceRegisteredWith_InstancePerDependency_IsDisposedOnScopeDisposal() 56 | { 57 | var disposable = new Disposable(); 58 | _builder.Register(_ => disposable).InstancePerDependency(); 59 | var activator = CreateActivator(); 60 | 61 | using (var scope = BeginScope(activator)) 62 | { 63 | // ReSharper disable once UnusedVariable 64 | var instance = scope.Resolve(typeof(Disposable)); 65 | Assert.False(disposable.Disposed); 66 | } 67 | 68 | Assert.True(disposable.Disposed); 69 | } 70 | 71 | [Fact] 72 | public void InstanceRegisteredWith_SingleInstance_IsNotDisposedOnScopeDisposal() 73 | { 74 | var disposable = new Disposable(); 75 | _builder.Register(_ => disposable).SingleInstance(); 76 | var activator = CreateActivator(); 77 | 78 | using (var scope = BeginScope(activator)) 79 | { 80 | // ReSharper disable once UnusedVariable 81 | var instance = scope.Resolve(typeof (Disposable)); 82 | Assert.False(disposable.Disposed); 83 | } 84 | 85 | Assert.False(disposable.Disposed); 86 | } 87 | 88 | [Fact] 89 | public void InstancePerBackgroundJob_RegistersSameServiceInstance_ForTheSameScopeInstance() 90 | { 91 | _builder.Register(_ => new object()).As() 92 | .InstancePerBackgroundJob(); 93 | var activator = CreateActivator(); 94 | 95 | using (var scope = BeginScope(activator)) 96 | { 97 | var instance1 = scope.Resolve(typeof (object)); 98 | var instance2 = scope.Resolve(typeof (object)); 99 | 100 | Assert.Same(instance1, instance2); 101 | } 102 | } 103 | 104 | [Fact] 105 | public void InstancePerBackgroundJob_RegistersDifferentServiceInstances_ForDifferentScopeInstances() 106 | { 107 | _builder.Register(_ => new object()).As().InstancePerBackgroundJob(); 108 | var activator = CreateActivator(); 109 | 110 | object instance1; 111 | using (var scope1 = BeginScope(activator)) 112 | { 113 | instance1 = scope1.Resolve(typeof (object)); 114 | } 115 | 116 | object instance2; 117 | using (var scope2 = BeginScope(activator)) 118 | { 119 | instance2 = scope2.Resolve(typeof (object)); 120 | } 121 | 122 | Assert.NotSame(instance1, instance2); 123 | } 124 | 125 | [Fact] 126 | public void InstanceRegisteredWith_InstancePerBackgroundJob_IsDisposedOnScopeDisposal() 127 | { 128 | var disposable = new Disposable(); 129 | _builder.Register(_ => disposable).InstancePerBackgroundJob(); 130 | var activator = CreateActivator(); 131 | 132 | using (var scope = BeginScope(activator)) 133 | { 134 | // ReSharper disable once UnusedVariable 135 | var instance = scope.Resolve(typeof (Disposable)); 136 | } 137 | 138 | Assert.True(disposable.Disposed); 139 | } 140 | 141 | [Fact] 142 | public void InstancePerJob_RegistersSameServiceInstance_ForTheSameScopeInstance() 143 | { 144 | _builder.Register(_ => new object()).As().InstancePerLifetimeScope(); 145 | var activator = CreateActivator(useTaggedLifetimeScope: false); 146 | 147 | using (var scope = BeginScope(activator)) 148 | { 149 | var instance1 = scope.Resolve(typeof(object)); 150 | var instance2 = scope.Resolve(typeof(object)); 151 | 152 | Assert.Same(instance1, instance2); 153 | } 154 | } 155 | 156 | [Fact] 157 | public void InstancePerJob_RegistersDifferentServiceInstances_ForDifferentScopeInstances() 158 | { 159 | _builder.Register(_ => new object()).As(); 160 | var activator = CreateActivator(useTaggedLifetimeScope: false); 161 | 162 | object instance1; 163 | using (var scope1 = BeginScope(activator)) 164 | { 165 | instance1 = scope1.Resolve(typeof(object)); 166 | } 167 | 168 | object instance2; 169 | using (var scope2 = BeginScope(activator)) 170 | { 171 | instance2 = scope2.Resolve(typeof(object)); 172 | } 173 | 174 | Assert.NotSame(instance1, instance2); 175 | } 176 | 177 | [Fact] 178 | public void InstanceRegisteredWith_InstancePerJob_IsDisposedOnScopeDisposal() 179 | { 180 | var disposable = new Disposable(); 181 | _builder.Register(_ => disposable); 182 | var activator = CreateActivator(); 183 | 184 | using (var scope = BeginScope(activator)) 185 | { 186 | var instance = scope.Resolve(typeof(Disposable)); 187 | Assert.NotNull(instance); 188 | } 189 | 190 | Assert.True(disposable.Disposed); 191 | } 192 | 193 | [Fact] 194 | public void InstancePerJob_RegisteredWithExtraTags_ResolvesForJobScope() 195 | { 196 | var alternateLifetimeScopeTag = new object(); 197 | _builder.Register(_ => new object()).As() 198 | .InstancePerBackgroundJob(alternateLifetimeScopeTag); 199 | var activator = CreateActivator(); 200 | 201 | using (var scope = BeginScope(activator)) 202 | { 203 | var instance = scope.Resolve(typeof(object)); 204 | Assert.NotNull(instance); 205 | } 206 | } 207 | 208 | [Fact] 209 | public void InstancePerJob_RegisteredWithExtraTags_ResolvesForAlternateScope() 210 | { 211 | var alternateLifetimeScopeTag = new object(); 212 | _builder.Register(_ => new object()).As() 213 | .InstancePerBackgroundJob(alternateLifetimeScopeTag); 214 | var container = _builder.Build(); 215 | 216 | using (var scope = container.BeginLifetimeScope(alternateLifetimeScopeTag)) 217 | { 218 | var instance = scope.Resolve(typeof(object)); 219 | Assert.NotNull(instance); 220 | } 221 | } 222 | 223 | private AutofacJobActivator CreateActivator( 224 | #if !NET452 225 | Action configure = null, 226 | #endif 227 | bool useTaggedLifetimeScope = true) 228 | { 229 | return new AutofacJobActivator( 230 | _builder.Build(), 231 | #if !NET452 232 | configure, 233 | #endif 234 | useTaggedLifetimeScope); 235 | } 236 | 237 | class Disposable : IDisposable 238 | { 239 | public bool Disposed { get; private set; } 240 | 241 | public void Dispose() 242 | { 243 | Disposed = true; 244 | } 245 | } 246 | 247 | private static JobActivatorScope BeginScope(JobActivator activator) 248 | { 249 | #if NET452 250 | return activator.BeginScope(); 251 | #else 252 | return activator.BeginScope(null); 253 | #endif 254 | } 255 | } 256 | } 257 | -------------------------------------------------------------------------------- /tests/Hangfire.Autofac.Tests/GlobalConfigurationExtensionsFacts.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Autofac; 3 | using Xunit; 4 | 5 | namespace Hangfire.Autofac.Tests 6 | { 7 | public class GlobalConfigurationExtensionsFacts 8 | { 9 | [Fact] 10 | public void UseAutofacActivator_ThrowsAnException_WhenConfigurationIsNull() 11 | { 12 | var lifetimeScope = new Moq.Mock(); 13 | 14 | var exception = Assert.Throws( 15 | () => ((IGlobalConfiguration)null).UseAutofacActivator(lifetimeScope.Object)); 16 | 17 | Assert.Equal("configuration", exception.ParamName); 18 | } 19 | 20 | [Fact] 21 | public void UseAutofacActivator_ThrowsAnException_WhenLifetimeScopeIsNull() 22 | { 23 | var configuration = new Moq.Mock(); 24 | 25 | var exception = Assert.Throws( 26 | () => configuration.Object.UseAutofacActivator(null)); 27 | 28 | Assert.Equal("lifetimeScope", exception.ParamName); 29 | } 30 | 31 | [Fact] 32 | public void UseAutofacActivator_CallsUseActivatorCorrectly() 33 | { 34 | var configuration = new Moq.Mock(); 35 | var lifetimeScope = new Moq.Mock(); 36 | 37 | configuration.Object.UseAutofacActivator(lifetimeScope.Object); 38 | 39 | Assert.IsType(JobActivator.Current); 40 | } 41 | 42 | #if !NET452 43 | [Fact] 44 | public void UseAutofacActivator_WithConfigurationAction_ThrowsAnException_WhenConfigurationIsNull() 45 | { 46 | var lifetimeScope = new Moq.Mock(); 47 | 48 | var exception = Assert.Throws( 49 | () => ((IGlobalConfiguration)null).UseAutofacActivator(lifetimeScope.Object, (_, _) => { })); 50 | 51 | Assert.Equal("configuration", exception.ParamName); 52 | } 53 | 54 | [Fact] 55 | public void UseAutofacActivator_WithConfigurationAction_ThrowsAnException_WhenLifetimeScopeIsNull() 56 | { 57 | var configuration = new Moq.Mock(); 58 | 59 | var exception = Assert.Throws( 60 | () => configuration.Object.UseAutofacActivator(null, (_, _) => { })); 61 | 62 | Assert.Equal("lifetimeScope", exception.ParamName); 63 | } 64 | 65 | [Fact] 66 | public void UseAutofacActivator_WithConfigurationAction_CallsUseActivatorCorrectly() 67 | { 68 | var configuration = new Moq.Mock(); 69 | var lifetimeScope = new Moq.Mock(); 70 | 71 | configuration.Object.UseAutofacActivator(lifetimeScope.Object, (_, _) => { }); 72 | 73 | Assert.IsType(JobActivator.Current); 74 | } 75 | #endif 76 | } 77 | } -------------------------------------------------------------------------------- /tests/Hangfire.Autofac.Tests/Hangfire.Autofac.Tests.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | net452;net6.0 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tests/Hangfire.Autofac.Tests/packages.lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "dependencies": { 4 | ".NETFramework,Version=v4.5.2": { 5 | "Microsoft.NET.Test.Sdk": { 6 | "type": "Direct", 7 | "requested": "[17.8.0, )", 8 | "resolved": "17.8.0", 9 | "contentHash": "BmTYGbD/YuDHmApIENdoyN1jCk0Rj1fJB0+B/fVekyTdVidr91IlzhqzytiUgaEAzL1ZJcYCme0MeBMYvJVzvw==" 10 | }, 11 | "Microsoft.NETFramework.ReferenceAssemblies": { 12 | "type": "Direct", 13 | "requested": "[1.0.3, )", 14 | "resolved": "1.0.3", 15 | "contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==", 16 | "dependencies": { 17 | "Microsoft.NETFramework.ReferenceAssemblies.net452": "1.0.3" 18 | } 19 | }, 20 | "Moq": { 21 | "type": "Direct", 22 | "requested": "[4.10.0, )", 23 | "resolved": "4.10.0", 24 | "contentHash": "YZ1yTTDkFdgjglo9v2Gy4jnWUUIPTQETCul9CDguydLYrVgQXr6L1n3CEJqy/S9kgX+Er0cRQixky2grMwtvxA==", 25 | "dependencies": { 26 | "Castle.Core": "4.3.1", 27 | "System.Threading.Tasks.Extensions": "4.3.0", 28 | "System.ValueTuple": "4.4.0" 29 | } 30 | }, 31 | "xunit": { 32 | "type": "Direct", 33 | "requested": "[2.4.0, )", 34 | "resolved": "2.4.0", 35 | "contentHash": "NL00nGsDsyWc1CWxz5FXXjLpW9oFG18WJoTPCyhNv4KGP/e5iLJqAqgM1uaJZyQ6WaTtmWIy4yjYP3RdcaT7Vw==", 36 | "dependencies": { 37 | "xunit.analyzers": "0.10.0", 38 | "xunit.assert": "[2.4.0]", 39 | "xunit.core": "[2.4.0]" 40 | } 41 | }, 42 | "xunit.runner.visualstudio": { 43 | "type": "Direct", 44 | "requested": "[2.4.0, )", 45 | "resolved": "2.4.0", 46 | "contentHash": "3eq5cGXbEJkqW9nwLuXwtxy9B5gMA8i7HW4rN63AhAvy5UvEcQbZnve23wx/oPrkyg/4CbfNhxkBezS0b1oUdQ==" 47 | }, 48 | "Autofac": { 49 | "type": "Transitive", 50 | "resolved": "3.0.0", 51 | "contentHash": "MzwfKuvmltHX+7ty3ewZU3vbACIdLhK1/pHG4BS7YF+15rJ3e7sjG3Fsjyfys8ZMSNcHa4fUyh9TYzAZ6q4eBQ==" 52 | }, 53 | "Castle.Core": { 54 | "type": "Transitive", 55 | "resolved": "4.3.1", 56 | "contentHash": "8Y/eTr6GTElAGV7eAmJuhfLhGdFpNvaNrQ9UQYDScziLmX+/BLGM+9eQr0IcdNDcPN0ADmbtwT6MgecGKy4obw==" 57 | }, 58 | "Hangfire.Core": { 59 | "type": "Transitive", 60 | "resolved": "1.5.0", 61 | "contentHash": "UPN0Q0J+oWGksz7Lq/tayaepsga5SY4kk1hBkmniQ3yfJCXyMHH9Dz0CWjtWNBXGwq3N0HlzipFflAX/+ono0Q==", 62 | "dependencies": { 63 | "Newtonsoft.Json": "5.0.0", 64 | "Owin": "1.0.0" 65 | } 66 | }, 67 | "Microsoft.Build.Tasks.Git": { 68 | "type": "Transitive", 69 | "resolved": "8.0.0", 70 | "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" 71 | }, 72 | "Microsoft.CodeAnalysis.NetAnalyzers": { 73 | "type": "Transitive", 74 | "resolved": "9.0.0", 75 | "contentHash": "JajbvkrBgtdRghavIjcJuNHMOja4lqBmEezbhZyqWPYh2cpLhT5mPpfC7NQVDO4IehWQum9t/nwF4v+qQGtYWg==" 76 | }, 77 | "Microsoft.NETFramework.ReferenceAssemblies.net452": { 78 | "type": "Transitive", 79 | "resolved": "1.0.3", 80 | "contentHash": "kuFOgilYbs29xENHlqQ6aJYa+t56u+OqHx85P7GYLVlo7HL3nsug9IQY2DoPgkOpZ2xb9btYV2EFK7Enll8S3A==" 81 | }, 82 | "Microsoft.SourceLink.Common": { 83 | "type": "Transitive", 84 | "resolved": "8.0.0", 85 | "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" 86 | }, 87 | "Microsoft.SourceLink.GitHub": { 88 | "type": "Transitive", 89 | "resolved": "8.0.0", 90 | "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", 91 | "dependencies": { 92 | "Microsoft.Build.Tasks.Git": "8.0.0", 93 | "Microsoft.SourceLink.Common": "8.0.0" 94 | } 95 | }, 96 | "Newtonsoft.Json": { 97 | "type": "Transitive", 98 | "resolved": "5.0.1", 99 | "contentHash": "AuSDf0kpGGLSvFmj1Zia8BxTeUCdQ6lB8lWUZRYVXRnAQLmiEGmoP0M+9KHwJNqBW2FiFwSG8Jkz3G7tS6k7MQ==" 100 | }, 101 | "Owin": { 102 | "type": "Transitive", 103 | "resolved": "1.0.0", 104 | "contentHash": "OseTFniKmyp76mEzOBwIKGBRS5eMoYNkMKaMXOpxx9jv88+b6mh1rSaw43vjBOItNhaLFG3d0a20PfHyibH5sw==" 105 | }, 106 | "System.Threading.Tasks.Extensions": { 107 | "type": "Transitive", 108 | "resolved": "4.3.0", 109 | "contentHash": "npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==" 110 | }, 111 | "System.ValueTuple": { 112 | "type": "Transitive", 113 | "resolved": "4.4.0", 114 | "contentHash": "BahUww/+mdP4ARCAh2RQhQTg13wYLVrBb9SYVgW8ZlrwjraGCXHGjo0oIiUfZ34LUZkMMR+RAzR7dEY4S1HeQQ==" 115 | }, 116 | "xunit.abstractions": { 117 | "type": "Transitive", 118 | "resolved": "2.0.2", 119 | "contentHash": "vItLB0WkaKg0426RgWq+ZdXH6D+YV/uH28C0weWMOBnVx7I+luHuEYss9hoOngpkiN5kUpLvh9VZRx1H2sk59A==" 120 | }, 121 | "xunit.analyzers": { 122 | "type": "Transitive", 123 | "resolved": "0.10.0", 124 | "contentHash": "4/IDFCJfIeg6bix9apmUtIMwvOsiwqdEexeO/R2D4GReIGPLIRODTpId/l4LRSrAJk9lEO3Zx1H0Zx6uohJDNg==" 125 | }, 126 | "xunit.assert": { 127 | "type": "Transitive", 128 | "resolved": "2.4.0", 129 | "contentHash": "Swvkm6iTjZr8TiUj5vMnmfG+2dD4s/BIBgsVOzTxxmoq2ndGsmM2WIL4wuqJ8RhxydWIDOPpIaaytjT2pMTEdg==" 130 | }, 131 | "xunit.core": { 132 | "type": "Transitive", 133 | "resolved": "2.4.0", 134 | "contentHash": "BJ/O/tPEcHUCwQYuwqXoYccTMyw6B5dA6yh7WxWWBhKbjqTsG9RWL0nCQXM5yQYJwUuFzBkiXDPN1BO6UdBB4Q==", 135 | "dependencies": { 136 | "xunit.extensibility.core": "[2.4.0]", 137 | "xunit.extensibility.execution": "[2.4.0]" 138 | } 139 | }, 140 | "xunit.extensibility.core": { 141 | "type": "Transitive", 142 | "resolved": "2.4.0", 143 | "contentHash": "qr/KrR6uukHXD9e/lLQjyCPfMEDuvvhNFDzsYzCF2kKlYKiqcADfUvA9Q68rBtKFtwHFeghjWEuv15KoGD2SfA==", 144 | "dependencies": { 145 | "xunit.abstractions": "2.0.2" 146 | } 147 | }, 148 | "xunit.extensibility.execution": { 149 | "type": "Transitive", 150 | "resolved": "2.4.0", 151 | "contentHash": "252Dzn7i5bMPKtAL15aOP3qJhxKd+57I8ldwIQRJa745JxQuiBu5Da0vtIISVTtc3buRSkBwVnD9iUzsEmCzZA==", 152 | "dependencies": { 153 | "xunit.extensibility.core": "[2.4.0]" 154 | } 155 | }, 156 | "hangfire.autofac": { 157 | "type": "Project", 158 | "dependencies": { 159 | "Autofac": "[3.0.0, )", 160 | "Hangfire.Core": "[1.5.0, )", 161 | "Microsoft.CodeAnalysis.NetAnalyzers": "[9.0.0, )", 162 | "Microsoft.NETFramework.ReferenceAssemblies": "[1.0.3, )", 163 | "Microsoft.SourceLink.GitHub": "[8.0.0, )" 164 | } 165 | } 166 | }, 167 | "net6.0": { 168 | "Microsoft.NET.Test.Sdk": { 169 | "type": "Direct", 170 | "requested": "[17.8.0, )", 171 | "resolved": "17.8.0", 172 | "contentHash": "BmTYGbD/YuDHmApIENdoyN1jCk0Rj1fJB0+B/fVekyTdVidr91IlzhqzytiUgaEAzL1ZJcYCme0MeBMYvJVzvw==", 173 | "dependencies": { 174 | "Microsoft.CodeCoverage": "17.8.0", 175 | "Microsoft.TestPlatform.TestHost": "17.8.0" 176 | } 177 | }, 178 | "Moq": { 179 | "type": "Direct", 180 | "requested": "[4.10.0, )", 181 | "resolved": "4.10.0", 182 | "contentHash": "YZ1yTTDkFdgjglo9v2Gy4jnWUUIPTQETCul9CDguydLYrVgQXr6L1n3CEJqy/S9kgX+Er0cRQixky2grMwtvxA==", 183 | "dependencies": { 184 | "Castle.Core": "4.3.1", 185 | "NETStandard.Library": "1.6.1", 186 | "System.Linq.Queryable": "4.3.0", 187 | "System.Reflection.Emit": "4.3.0", 188 | "System.Reflection.TypeExtensions": "4.3.0", 189 | "System.Threading.Tasks.Extensions": "4.3.0", 190 | "System.ValueTuple": "4.4.0" 191 | } 192 | }, 193 | "xunit": { 194 | "type": "Direct", 195 | "requested": "[2.4.0, )", 196 | "resolved": "2.4.0", 197 | "contentHash": "NL00nGsDsyWc1CWxz5FXXjLpW9oFG18WJoTPCyhNv4KGP/e5iLJqAqgM1uaJZyQ6WaTtmWIy4yjYP3RdcaT7Vw==", 198 | "dependencies": { 199 | "xunit.analyzers": "0.10.0", 200 | "xunit.assert": "[2.4.0]", 201 | "xunit.core": "[2.4.0]" 202 | } 203 | }, 204 | "xunit.runner.visualstudio": { 205 | "type": "Direct", 206 | "requested": "[2.4.0, )", 207 | "resolved": "2.4.0", 208 | "contentHash": "3eq5cGXbEJkqW9nwLuXwtxy9B5gMA8i7HW4rN63AhAvy5UvEcQbZnve23wx/oPrkyg/4CbfNhxkBezS0b1oUdQ==", 209 | "dependencies": { 210 | "Microsoft.NET.Test.Sdk": "15.0.0" 211 | } 212 | }, 213 | "Autofac": { 214 | "type": "Transitive", 215 | "resolved": "5.0.0", 216 | "contentHash": "U1aCHUMXuG7DDJ5JmTXF2kInXpad3Fuow+voSXEVunDHW4OkD8GDWJjleHpJPanpP+3dUQYLAM9R2lftGiQSbA==" 217 | }, 218 | "Castle.Core": { 219 | "type": "Transitive", 220 | "resolved": "4.3.1", 221 | "contentHash": "8Y/eTr6GTElAGV7eAmJuhfLhGdFpNvaNrQ9UQYDScziLmX+/BLGM+9eQr0IcdNDcPN0ADmbtwT6MgecGKy4obw==", 222 | "dependencies": { 223 | "NETStandard.Library": "1.6.1", 224 | "System.Collections.Specialized": "4.3.0", 225 | "System.ComponentModel": "4.3.0", 226 | "System.ComponentModel.TypeConverter": "4.3.0", 227 | "System.Diagnostics.TraceSource": "4.3.0", 228 | "System.Dynamic.Runtime": "4.3.0", 229 | "System.Reflection": "4.3.0", 230 | "System.Reflection.Emit": "4.3.0", 231 | "System.Reflection.TypeExtensions": "4.3.0", 232 | "System.Xml.XmlDocument": "4.3.0" 233 | } 234 | }, 235 | "Hangfire.Core": { 236 | "type": "Transitive", 237 | "resolved": "1.6.0", 238 | "contentHash": "z3tCW8dIIbKASprzf8qC/4a+tkJ/Eq78k4jNsTkecYzVt9VAMDc8Yz+gaoiylIcHEqRc9XVq13Z81Gaz29pxKQ==", 239 | "dependencies": { 240 | "Microsoft.NETCore.Portable.Compatibility": "1.0.1", 241 | "NETStandard.Library": "1.6.0", 242 | "Newtonsoft.Json": "9.0.1", 243 | "System.Threading.Thread": "4.0.0" 244 | } 245 | }, 246 | "Microsoft.Build.Tasks.Git": { 247 | "type": "Transitive", 248 | "resolved": "8.0.0", 249 | "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" 250 | }, 251 | "Microsoft.CodeAnalysis.NetAnalyzers": { 252 | "type": "Transitive", 253 | "resolved": "9.0.0", 254 | "contentHash": "JajbvkrBgtdRghavIjcJuNHMOja4lqBmEezbhZyqWPYh2cpLhT5mPpfC7NQVDO4IehWQum9t/nwF4v+qQGtYWg==" 255 | }, 256 | "Microsoft.CodeCoverage": { 257 | "type": "Transitive", 258 | "resolved": "17.8.0", 259 | "contentHash": "KC8SXWbGIdoFVdlxKk9WHccm0llm9HypcHMLUUFabRiTS3SO2fQXNZfdiF3qkEdTJhbRrxhdRxjL4jbtwPq4Ew==" 260 | }, 261 | "Microsoft.NETCore.Jit": { 262 | "type": "Transitive", 263 | "resolved": "1.0.2", 264 | "contentHash": "Ok2vWofa6X8WD9vc4pfLHwvJz1/B6t3gOAoZcjrjrQf7lQOlNIuZIZtLn3wnWX28DuQGpPJkRlBxFj7Z5txNqw==" 265 | }, 266 | "Microsoft.NETCore.Platforms": { 267 | "type": "Transitive", 268 | "resolved": "1.1.0", 269 | "contentHash": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==" 270 | }, 271 | "Microsoft.NETCore.Portable.Compatibility": { 272 | "type": "Transitive", 273 | "resolved": "1.0.1", 274 | "contentHash": "Vd+lvLcGwvkedxtKn0U8s9uR4p0Lm+0U2QvDsLaw7g4S1W4KfPDbaW+ROhhLCSOx/gMYC72/b+z+o4fqS/oxVg==", 275 | "dependencies": { 276 | "Microsoft.NETCore.Runtime.CoreCLR": "1.0.2" 277 | } 278 | }, 279 | "Microsoft.NETCore.Runtime.CoreCLR": { 280 | "type": "Transitive", 281 | "resolved": "1.0.2", 282 | "contentHash": "A0x1xtTjYJWZr2DRzgfCOXgB0JkQg8twnmtTJ79wFje+IihlLbXtx6Z2AxyVokBM5ruwTedR6YdCmHk39QJdtQ==", 283 | "dependencies": { 284 | "Microsoft.NETCore.Jit": "1.0.2", 285 | "Microsoft.NETCore.Windows.ApiSets": "1.0.1" 286 | } 287 | }, 288 | "Microsoft.NETCore.Targets": { 289 | "type": "Transitive", 290 | "resolved": "1.1.0", 291 | "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" 292 | }, 293 | "Microsoft.NETCore.Windows.ApiSets": { 294 | "type": "Transitive", 295 | "resolved": "1.0.1", 296 | "contentHash": "SaToCvvsGMxTgtLv/BrFQ5IFMPRE1zpWbnqbpwykJa8W5XiX82CXI6K2o7yf5xS7EP6t/JzFLV0SIDuWpvBZVw==" 297 | }, 298 | "Microsoft.SourceLink.Common": { 299 | "type": "Transitive", 300 | "resolved": "8.0.0", 301 | "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" 302 | }, 303 | "Microsoft.SourceLink.GitHub": { 304 | "type": "Transitive", 305 | "resolved": "8.0.0", 306 | "contentHash": "G5q7OqtwIyGTkeIOAc3u2ZuV/kicQaec5EaRnc0pIeSnh9LUjj+PYQrJYBURvDt7twGl2PKA7nSN0kz1Zw5bnQ==", 307 | "dependencies": { 308 | "Microsoft.Build.Tasks.Git": "8.0.0", 309 | "Microsoft.SourceLink.Common": "8.0.0" 310 | } 311 | }, 312 | "Microsoft.TestPlatform.ObjectModel": { 313 | "type": "Transitive", 314 | "resolved": "17.8.0", 315 | "contentHash": "AYy6vlpGMfz5kOFq99L93RGbqftW/8eQTqjT9iGXW6s9MRP3UdtY8idJ8rJcjeSja8A18IhIro5YnH3uv1nz4g==", 316 | "dependencies": { 317 | "NuGet.Frameworks": "6.5.0", 318 | "System.Reflection.Metadata": "1.6.0" 319 | } 320 | }, 321 | "Microsoft.TestPlatform.TestHost": { 322 | "type": "Transitive", 323 | "resolved": "17.8.0", 324 | "contentHash": "9ivcl/7SGRmOT0YYrHQGohWiT5YCpkmy/UEzldfVisLm6QxbLaK3FAJqZXI34rnRLmqqDCeMQxKINwmKwAPiDw==", 325 | "dependencies": { 326 | "Microsoft.TestPlatform.ObjectModel": "17.8.0", 327 | "Newtonsoft.Json": "13.0.1" 328 | } 329 | }, 330 | "Microsoft.Win32.Primitives": { 331 | "type": "Transitive", 332 | "resolved": "4.3.0", 333 | "contentHash": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", 334 | "dependencies": { 335 | "Microsoft.NETCore.Platforms": "1.1.0", 336 | "Microsoft.NETCore.Targets": "1.1.0", 337 | "System.Runtime": "4.3.0" 338 | } 339 | }, 340 | "NETStandard.Library": { 341 | "type": "Transitive", 342 | "resolved": "1.6.1", 343 | "contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", 344 | "dependencies": { 345 | "Microsoft.NETCore.Platforms": "1.1.0", 346 | "Microsoft.Win32.Primitives": "4.3.0", 347 | "System.AppContext": "4.3.0", 348 | "System.Collections": "4.3.0", 349 | "System.Collections.Concurrent": "4.3.0", 350 | "System.Console": "4.3.0", 351 | "System.Diagnostics.Debug": "4.3.0", 352 | "System.Diagnostics.Tools": "4.3.0", 353 | "System.Diagnostics.Tracing": "4.3.0", 354 | "System.Globalization": "4.3.0", 355 | "System.Globalization.Calendars": "4.3.0", 356 | "System.IO": "4.3.0", 357 | "System.IO.Compression": "4.3.0", 358 | "System.IO.Compression.ZipFile": "4.3.0", 359 | "System.IO.FileSystem": "4.3.0", 360 | "System.IO.FileSystem.Primitives": "4.3.0", 361 | "System.Linq": "4.3.0", 362 | "System.Linq.Expressions": "4.3.0", 363 | "System.Net.Http": "4.3.0", 364 | "System.Net.Primitives": "4.3.0", 365 | "System.Net.Sockets": "4.3.0", 366 | "System.ObjectModel": "4.3.0", 367 | "System.Reflection": "4.3.0", 368 | "System.Reflection.Extensions": "4.3.0", 369 | "System.Reflection.Primitives": "4.3.0", 370 | "System.Resources.ResourceManager": "4.3.0", 371 | "System.Runtime": "4.3.0", 372 | "System.Runtime.Extensions": "4.3.0", 373 | "System.Runtime.Handles": "4.3.0", 374 | "System.Runtime.InteropServices": "4.3.0", 375 | "System.Runtime.InteropServices.RuntimeInformation": "4.3.0", 376 | "System.Runtime.Numerics": "4.3.0", 377 | "System.Security.Cryptography.Algorithms": "4.3.0", 378 | "System.Security.Cryptography.Encoding": "4.3.0", 379 | "System.Security.Cryptography.Primitives": "4.3.0", 380 | "System.Security.Cryptography.X509Certificates": "4.3.0", 381 | "System.Text.Encoding": "4.3.0", 382 | "System.Text.Encoding.Extensions": "4.3.0", 383 | "System.Text.RegularExpressions": "4.3.0", 384 | "System.Threading": "4.3.0", 385 | "System.Threading.Tasks": "4.3.0", 386 | "System.Threading.Timer": "4.3.0", 387 | "System.Xml.ReaderWriter": "4.3.0", 388 | "System.Xml.XDocument": "4.3.0" 389 | } 390 | }, 391 | "Newtonsoft.Json": { 392 | "type": "Transitive", 393 | "resolved": "13.0.1", 394 | "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" 395 | }, 396 | "NuGet.Frameworks": { 397 | "type": "Transitive", 398 | "resolved": "6.5.0", 399 | "contentHash": "QWINE2x3MbTODsWT1Gh71GaGb5icBz4chS8VYvTgsBnsi8esgN6wtHhydd7fvToWECYGq7T4cgBBDiKD/363fg==" 400 | }, 401 | "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { 402 | "type": "Transitive", 403 | "resolved": "4.3.0", 404 | "contentHash": "HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==" 405 | }, 406 | "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { 407 | "type": "Transitive", 408 | "resolved": "4.3.0", 409 | "contentHash": "+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==" 410 | }, 411 | "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { 412 | "type": "Transitive", 413 | "resolved": "4.3.0", 414 | "contentHash": "c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==" 415 | }, 416 | "runtime.native.System": { 417 | "type": "Transitive", 418 | "resolved": "4.3.0", 419 | "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", 420 | "dependencies": { 421 | "Microsoft.NETCore.Platforms": "1.1.0", 422 | "Microsoft.NETCore.Targets": "1.1.0" 423 | } 424 | }, 425 | "runtime.native.System.IO.Compression": { 426 | "type": "Transitive", 427 | "resolved": "4.3.0", 428 | "contentHash": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", 429 | "dependencies": { 430 | "Microsoft.NETCore.Platforms": "1.1.0", 431 | "Microsoft.NETCore.Targets": "1.1.0" 432 | } 433 | }, 434 | "runtime.native.System.Net.Http": { 435 | "type": "Transitive", 436 | "resolved": "4.3.0", 437 | "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", 438 | "dependencies": { 439 | "Microsoft.NETCore.Platforms": "1.1.0", 440 | "Microsoft.NETCore.Targets": "1.1.0" 441 | } 442 | }, 443 | "runtime.native.System.Security.Cryptography.Apple": { 444 | "type": "Transitive", 445 | "resolved": "4.3.0", 446 | "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", 447 | "dependencies": { 448 | "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" 449 | } 450 | }, 451 | "runtime.native.System.Security.Cryptography.OpenSsl": { 452 | "type": "Transitive", 453 | "resolved": "4.3.0", 454 | "contentHash": "NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", 455 | "dependencies": { 456 | "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 457 | "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 458 | "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 459 | "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 460 | "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 461 | "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 462 | "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 463 | "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 464 | "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 465 | "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" 466 | } 467 | }, 468 | "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": { 469 | "type": "Transitive", 470 | "resolved": "4.3.0", 471 | "contentHash": "b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==" 472 | }, 473 | "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { 474 | "type": "Transitive", 475 | "resolved": "4.3.0", 476 | "contentHash": "KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==" 477 | }, 478 | "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { 479 | "type": "Transitive", 480 | "resolved": "4.3.0", 481 | "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" 482 | }, 483 | "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { 484 | "type": "Transitive", 485 | "resolved": "4.3.0", 486 | "contentHash": "X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==" 487 | }, 488 | "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { 489 | "type": "Transitive", 490 | "resolved": "4.3.0", 491 | "contentHash": "nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==" 492 | }, 493 | "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { 494 | "type": "Transitive", 495 | "resolved": "4.3.0", 496 | "contentHash": "ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==" 497 | }, 498 | "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { 499 | "type": "Transitive", 500 | "resolved": "4.3.0", 501 | "contentHash": "I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==" 502 | }, 503 | "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { 504 | "type": "Transitive", 505 | "resolved": "4.3.0", 506 | "contentHash": "VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==" 507 | }, 508 | "System.AppContext": { 509 | "type": "Transitive", 510 | "resolved": "4.3.0", 511 | "contentHash": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", 512 | "dependencies": { 513 | "System.Runtime": "4.3.0" 514 | } 515 | }, 516 | "System.Buffers": { 517 | "type": "Transitive", 518 | "resolved": "4.3.0", 519 | "contentHash": "ratu44uTIHgeBeI0dE8DWvmXVBSo4u7ozRZZHOMmK/JPpYyo0dAfgSiHlpiObMQ5lEtEyIXA40sKRYg5J6A8uQ==", 520 | "dependencies": { 521 | "System.Diagnostics.Debug": "4.3.0", 522 | "System.Diagnostics.Tracing": "4.3.0", 523 | "System.Resources.ResourceManager": "4.3.0", 524 | "System.Runtime": "4.3.0", 525 | "System.Threading": "4.3.0" 526 | } 527 | }, 528 | "System.Collections": { 529 | "type": "Transitive", 530 | "resolved": "4.3.0", 531 | "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", 532 | "dependencies": { 533 | "Microsoft.NETCore.Platforms": "1.1.0", 534 | "Microsoft.NETCore.Targets": "1.1.0", 535 | "System.Runtime": "4.3.0" 536 | } 537 | }, 538 | "System.Collections.Concurrent": { 539 | "type": "Transitive", 540 | "resolved": "4.3.0", 541 | "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", 542 | "dependencies": { 543 | "System.Collections": "4.3.0", 544 | "System.Diagnostics.Debug": "4.3.0", 545 | "System.Diagnostics.Tracing": "4.3.0", 546 | "System.Globalization": "4.3.0", 547 | "System.Reflection": "4.3.0", 548 | "System.Resources.ResourceManager": "4.3.0", 549 | "System.Runtime": "4.3.0", 550 | "System.Runtime.Extensions": "4.3.0", 551 | "System.Threading": "4.3.0", 552 | "System.Threading.Tasks": "4.3.0" 553 | } 554 | }, 555 | "System.Collections.NonGeneric": { 556 | "type": "Transitive", 557 | "resolved": "4.3.0", 558 | "contentHash": "prtjIEMhGUnQq6RnPEYLpFt8AtLbp9yq2zxOSrY7KJJZrw25Fi97IzBqY7iqssbM61Ek5b8f3MG/sG1N2sN5KA==", 559 | "dependencies": { 560 | "System.Diagnostics.Debug": "4.3.0", 561 | "System.Globalization": "4.3.0", 562 | "System.Resources.ResourceManager": "4.3.0", 563 | "System.Runtime": "4.3.0", 564 | "System.Runtime.Extensions": "4.3.0", 565 | "System.Threading": "4.3.0" 566 | } 567 | }, 568 | "System.Collections.Specialized": { 569 | "type": "Transitive", 570 | "resolved": "4.3.0", 571 | "contentHash": "Epx8PoVZR0iuOnJJDzp7pWvdfMMOAvpUo95pC4ScH2mJuXkKA2Y4aR3cG9qt2klHgSons1WFh4kcGW7cSXvrxg==", 572 | "dependencies": { 573 | "System.Collections.NonGeneric": "4.3.0", 574 | "System.Globalization": "4.3.0", 575 | "System.Globalization.Extensions": "4.3.0", 576 | "System.Resources.ResourceManager": "4.3.0", 577 | "System.Runtime": "4.3.0", 578 | "System.Runtime.Extensions": "4.3.0", 579 | "System.Threading": "4.3.0" 580 | } 581 | }, 582 | "System.ComponentModel": { 583 | "type": "Transitive", 584 | "resolved": "4.3.0", 585 | "contentHash": "VyGn1jGRZVfxnh8EdvDCi71v3bMXrsu8aYJOwoV7SNDLVhiEqwP86pPMyRGsDsxhXAm2b3o9OIqeETfN5qfezw==", 586 | "dependencies": { 587 | "System.Runtime": "4.3.0" 588 | } 589 | }, 590 | "System.ComponentModel.Primitives": { 591 | "type": "Transitive", 592 | "resolved": "4.3.0", 593 | "contentHash": "j8GUkCpM8V4d4vhLIIoBLGey2Z5bCkMVNjEZseyAlm4n5arcsJOeI3zkUP+zvZgzsbLTYh4lYeP/ZD/gdIAPrw==", 594 | "dependencies": { 595 | "System.ComponentModel": "4.3.0", 596 | "System.Resources.ResourceManager": "4.3.0", 597 | "System.Runtime": "4.3.0" 598 | } 599 | }, 600 | "System.ComponentModel.TypeConverter": { 601 | "type": "Transitive", 602 | "resolved": "4.3.0", 603 | "contentHash": "16pQ6P+EdhcXzPiEK4kbA953Fu0MNG2ovxTZU81/qsCd1zPRsKc3uif5NgvllCY598k6bI0KUyKW8fanlfaDQg==", 604 | "dependencies": { 605 | "System.Collections": "4.3.0", 606 | "System.Collections.NonGeneric": "4.3.0", 607 | "System.Collections.Specialized": "4.3.0", 608 | "System.ComponentModel": "4.3.0", 609 | "System.ComponentModel.Primitives": "4.3.0", 610 | "System.Globalization": "4.3.0", 611 | "System.Linq": "4.3.0", 612 | "System.Reflection": "4.3.0", 613 | "System.Reflection.Extensions": "4.3.0", 614 | "System.Reflection.Primitives": "4.3.0", 615 | "System.Reflection.TypeExtensions": "4.3.0", 616 | "System.Resources.ResourceManager": "4.3.0", 617 | "System.Runtime": "4.3.0", 618 | "System.Runtime.Extensions": "4.3.0", 619 | "System.Threading": "4.3.0" 620 | } 621 | }, 622 | "System.Console": { 623 | "type": "Transitive", 624 | "resolved": "4.3.0", 625 | "contentHash": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", 626 | "dependencies": { 627 | "Microsoft.NETCore.Platforms": "1.1.0", 628 | "Microsoft.NETCore.Targets": "1.1.0", 629 | "System.IO": "4.3.0", 630 | "System.Runtime": "4.3.0", 631 | "System.Text.Encoding": "4.3.0" 632 | } 633 | }, 634 | "System.Diagnostics.Debug": { 635 | "type": "Transitive", 636 | "resolved": "4.3.0", 637 | "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", 638 | "dependencies": { 639 | "Microsoft.NETCore.Platforms": "1.1.0", 640 | "Microsoft.NETCore.Targets": "1.1.0", 641 | "System.Runtime": "4.3.0" 642 | } 643 | }, 644 | "System.Diagnostics.DiagnosticSource": { 645 | "type": "Transitive", 646 | "resolved": "4.3.0", 647 | "contentHash": "tD6kosZnTAGdrEa0tZSuFyunMbt/5KYDnHdndJYGqZoNy00XVXyACd5d6KnE1YgYv3ne2CjtAfNXo/fwEhnKUA==", 648 | "dependencies": { 649 | "System.Collections": "4.3.0", 650 | "System.Diagnostics.Tracing": "4.3.0", 651 | "System.Reflection": "4.3.0", 652 | "System.Runtime": "4.3.0", 653 | "System.Threading": "4.3.0" 654 | } 655 | }, 656 | "System.Diagnostics.Tools": { 657 | "type": "Transitive", 658 | "resolved": "4.3.0", 659 | "contentHash": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", 660 | "dependencies": { 661 | "Microsoft.NETCore.Platforms": "1.1.0", 662 | "Microsoft.NETCore.Targets": "1.1.0", 663 | "System.Runtime": "4.3.0" 664 | } 665 | }, 666 | "System.Diagnostics.TraceSource": { 667 | "type": "Transitive", 668 | "resolved": "4.3.0", 669 | "contentHash": "VnYp1NxGx8Ww731y2LJ1vpfb/DKVNKEZ8Jsh5SgQTZREL/YpWRArgh9pI8CDLmgHspZmLL697CaLvH85qQpRiw==", 670 | "dependencies": { 671 | "Microsoft.NETCore.Platforms": "1.1.0", 672 | "System.Collections": "4.3.0", 673 | "System.Diagnostics.Debug": "4.3.0", 674 | "System.Globalization": "4.3.0", 675 | "System.Resources.ResourceManager": "4.3.0", 676 | "System.Runtime": "4.3.0", 677 | "System.Runtime.Extensions": "4.3.0", 678 | "System.Threading": "4.3.0", 679 | "runtime.native.System": "4.3.0" 680 | } 681 | }, 682 | "System.Diagnostics.Tracing": { 683 | "type": "Transitive", 684 | "resolved": "4.3.0", 685 | "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", 686 | "dependencies": { 687 | "Microsoft.NETCore.Platforms": "1.1.0", 688 | "Microsoft.NETCore.Targets": "1.1.0", 689 | "System.Runtime": "4.3.0" 690 | } 691 | }, 692 | "System.Dynamic.Runtime": { 693 | "type": "Transitive", 694 | "resolved": "4.3.0", 695 | "contentHash": "SNVi1E/vfWUAs/WYKhE9+qlS6KqK0YVhnlT0HQtr8pMIA8YX3lwy3uPMownDwdYISBdmAF/2holEIldVp85Wag==", 696 | "dependencies": { 697 | "System.Collections": "4.3.0", 698 | "System.Diagnostics.Debug": "4.3.0", 699 | "System.Linq": "4.3.0", 700 | "System.Linq.Expressions": "4.3.0", 701 | "System.ObjectModel": "4.3.0", 702 | "System.Reflection": "4.3.0", 703 | "System.Reflection.Emit": "4.3.0", 704 | "System.Reflection.Emit.ILGeneration": "4.3.0", 705 | "System.Reflection.Primitives": "4.3.0", 706 | "System.Reflection.TypeExtensions": "4.3.0", 707 | "System.Resources.ResourceManager": "4.3.0", 708 | "System.Runtime": "4.3.0", 709 | "System.Runtime.Extensions": "4.3.0", 710 | "System.Threading": "4.3.0" 711 | } 712 | }, 713 | "System.Globalization": { 714 | "type": "Transitive", 715 | "resolved": "4.3.0", 716 | "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", 717 | "dependencies": { 718 | "Microsoft.NETCore.Platforms": "1.1.0", 719 | "Microsoft.NETCore.Targets": "1.1.0", 720 | "System.Runtime": "4.3.0" 721 | } 722 | }, 723 | "System.Globalization.Calendars": { 724 | "type": "Transitive", 725 | "resolved": "4.3.0", 726 | "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", 727 | "dependencies": { 728 | "Microsoft.NETCore.Platforms": "1.1.0", 729 | "Microsoft.NETCore.Targets": "1.1.0", 730 | "System.Globalization": "4.3.0", 731 | "System.Runtime": "4.3.0" 732 | } 733 | }, 734 | "System.Globalization.Extensions": { 735 | "type": "Transitive", 736 | "resolved": "4.3.0", 737 | "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", 738 | "dependencies": { 739 | "Microsoft.NETCore.Platforms": "1.1.0", 740 | "System.Globalization": "4.3.0", 741 | "System.Resources.ResourceManager": "4.3.0", 742 | "System.Runtime": "4.3.0", 743 | "System.Runtime.Extensions": "4.3.0", 744 | "System.Runtime.InteropServices": "4.3.0" 745 | } 746 | }, 747 | "System.IO": { 748 | "type": "Transitive", 749 | "resolved": "4.3.0", 750 | "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", 751 | "dependencies": { 752 | "Microsoft.NETCore.Platforms": "1.1.0", 753 | "Microsoft.NETCore.Targets": "1.1.0", 754 | "System.Runtime": "4.3.0", 755 | "System.Text.Encoding": "4.3.0", 756 | "System.Threading.Tasks": "4.3.0" 757 | } 758 | }, 759 | "System.IO.Compression": { 760 | "type": "Transitive", 761 | "resolved": "4.3.0", 762 | "contentHash": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", 763 | "dependencies": { 764 | "Microsoft.NETCore.Platforms": "1.1.0", 765 | "System.Buffers": "4.3.0", 766 | "System.Collections": "4.3.0", 767 | "System.Diagnostics.Debug": "4.3.0", 768 | "System.IO": "4.3.0", 769 | "System.Resources.ResourceManager": "4.3.0", 770 | "System.Runtime": "4.3.0", 771 | "System.Runtime.Extensions": "4.3.0", 772 | "System.Runtime.Handles": "4.3.0", 773 | "System.Runtime.InteropServices": "4.3.0", 774 | "System.Text.Encoding": "4.3.0", 775 | "System.Threading": "4.3.0", 776 | "System.Threading.Tasks": "4.3.0", 777 | "runtime.native.System": "4.3.0", 778 | "runtime.native.System.IO.Compression": "4.3.0" 779 | } 780 | }, 781 | "System.IO.Compression.ZipFile": { 782 | "type": "Transitive", 783 | "resolved": "4.3.0", 784 | "contentHash": "G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", 785 | "dependencies": { 786 | "System.Buffers": "4.3.0", 787 | "System.IO": "4.3.0", 788 | "System.IO.Compression": "4.3.0", 789 | "System.IO.FileSystem": "4.3.0", 790 | "System.IO.FileSystem.Primitives": "4.3.0", 791 | "System.Resources.ResourceManager": "4.3.0", 792 | "System.Runtime": "4.3.0", 793 | "System.Runtime.Extensions": "4.3.0", 794 | "System.Text.Encoding": "4.3.0" 795 | } 796 | }, 797 | "System.IO.FileSystem": { 798 | "type": "Transitive", 799 | "resolved": "4.3.0", 800 | "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", 801 | "dependencies": { 802 | "Microsoft.NETCore.Platforms": "1.1.0", 803 | "Microsoft.NETCore.Targets": "1.1.0", 804 | "System.IO": "4.3.0", 805 | "System.IO.FileSystem.Primitives": "4.3.0", 806 | "System.Runtime": "4.3.0", 807 | "System.Runtime.Handles": "4.3.0", 808 | "System.Text.Encoding": "4.3.0", 809 | "System.Threading.Tasks": "4.3.0" 810 | } 811 | }, 812 | "System.IO.FileSystem.Primitives": { 813 | "type": "Transitive", 814 | "resolved": "4.3.0", 815 | "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", 816 | "dependencies": { 817 | "System.Runtime": "4.3.0" 818 | } 819 | }, 820 | "System.Linq": { 821 | "type": "Transitive", 822 | "resolved": "4.3.0", 823 | "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", 824 | "dependencies": { 825 | "System.Collections": "4.3.0", 826 | "System.Diagnostics.Debug": "4.3.0", 827 | "System.Resources.ResourceManager": "4.3.0", 828 | "System.Runtime": "4.3.0", 829 | "System.Runtime.Extensions": "4.3.0" 830 | } 831 | }, 832 | "System.Linq.Expressions": { 833 | "type": "Transitive", 834 | "resolved": "4.3.0", 835 | "contentHash": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", 836 | "dependencies": { 837 | "System.Collections": "4.3.0", 838 | "System.Diagnostics.Debug": "4.3.0", 839 | "System.Globalization": "4.3.0", 840 | "System.IO": "4.3.0", 841 | "System.Linq": "4.3.0", 842 | "System.ObjectModel": "4.3.0", 843 | "System.Reflection": "4.3.0", 844 | "System.Reflection.Emit": "4.3.0", 845 | "System.Reflection.Emit.ILGeneration": "4.3.0", 846 | "System.Reflection.Emit.Lightweight": "4.3.0", 847 | "System.Reflection.Extensions": "4.3.0", 848 | "System.Reflection.Primitives": "4.3.0", 849 | "System.Reflection.TypeExtensions": "4.3.0", 850 | "System.Resources.ResourceManager": "4.3.0", 851 | "System.Runtime": "4.3.0", 852 | "System.Runtime.Extensions": "4.3.0", 853 | "System.Threading": "4.3.0" 854 | } 855 | }, 856 | "System.Linq.Queryable": { 857 | "type": "Transitive", 858 | "resolved": "4.3.0", 859 | "contentHash": "In1Bmmvl/j52yPu3xgakQSI0YIckPUr870w4K5+Lak3JCCa8hl+my65lABOuKfYs4ugmZy25ScFerC4nz8+b6g==", 860 | "dependencies": { 861 | "System.Collections": "4.3.0", 862 | "System.Diagnostics.Debug": "4.3.0", 863 | "System.Linq": "4.3.0", 864 | "System.Linq.Expressions": "4.3.0", 865 | "System.Reflection": "4.3.0", 866 | "System.Reflection.Extensions": "4.3.0", 867 | "System.Resources.ResourceManager": "4.3.0", 868 | "System.Runtime": "4.3.0" 869 | } 870 | }, 871 | "System.Net.Http": { 872 | "type": "Transitive", 873 | "resolved": "4.3.0", 874 | "contentHash": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", 875 | "dependencies": { 876 | "Microsoft.NETCore.Platforms": "1.1.0", 877 | "System.Collections": "4.3.0", 878 | "System.Diagnostics.Debug": "4.3.0", 879 | "System.Diagnostics.DiagnosticSource": "4.3.0", 880 | "System.Diagnostics.Tracing": "4.3.0", 881 | "System.Globalization": "4.3.0", 882 | "System.Globalization.Extensions": "4.3.0", 883 | "System.IO": "4.3.0", 884 | "System.IO.FileSystem": "4.3.0", 885 | "System.Net.Primitives": "4.3.0", 886 | "System.Resources.ResourceManager": "4.3.0", 887 | "System.Runtime": "4.3.0", 888 | "System.Runtime.Extensions": "4.3.0", 889 | "System.Runtime.Handles": "4.3.0", 890 | "System.Runtime.InteropServices": "4.3.0", 891 | "System.Security.Cryptography.Algorithms": "4.3.0", 892 | "System.Security.Cryptography.Encoding": "4.3.0", 893 | "System.Security.Cryptography.OpenSsl": "4.3.0", 894 | "System.Security.Cryptography.Primitives": "4.3.0", 895 | "System.Security.Cryptography.X509Certificates": "4.3.0", 896 | "System.Text.Encoding": "4.3.0", 897 | "System.Threading": "4.3.0", 898 | "System.Threading.Tasks": "4.3.0", 899 | "runtime.native.System": "4.3.0", 900 | "runtime.native.System.Net.Http": "4.3.0", 901 | "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" 902 | } 903 | }, 904 | "System.Net.Primitives": { 905 | "type": "Transitive", 906 | "resolved": "4.3.0", 907 | "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", 908 | "dependencies": { 909 | "Microsoft.NETCore.Platforms": "1.1.0", 910 | "Microsoft.NETCore.Targets": "1.1.0", 911 | "System.Runtime": "4.3.0", 912 | "System.Runtime.Handles": "4.3.0" 913 | } 914 | }, 915 | "System.Net.Sockets": { 916 | "type": "Transitive", 917 | "resolved": "4.3.0", 918 | "contentHash": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", 919 | "dependencies": { 920 | "Microsoft.NETCore.Platforms": "1.1.0", 921 | "Microsoft.NETCore.Targets": "1.1.0", 922 | "System.IO": "4.3.0", 923 | "System.Net.Primitives": "4.3.0", 924 | "System.Runtime": "4.3.0", 925 | "System.Threading.Tasks": "4.3.0" 926 | } 927 | }, 928 | "System.ObjectModel": { 929 | "type": "Transitive", 930 | "resolved": "4.3.0", 931 | "contentHash": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", 932 | "dependencies": { 933 | "System.Collections": "4.3.0", 934 | "System.Diagnostics.Debug": "4.3.0", 935 | "System.Resources.ResourceManager": "4.3.0", 936 | "System.Runtime": "4.3.0", 937 | "System.Threading": "4.3.0" 938 | } 939 | }, 940 | "System.Reflection": { 941 | "type": "Transitive", 942 | "resolved": "4.3.0", 943 | "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", 944 | "dependencies": { 945 | "Microsoft.NETCore.Platforms": "1.1.0", 946 | "Microsoft.NETCore.Targets": "1.1.0", 947 | "System.IO": "4.3.0", 948 | "System.Reflection.Primitives": "4.3.0", 949 | "System.Runtime": "4.3.0" 950 | } 951 | }, 952 | "System.Reflection.Emit": { 953 | "type": "Transitive", 954 | "resolved": "4.3.0", 955 | "contentHash": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", 956 | "dependencies": { 957 | "System.IO": "4.3.0", 958 | "System.Reflection": "4.3.0", 959 | "System.Reflection.Emit.ILGeneration": "4.3.0", 960 | "System.Reflection.Primitives": "4.3.0", 961 | "System.Runtime": "4.3.0" 962 | } 963 | }, 964 | "System.Reflection.Emit.ILGeneration": { 965 | "type": "Transitive", 966 | "resolved": "4.3.0", 967 | "contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", 968 | "dependencies": { 969 | "System.Reflection": "4.3.0", 970 | "System.Reflection.Primitives": "4.3.0", 971 | "System.Runtime": "4.3.0" 972 | } 973 | }, 974 | "System.Reflection.Emit.Lightweight": { 975 | "type": "Transitive", 976 | "resolved": "4.3.0", 977 | "contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", 978 | "dependencies": { 979 | "System.Reflection": "4.3.0", 980 | "System.Reflection.Emit.ILGeneration": "4.3.0", 981 | "System.Reflection.Primitives": "4.3.0", 982 | "System.Runtime": "4.3.0" 983 | } 984 | }, 985 | "System.Reflection.Extensions": { 986 | "type": "Transitive", 987 | "resolved": "4.3.0", 988 | "contentHash": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", 989 | "dependencies": { 990 | "Microsoft.NETCore.Platforms": "1.1.0", 991 | "Microsoft.NETCore.Targets": "1.1.0", 992 | "System.Reflection": "4.3.0", 993 | "System.Runtime": "4.3.0" 994 | } 995 | }, 996 | "System.Reflection.Metadata": { 997 | "type": "Transitive", 998 | "resolved": "1.6.0", 999 | "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" 1000 | }, 1001 | "System.Reflection.Primitives": { 1002 | "type": "Transitive", 1003 | "resolved": "4.3.0", 1004 | "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", 1005 | "dependencies": { 1006 | "Microsoft.NETCore.Platforms": "1.1.0", 1007 | "Microsoft.NETCore.Targets": "1.1.0", 1008 | "System.Runtime": "4.3.0" 1009 | } 1010 | }, 1011 | "System.Reflection.TypeExtensions": { 1012 | "type": "Transitive", 1013 | "resolved": "4.3.0", 1014 | "contentHash": "7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", 1015 | "dependencies": { 1016 | "System.Reflection": "4.3.0", 1017 | "System.Runtime": "4.3.0" 1018 | } 1019 | }, 1020 | "System.Resources.ResourceManager": { 1021 | "type": "Transitive", 1022 | "resolved": "4.3.0", 1023 | "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", 1024 | "dependencies": { 1025 | "Microsoft.NETCore.Platforms": "1.1.0", 1026 | "Microsoft.NETCore.Targets": "1.1.0", 1027 | "System.Globalization": "4.3.0", 1028 | "System.Reflection": "4.3.0", 1029 | "System.Runtime": "4.3.0" 1030 | } 1031 | }, 1032 | "System.Runtime": { 1033 | "type": "Transitive", 1034 | "resolved": "4.3.0", 1035 | "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", 1036 | "dependencies": { 1037 | "Microsoft.NETCore.Platforms": "1.1.0", 1038 | "Microsoft.NETCore.Targets": "1.1.0" 1039 | } 1040 | }, 1041 | "System.Runtime.Extensions": { 1042 | "type": "Transitive", 1043 | "resolved": "4.3.0", 1044 | "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", 1045 | "dependencies": { 1046 | "Microsoft.NETCore.Platforms": "1.1.0", 1047 | "Microsoft.NETCore.Targets": "1.1.0", 1048 | "System.Runtime": "4.3.0" 1049 | } 1050 | }, 1051 | "System.Runtime.Handles": { 1052 | "type": "Transitive", 1053 | "resolved": "4.3.0", 1054 | "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", 1055 | "dependencies": { 1056 | "Microsoft.NETCore.Platforms": "1.1.0", 1057 | "Microsoft.NETCore.Targets": "1.1.0", 1058 | "System.Runtime": "4.3.0" 1059 | } 1060 | }, 1061 | "System.Runtime.InteropServices": { 1062 | "type": "Transitive", 1063 | "resolved": "4.3.0", 1064 | "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", 1065 | "dependencies": { 1066 | "Microsoft.NETCore.Platforms": "1.1.0", 1067 | "Microsoft.NETCore.Targets": "1.1.0", 1068 | "System.Reflection": "4.3.0", 1069 | "System.Reflection.Primitives": "4.3.0", 1070 | "System.Runtime": "4.3.0", 1071 | "System.Runtime.Handles": "4.3.0" 1072 | } 1073 | }, 1074 | "System.Runtime.InteropServices.RuntimeInformation": { 1075 | "type": "Transitive", 1076 | "resolved": "4.3.0", 1077 | "contentHash": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", 1078 | "dependencies": { 1079 | "System.Reflection": "4.3.0", 1080 | "System.Reflection.Extensions": "4.3.0", 1081 | "System.Resources.ResourceManager": "4.3.0", 1082 | "System.Runtime": "4.3.0", 1083 | "System.Runtime.InteropServices": "4.3.0", 1084 | "System.Threading": "4.3.0", 1085 | "runtime.native.System": "4.3.0" 1086 | } 1087 | }, 1088 | "System.Runtime.Numerics": { 1089 | "type": "Transitive", 1090 | "resolved": "4.3.0", 1091 | "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", 1092 | "dependencies": { 1093 | "System.Globalization": "4.3.0", 1094 | "System.Resources.ResourceManager": "4.3.0", 1095 | "System.Runtime": "4.3.0", 1096 | "System.Runtime.Extensions": "4.3.0" 1097 | } 1098 | }, 1099 | "System.Security.Cryptography.Algorithms": { 1100 | "type": "Transitive", 1101 | "resolved": "4.3.0", 1102 | "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", 1103 | "dependencies": { 1104 | "Microsoft.NETCore.Platforms": "1.1.0", 1105 | "System.Collections": "4.3.0", 1106 | "System.IO": "4.3.0", 1107 | "System.Resources.ResourceManager": "4.3.0", 1108 | "System.Runtime": "4.3.0", 1109 | "System.Runtime.Extensions": "4.3.0", 1110 | "System.Runtime.Handles": "4.3.0", 1111 | "System.Runtime.InteropServices": "4.3.0", 1112 | "System.Runtime.Numerics": "4.3.0", 1113 | "System.Security.Cryptography.Encoding": "4.3.0", 1114 | "System.Security.Cryptography.Primitives": "4.3.0", 1115 | "System.Text.Encoding": "4.3.0", 1116 | "runtime.native.System.Security.Cryptography.Apple": "4.3.0", 1117 | "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" 1118 | } 1119 | }, 1120 | "System.Security.Cryptography.Cng": { 1121 | "type": "Transitive", 1122 | "resolved": "4.3.0", 1123 | "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", 1124 | "dependencies": { 1125 | "Microsoft.NETCore.Platforms": "1.1.0", 1126 | "System.IO": "4.3.0", 1127 | "System.Resources.ResourceManager": "4.3.0", 1128 | "System.Runtime": "4.3.0", 1129 | "System.Runtime.Extensions": "4.3.0", 1130 | "System.Runtime.Handles": "4.3.0", 1131 | "System.Runtime.InteropServices": "4.3.0", 1132 | "System.Security.Cryptography.Algorithms": "4.3.0", 1133 | "System.Security.Cryptography.Encoding": "4.3.0", 1134 | "System.Security.Cryptography.Primitives": "4.3.0", 1135 | "System.Text.Encoding": "4.3.0" 1136 | } 1137 | }, 1138 | "System.Security.Cryptography.Csp": { 1139 | "type": "Transitive", 1140 | "resolved": "4.3.0", 1141 | "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", 1142 | "dependencies": { 1143 | "Microsoft.NETCore.Platforms": "1.1.0", 1144 | "System.IO": "4.3.0", 1145 | "System.Reflection": "4.3.0", 1146 | "System.Resources.ResourceManager": "4.3.0", 1147 | "System.Runtime": "4.3.0", 1148 | "System.Runtime.Extensions": "4.3.0", 1149 | "System.Runtime.Handles": "4.3.0", 1150 | "System.Runtime.InteropServices": "4.3.0", 1151 | "System.Security.Cryptography.Algorithms": "4.3.0", 1152 | "System.Security.Cryptography.Encoding": "4.3.0", 1153 | "System.Security.Cryptography.Primitives": "4.3.0", 1154 | "System.Text.Encoding": "4.3.0", 1155 | "System.Threading": "4.3.0" 1156 | } 1157 | }, 1158 | "System.Security.Cryptography.Encoding": { 1159 | "type": "Transitive", 1160 | "resolved": "4.3.0", 1161 | "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", 1162 | "dependencies": { 1163 | "Microsoft.NETCore.Platforms": "1.1.0", 1164 | "System.Collections": "4.3.0", 1165 | "System.Collections.Concurrent": "4.3.0", 1166 | "System.Linq": "4.3.0", 1167 | "System.Resources.ResourceManager": "4.3.0", 1168 | "System.Runtime": "4.3.0", 1169 | "System.Runtime.Extensions": "4.3.0", 1170 | "System.Runtime.Handles": "4.3.0", 1171 | "System.Runtime.InteropServices": "4.3.0", 1172 | "System.Security.Cryptography.Primitives": "4.3.0", 1173 | "System.Text.Encoding": "4.3.0", 1174 | "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" 1175 | } 1176 | }, 1177 | "System.Security.Cryptography.OpenSsl": { 1178 | "type": "Transitive", 1179 | "resolved": "4.3.0", 1180 | "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", 1181 | "dependencies": { 1182 | "System.Collections": "4.3.0", 1183 | "System.IO": "4.3.0", 1184 | "System.Resources.ResourceManager": "4.3.0", 1185 | "System.Runtime": "4.3.0", 1186 | "System.Runtime.Extensions": "4.3.0", 1187 | "System.Runtime.Handles": "4.3.0", 1188 | "System.Runtime.InteropServices": "4.3.0", 1189 | "System.Runtime.Numerics": "4.3.0", 1190 | "System.Security.Cryptography.Algorithms": "4.3.0", 1191 | "System.Security.Cryptography.Encoding": "4.3.0", 1192 | "System.Security.Cryptography.Primitives": "4.3.0", 1193 | "System.Text.Encoding": "4.3.0", 1194 | "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" 1195 | } 1196 | }, 1197 | "System.Security.Cryptography.Primitives": { 1198 | "type": "Transitive", 1199 | "resolved": "4.3.0", 1200 | "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", 1201 | "dependencies": { 1202 | "System.Diagnostics.Debug": "4.3.0", 1203 | "System.Globalization": "4.3.0", 1204 | "System.IO": "4.3.0", 1205 | "System.Resources.ResourceManager": "4.3.0", 1206 | "System.Runtime": "4.3.0", 1207 | "System.Threading": "4.3.0", 1208 | "System.Threading.Tasks": "4.3.0" 1209 | } 1210 | }, 1211 | "System.Security.Cryptography.X509Certificates": { 1212 | "type": "Transitive", 1213 | "resolved": "4.3.0", 1214 | "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", 1215 | "dependencies": { 1216 | "Microsoft.NETCore.Platforms": "1.1.0", 1217 | "System.Collections": "4.3.0", 1218 | "System.Diagnostics.Debug": "4.3.0", 1219 | "System.Globalization": "4.3.0", 1220 | "System.Globalization.Calendars": "4.3.0", 1221 | "System.IO": "4.3.0", 1222 | "System.IO.FileSystem": "4.3.0", 1223 | "System.IO.FileSystem.Primitives": "4.3.0", 1224 | "System.Resources.ResourceManager": "4.3.0", 1225 | "System.Runtime": "4.3.0", 1226 | "System.Runtime.Extensions": "4.3.0", 1227 | "System.Runtime.Handles": "4.3.0", 1228 | "System.Runtime.InteropServices": "4.3.0", 1229 | "System.Runtime.Numerics": "4.3.0", 1230 | "System.Security.Cryptography.Algorithms": "4.3.0", 1231 | "System.Security.Cryptography.Cng": "4.3.0", 1232 | "System.Security.Cryptography.Csp": "4.3.0", 1233 | "System.Security.Cryptography.Encoding": "4.3.0", 1234 | "System.Security.Cryptography.OpenSsl": "4.3.0", 1235 | "System.Security.Cryptography.Primitives": "4.3.0", 1236 | "System.Text.Encoding": "4.3.0", 1237 | "System.Threading": "4.3.0", 1238 | "runtime.native.System": "4.3.0", 1239 | "runtime.native.System.Net.Http": "4.3.0", 1240 | "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" 1241 | } 1242 | }, 1243 | "System.Text.Encoding": { 1244 | "type": "Transitive", 1245 | "resolved": "4.3.0", 1246 | "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", 1247 | "dependencies": { 1248 | "Microsoft.NETCore.Platforms": "1.1.0", 1249 | "Microsoft.NETCore.Targets": "1.1.0", 1250 | "System.Runtime": "4.3.0" 1251 | } 1252 | }, 1253 | "System.Text.Encoding.Extensions": { 1254 | "type": "Transitive", 1255 | "resolved": "4.3.0", 1256 | "contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", 1257 | "dependencies": { 1258 | "Microsoft.NETCore.Platforms": "1.1.0", 1259 | "Microsoft.NETCore.Targets": "1.1.0", 1260 | "System.Runtime": "4.3.0", 1261 | "System.Text.Encoding": "4.3.0" 1262 | } 1263 | }, 1264 | "System.Text.RegularExpressions": { 1265 | "type": "Transitive", 1266 | "resolved": "4.3.0", 1267 | "contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", 1268 | "dependencies": { 1269 | "System.Runtime": "4.3.0" 1270 | } 1271 | }, 1272 | "System.Threading": { 1273 | "type": "Transitive", 1274 | "resolved": "4.3.0", 1275 | "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", 1276 | "dependencies": { 1277 | "System.Runtime": "4.3.0", 1278 | "System.Threading.Tasks": "4.3.0" 1279 | } 1280 | }, 1281 | "System.Threading.Tasks": { 1282 | "type": "Transitive", 1283 | "resolved": "4.3.0", 1284 | "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", 1285 | "dependencies": { 1286 | "Microsoft.NETCore.Platforms": "1.1.0", 1287 | "Microsoft.NETCore.Targets": "1.1.0", 1288 | "System.Runtime": "4.3.0" 1289 | } 1290 | }, 1291 | "System.Threading.Tasks.Extensions": { 1292 | "type": "Transitive", 1293 | "resolved": "4.3.0", 1294 | "contentHash": "npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", 1295 | "dependencies": { 1296 | "System.Collections": "4.3.0", 1297 | "System.Runtime": "4.3.0", 1298 | "System.Threading.Tasks": "4.3.0" 1299 | } 1300 | }, 1301 | "System.Threading.Thread": { 1302 | "type": "Transitive", 1303 | "resolved": "4.0.0", 1304 | "contentHash": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", 1305 | "dependencies": { 1306 | "System.Runtime": "4.1.0" 1307 | } 1308 | }, 1309 | "System.Threading.Timer": { 1310 | "type": "Transitive", 1311 | "resolved": "4.3.0", 1312 | "contentHash": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", 1313 | "dependencies": { 1314 | "Microsoft.NETCore.Platforms": "1.1.0", 1315 | "Microsoft.NETCore.Targets": "1.1.0", 1316 | "System.Runtime": "4.3.0" 1317 | } 1318 | }, 1319 | "System.ValueTuple": { 1320 | "type": "Transitive", 1321 | "resolved": "4.4.0", 1322 | "contentHash": "BahUww/+mdP4ARCAh2RQhQTg13wYLVrBb9SYVgW8ZlrwjraGCXHGjo0oIiUfZ34LUZkMMR+RAzR7dEY4S1HeQQ==" 1323 | }, 1324 | "System.Xml.ReaderWriter": { 1325 | "type": "Transitive", 1326 | "resolved": "4.3.0", 1327 | "contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", 1328 | "dependencies": { 1329 | "System.Collections": "4.3.0", 1330 | "System.Diagnostics.Debug": "4.3.0", 1331 | "System.Globalization": "4.3.0", 1332 | "System.IO": "4.3.0", 1333 | "System.IO.FileSystem": "4.3.0", 1334 | "System.IO.FileSystem.Primitives": "4.3.0", 1335 | "System.Resources.ResourceManager": "4.3.0", 1336 | "System.Runtime": "4.3.0", 1337 | "System.Runtime.Extensions": "4.3.0", 1338 | "System.Runtime.InteropServices": "4.3.0", 1339 | "System.Text.Encoding": "4.3.0", 1340 | "System.Text.Encoding.Extensions": "4.3.0", 1341 | "System.Text.RegularExpressions": "4.3.0", 1342 | "System.Threading.Tasks": "4.3.0", 1343 | "System.Threading.Tasks.Extensions": "4.3.0" 1344 | } 1345 | }, 1346 | "System.Xml.XDocument": { 1347 | "type": "Transitive", 1348 | "resolved": "4.3.0", 1349 | "contentHash": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", 1350 | "dependencies": { 1351 | "System.Collections": "4.3.0", 1352 | "System.Diagnostics.Debug": "4.3.0", 1353 | "System.Diagnostics.Tools": "4.3.0", 1354 | "System.Globalization": "4.3.0", 1355 | "System.IO": "4.3.0", 1356 | "System.Reflection": "4.3.0", 1357 | "System.Resources.ResourceManager": "4.3.0", 1358 | "System.Runtime": "4.3.0", 1359 | "System.Runtime.Extensions": "4.3.0", 1360 | "System.Text.Encoding": "4.3.0", 1361 | "System.Threading": "4.3.0", 1362 | "System.Xml.ReaderWriter": "4.3.0" 1363 | } 1364 | }, 1365 | "System.Xml.XmlDocument": { 1366 | "type": "Transitive", 1367 | "resolved": "4.3.0", 1368 | "contentHash": "lJ8AxvkX7GQxpC6GFCeBj8ThYVyQczx2+f/cWHJU8tjS7YfI6Cv6bon70jVEgs2CiFbmmM8b9j1oZVx0dSI2Ww==", 1369 | "dependencies": { 1370 | "System.Collections": "4.3.0", 1371 | "System.Diagnostics.Debug": "4.3.0", 1372 | "System.Globalization": "4.3.0", 1373 | "System.IO": "4.3.0", 1374 | "System.Resources.ResourceManager": "4.3.0", 1375 | "System.Runtime": "4.3.0", 1376 | "System.Runtime.Extensions": "4.3.0", 1377 | "System.Text.Encoding": "4.3.0", 1378 | "System.Threading": "4.3.0", 1379 | "System.Xml.ReaderWriter": "4.3.0" 1380 | } 1381 | }, 1382 | "xunit.abstractions": { 1383 | "type": "Transitive", 1384 | "resolved": "2.0.2", 1385 | "contentHash": "vItLB0WkaKg0426RgWq+ZdXH6D+YV/uH28C0weWMOBnVx7I+luHuEYss9hoOngpkiN5kUpLvh9VZRx1H2sk59A==" 1386 | }, 1387 | "xunit.analyzers": { 1388 | "type": "Transitive", 1389 | "resolved": "0.10.0", 1390 | "contentHash": "4/IDFCJfIeg6bix9apmUtIMwvOsiwqdEexeO/R2D4GReIGPLIRODTpId/l4LRSrAJk9lEO3Zx1H0Zx6uohJDNg==" 1391 | }, 1392 | "xunit.assert": { 1393 | "type": "Transitive", 1394 | "resolved": "2.4.0", 1395 | "contentHash": "Swvkm6iTjZr8TiUj5vMnmfG+2dD4s/BIBgsVOzTxxmoq2ndGsmM2WIL4wuqJ8RhxydWIDOPpIaaytjT2pMTEdg==" 1396 | }, 1397 | "xunit.core": { 1398 | "type": "Transitive", 1399 | "resolved": "2.4.0", 1400 | "contentHash": "BJ/O/tPEcHUCwQYuwqXoYccTMyw6B5dA6yh7WxWWBhKbjqTsG9RWL0nCQXM5yQYJwUuFzBkiXDPN1BO6UdBB4Q==", 1401 | "dependencies": { 1402 | "xunit.extensibility.core": "[2.4.0]", 1403 | "xunit.extensibility.execution": "[2.4.0]" 1404 | } 1405 | }, 1406 | "xunit.extensibility.core": { 1407 | "type": "Transitive", 1408 | "resolved": "2.4.0", 1409 | "contentHash": "qr/KrR6uukHXD9e/lLQjyCPfMEDuvvhNFDzsYzCF2kKlYKiqcADfUvA9Q68rBtKFtwHFeghjWEuv15KoGD2SfA==", 1410 | "dependencies": { 1411 | "xunit.abstractions": "2.0.2" 1412 | } 1413 | }, 1414 | "xunit.extensibility.execution": { 1415 | "type": "Transitive", 1416 | "resolved": "2.4.0", 1417 | "contentHash": "252Dzn7i5bMPKtAL15aOP3qJhxKd+57I8ldwIQRJa745JxQuiBu5Da0vtIISVTtc3buRSkBwVnD9iUzsEmCzZA==", 1418 | "dependencies": { 1419 | "xunit.extensibility.core": "[2.4.0]" 1420 | } 1421 | }, 1422 | "hangfire.autofac": { 1423 | "type": "Project", 1424 | "dependencies": { 1425 | "Autofac": "[5.0.0, )", 1426 | "Hangfire.Core": "[1.6.0, )", 1427 | "Microsoft.CodeAnalysis.NetAnalyzers": "[9.0.0, )", 1428 | "Microsoft.SourceLink.GitHub": "[8.0.0, )" 1429 | } 1430 | } 1431 | } 1432 | } 1433 | } --------------------------------------------------------------------------------