Reorganize source code in preparation to move into aspnet/AspNetCore
Prior to reorganization, this source code was found in 241d2c13df
This commit is contained in:
commit
b6de45ee72
|
|
@ -1,17 +0,0 @@
|
||||||
init:
|
|
||||||
- git config --global core.autocrlf true
|
|
||||||
branches:
|
|
||||||
only:
|
|
||||||
- master
|
|
||||||
- /^release\/.*$/
|
|
||||||
- /^(.*\/)?ci-.*$/
|
|
||||||
build_script:
|
|
||||||
- ps: .\run.ps1 default-build
|
|
||||||
clone_depth: 1
|
|
||||||
environment:
|
|
||||||
global:
|
|
||||||
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
|
|
||||||
DOTNET_CLI_TELEMETRY_OPTOUT: 1
|
|
||||||
test: 'off'
|
|
||||||
deploy: 'off'
|
|
||||||
os: Visual Studio 2017
|
|
||||||
|
|
@ -1,51 +0,0 @@
|
||||||
*.doc diff=astextplain
|
|
||||||
*.DOC diff=astextplain
|
|
||||||
*.docx diff=astextplain
|
|
||||||
*.DOCX diff=astextplain
|
|
||||||
*.dot diff=astextplain
|
|
||||||
*.DOT diff=astextplain
|
|
||||||
*.pdf diff=astextplain
|
|
||||||
*.PDF diff=astextplain
|
|
||||||
*.rtf diff=astextplain
|
|
||||||
*.RTF diff=astextplain
|
|
||||||
|
|
||||||
*.jpg binary
|
|
||||||
*.png binary
|
|
||||||
*.gif binary
|
|
||||||
|
|
||||||
*.cs text=auto diff=csharp
|
|
||||||
*.vb text=auto
|
|
||||||
*.resx text=auto
|
|
||||||
*.c text=auto
|
|
||||||
*.cpp text=auto
|
|
||||||
*.cxx text=auto
|
|
||||||
*.h text=auto
|
|
||||||
*.hxx text=auto
|
|
||||||
*.py text=auto
|
|
||||||
*.rb text=auto
|
|
||||||
*.java text=auto
|
|
||||||
*.html text=auto
|
|
||||||
*.htm text=auto
|
|
||||||
*.css text=auto
|
|
||||||
*.scss text=auto
|
|
||||||
*.sass text=auto
|
|
||||||
*.less text=auto
|
|
||||||
*.js text=auto
|
|
||||||
*.lisp text=auto
|
|
||||||
*.clj text=auto
|
|
||||||
*.sql text=auto
|
|
||||||
*.php text=auto
|
|
||||||
*.lua text=auto
|
|
||||||
*.m text=auto
|
|
||||||
*.asm text=auto
|
|
||||||
*.erl text=auto
|
|
||||||
*.fs text=auto
|
|
||||||
*.fsx text=auto
|
|
||||||
*.hs text=auto
|
|
||||||
|
|
||||||
*.csproj text=auto
|
|
||||||
*.vbproj text=auto
|
|
||||||
*.fsproj text=auto
|
|
||||||
*.dbproj text=auto
|
|
||||||
*.sln text=auto eol=crlf
|
|
||||||
*.sh eol=lf
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
||||||
[Oo]bj/
|
|
||||||
[Bb]in/
|
|
||||||
TestResults/
|
|
||||||
.nuget/
|
|
||||||
_ReSharper.*/
|
|
||||||
packages/
|
|
||||||
artifacts/
|
|
||||||
PublishProfiles/
|
|
||||||
*.user
|
|
||||||
*.suo
|
|
||||||
*.cache
|
|
||||||
*.docstates
|
|
||||||
_ReSharper.*
|
|
||||||
nuget.exe
|
|
||||||
*net45.csproj
|
|
||||||
*net451.csproj
|
|
||||||
*k10.csproj
|
|
||||||
*.psess
|
|
||||||
*.vsp
|
|
||||||
*.pidb
|
|
||||||
*.userprefs
|
|
||||||
*DS_Store
|
|
||||||
*.ncrunchsolution
|
|
||||||
*.*sdf
|
|
||||||
*.ipch
|
|
||||||
*.sln.ide
|
|
||||||
project.lock.json
|
|
||||||
/.vs/
|
|
||||||
.vscode/
|
|
||||||
.build/
|
|
||||||
.testPublish/
|
|
||||||
global.json
|
|
||||||
27
.travis.yml
27
.travis.yml
|
|
@ -1,27 +0,0 @@
|
||||||
language: csharp
|
|
||||||
sudo: false
|
|
||||||
dist: trusty
|
|
||||||
env:
|
|
||||||
global:
|
|
||||||
- DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
|
|
||||||
- DOTNET_CLI_TELEMETRY_OPTOUT: 1
|
|
||||||
mono: none
|
|
||||||
os:
|
|
||||||
- linux
|
|
||||||
- osx
|
|
||||||
osx_image: xcode8.2
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
packages:
|
|
||||||
- libunwind8
|
|
||||||
branches:
|
|
||||||
only:
|
|
||||||
- master
|
|
||||||
- /^release\/.*$/
|
|
||||||
- /^(.*\/)?ci-.*$/
|
|
||||||
before_install:
|
|
||||||
- if test "$TRAVIS_OS_NAME" == "osx"; then brew update; brew install openssl; ln -s
|
|
||||||
/usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/; ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
|
|
||||||
/usr/local/lib/; fi
|
|
||||||
script:
|
|
||||||
- ./build.sh
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
trigger:
|
|
||||||
- master
|
|
||||||
- release/*
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: buildtools
|
|
||||||
type: git
|
|
||||||
name: aspnet-BuildTools
|
|
||||||
ref: refs/heads/master
|
|
||||||
|
|
||||||
phases:
|
|
||||||
- template: .vsts-pipelines/templates/project-ci.yml@buildtools
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
trigger:
|
|
||||||
- master
|
|
||||||
- release/*
|
|
||||||
|
|
||||||
# See https://github.com/aspnet/BuildTools
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: buildtools
|
|
||||||
type: github
|
|
||||||
endpoint: DotNet-Bot GitHub Connection
|
|
||||||
name: aspnet/BuildTools
|
|
||||||
ref: refs/heads/master
|
|
||||||
|
|
||||||
phases:
|
|
||||||
- template: .vsts-pipelines/templates/project-ci.yml@buildtools
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
Contributing
|
|
||||||
======
|
|
||||||
|
|
||||||
Information on contributing to this repo is in the [Contributing Guide](https://github.com/aspnet/Home/blob/master/CONTRIBUTING.md) in the Home repo.
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
<Project>
|
|
||||||
<Import
|
|
||||||
Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), AspNetCoreSettings.props))\AspNetCoreSettings.props"
|
|
||||||
Condition=" '$(CI)' != 'true' AND '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), AspNetCoreSettings.props))' != '' " />
|
|
||||||
|
|
||||||
<Import Project="version.props" />
|
|
||||||
<Import Project="build\dependencies.props" />
|
|
||||||
<Import Project="build\sources.props" />
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<Product>Microsoft ASP.NET Core</Product>
|
|
||||||
<RepositoryUrl>https://github.com/aspnet/Hosting</RepositoryUrl>
|
|
||||||
<RepositoryType>git</RepositoryType>
|
|
||||||
<RepositoryRoot>$(MSBuildThisFileDirectory)</RepositoryRoot>
|
|
||||||
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)build\Key.snk</AssemblyOriginatorKeyFile>
|
|
||||||
<SignAssembly>true</SignAssembly>
|
|
||||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
|
||||||
<!-- https://github.com/aspnet/BuildTools/issues/592 -->
|
|
||||||
<EnableApiCheck>false</EnableApiCheck>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
<Project>
|
|
||||||
<PropertyGroup>
|
|
||||||
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">$(MicrosoftNETCoreApp20PackageVersion)</RuntimeFrameworkVersion>
|
|
||||||
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp2.1' ">$(MicrosoftNETCoreApp21PackageVersion)</RuntimeFrameworkVersion>
|
|
||||||
<RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp2.2' ">$(MicrosoftNETCoreApp22PackageVersion)</RuntimeFrameworkVersion>
|
|
||||||
<NETStandardImplicitPackageVersion Condition=" '$(TargetFramework)' == 'netstandard2.0' ">$(NETStandardLibrary20PackageVersion)</NETStandardImplicitPackageVersion>
|
|
||||||
<!-- aspnet/BuildTools#662 Don't police what version of NetCoreApp we use -->
|
|
||||||
<NETCoreAppMaximumVersion>99.9</NETCoreAppMaximumVersion>
|
|
||||||
</PropertyGroup>
|
|
||||||
</Project>
|
|
||||||
393
Hosting.sln
393
Hosting.sln
|
|
@ -1,393 +0,0 @@
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
|
||||||
# Visual Studio 15
|
|
||||||
VisualStudioVersion = 15.0.27130.2027
|
|
||||||
MinimumVisualStudioVersion = 15.0.26730.03
|
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{E0497F39-AFFB-4819-A116-E39E361915AB}"
|
|
||||||
ProjectSection(SolutionItems) = preProject
|
|
||||||
src\Directory.Build.props = src\Directory.Build.props
|
|
||||||
EndProjectSection
|
|
||||||
EndProject
|
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{FEB39027-9158-4DE2-997F-7ADAEF8188D0}"
|
|
||||||
ProjectSection(SolutionItems) = preProject
|
|
||||||
test\Directory.Build.props = test\Directory.Build.props
|
|
||||||
EndProjectSection
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.TestHost.Tests", "test\Microsoft.AspNetCore.TestHost.Tests\Microsoft.AspNetCore.TestHost.Tests.csproj", "{0ACB2719-9484-49B5-B8E3-117091192511}"
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.TestHost", "src\Microsoft.AspNetCore.TestHost\Microsoft.AspNetCore.TestHost.csproj", "{1A415A3F-1081-45DB-809B-EE19CEA02DC0}"
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Hosting", "src\Microsoft.AspNetCore.Hosting\Microsoft.AspNetCore.Hosting.csproj", "{3944F036-7E75-47E8-AA52-C4B89A64EC3A}"
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Hosting.Tests", "test\Microsoft.AspNetCore.Hosting.Tests\Microsoft.AspNetCore.Hosting.Tests.csproj", "{D4F18D58-52B1-435D-A012-10F2CDF158C4}"
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Hosting.Abstractions", "src\Microsoft.AspNetCore.Hosting.Abstractions\Microsoft.AspNetCore.Hosting.Abstractions.csproj", "{BB780FBB-7842-4759-8DE7-96FA2E5571C1}"
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Hosting.Server.Abstractions", "src\Microsoft.AspNetCore.Hosting.Server.Abstractions\Microsoft.AspNetCore.Hosting.Server.Abstractions.csproj", "{FDBBA081-5248-4FC0-9E08-B46BEF3FA438}"
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.IntegrationTesting", "src\Microsoft.AspNetCore.Server.IntegrationTesting\Microsoft.AspNetCore.Server.IntegrationTesting.csproj", "{3DA89347-6731-4366-80C4-548F24E8607B}"
|
|
||||||
EndProject
|
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{9C7520A0-F2EB-411C-8BB2-80B39C937217}"
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SampleStartups", "samples\SampleStartups\SampleStartups.csproj", "{485B6745-7648-400A-A969-F68FCF194E46}"
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Hosting.FunctionalTests", "test\Microsoft.AspNetCore.Hosting.FunctionalTests\Microsoft.AspNetCore.Hosting.FunctionalTests.csproj", "{FC578F4E-171C-4F82-B301-3ABF6318D082}"
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.Hosting.Abstractions", "src\Microsoft.Extensions.Hosting.Abstractions\Microsoft.Extensions.Hosting.Abstractions.csproj", "{96BC7EEA-64D9-4DA5-8E87-1C18CBFE7D12}"
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Hosting.WindowsServices", "src\Microsoft.AspNetCore.Hosting.WindowsServices\Microsoft.AspNetCore.Hosting.WindowsServices.csproj", "{9C93A93B-270A-4785-8F41-46C38DC33825}"
|
|
||||||
EndProject
|
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestAssets", "TestAssets", "{FA7D2012-C1B4-4AF7-9ADD-381B2004EA16}"
|
|
||||||
ProjectSection(SolutionItems) = preProject
|
|
||||||
test\TestAssets\Directory.Build.props = test\TestAssets\Directory.Build.props
|
|
||||||
EndProjectSection
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Hosting.TestSites", "test\TestAssets\Microsoft.AspNetCore.Hosting.TestSites\Microsoft.AspNetCore.Hosting.TestSites.csproj", "{EDFF02F0-A8A4-4EB1-A179-94D7500FB266}"
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestStartupAssembly1", "test\TestAssets\TestStartupAssembly1\TestStartupAssembly1.csproj", "{58194285-5891-464A-A96B-0FE043029E8A}"
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IStartupInjectionAssemblyName", "test\TestAssets\IStartupInjectionAssemblyName\IStartupInjectionAssemblyName.csproj", "{F894D8C5-B760-4734-AD31-3CA6FC557CCF}"
|
|
||||||
EndProject
|
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{A7270417-6BC6-4E3F-A96A-79193D16BB82}"
|
|
||||||
ProjectSection(SolutionItems) = preProject
|
|
||||||
Directory.Build.props = Directory.Build.props
|
|
||||||
Directory.Build.targets = Directory.Build.targets
|
|
||||||
EndProjectSection
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GenericHostSample", "samples\GenericHostSample\GenericHostSample.csproj", "{8529E5F7-059F-4A06-AD6E-ECDF4F4838FE}"
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.Hosting", "src\Microsoft.Extensions.Hosting\Microsoft.Extensions.Hosting.csproj", "{1DA77D55-5DB9-4426-87DC-758579335944}"
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GenericWebHost", "samples\GenericWebHost\GenericWebHost.csproj", "{FCDD1C82-623C-4779-8A9C-B0D827CEA8BF}"
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.Hosting.Tests", "test\Microsoft.Extensions.Hosting.Tests\Microsoft.Extensions.Hosting.Tests.csproj", "{45E296BB-7628-49AF-B5A5-04CD9A89CAD3}"
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Hosting.WebHostBuilderFactory.Tests", "test\Microsoft.AspNetCore.Hosting.WebHostBuilderFactory.Tests\Microsoft.AspNetCore.Hosting.WebHostBuilderFactory.Tests.csproj", "{3834E274-3AF5-4751-8857-5B67BBE607DD}"
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BuildWebHostPatternTestSite", "test\TestAssets\BuildWebHostPatternTestSite\BuildWebHostPatternTestSite.csproj", "{37C4BD55-CD39-4C4E-BA01-0AEAFCE128F1}"
|
|
||||||
EndProject
|
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{F9074486-EAE4-4171-BC9E-1557C2A56DDE}"
|
|
||||||
ProjectSection(SolutionItems) = preProject
|
|
||||||
build\dependencies.props = build\dependencies.props
|
|
||||||
build\repo.props = build\repo.props
|
|
||||||
build\sources.props = build\sources.props
|
|
||||||
EndProjectSection
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CreateWebHostBuilderInvalidSignature", "test\TestAssets\CreateWebHostBuilderInvalidSignature\CreateWebHostBuilderInvalidSignature.csproj", "{ACB63E80-375C-4A8F-9210-8FD509148F31}"
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BuildWebHostInvalidSignature", "test\TestAssets\BuildWebHostInvalidSignature\BuildWebHostInvalidSignature.csproj", "{79D0E344-71C4-4D63-9632-01CC041C8788}"
|
|
||||||
EndProject
|
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SampleMsmqHost", "samples\SampleMsmqHost\SampleMsmqHost.csproj", "{C082BF14-2F9A-4D48-8539-AEF3A1B2043C}"
|
|
||||||
EndProject
|
|
||||||
Global
|
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
||||||
Debug|Any CPU = Debug|Any CPU
|
|
||||||
Debug|Mixed Platforms = Debug|Mixed Platforms
|
|
||||||
Debug|x86 = Debug|x86
|
|
||||||
Release|Any CPU = Release|Any CPU
|
|
||||||
Release|Mixed Platforms = Release|Mixed Platforms
|
|
||||||
Release|x86 = Release|x86
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
||||||
{0ACB2719-9484-49B5-B8E3-117091192511}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{0ACB2719-9484-49B5-B8E3-117091192511}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{0ACB2719-9484-49B5-B8E3-117091192511}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{0ACB2719-9484-49B5-B8E3-117091192511}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{0ACB2719-9484-49B5-B8E3-117091192511}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{0ACB2719-9484-49B5-B8E3-117091192511}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{0ACB2719-9484-49B5-B8E3-117091192511}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{0ACB2719-9484-49B5-B8E3-117091192511}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{0ACB2719-9484-49B5-B8E3-117091192511}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{0ACB2719-9484-49B5-B8E3-117091192511}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{1A415A3F-1081-45DB-809B-EE19CEA02DC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{1A415A3F-1081-45DB-809B-EE19CEA02DC0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{1A415A3F-1081-45DB-809B-EE19CEA02DC0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{1A415A3F-1081-45DB-809B-EE19CEA02DC0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{1A415A3F-1081-45DB-809B-EE19CEA02DC0}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{1A415A3F-1081-45DB-809B-EE19CEA02DC0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{1A415A3F-1081-45DB-809B-EE19CEA02DC0}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{1A415A3F-1081-45DB-809B-EE19CEA02DC0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{1A415A3F-1081-45DB-809B-EE19CEA02DC0}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{1A415A3F-1081-45DB-809B-EE19CEA02DC0}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{3944F036-7E75-47E8-AA52-C4B89A64EC3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{3944F036-7E75-47E8-AA52-C4B89A64EC3A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{3944F036-7E75-47E8-AA52-C4B89A64EC3A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{3944F036-7E75-47E8-AA52-C4B89A64EC3A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{3944F036-7E75-47E8-AA52-C4B89A64EC3A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{3944F036-7E75-47E8-AA52-C4B89A64EC3A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{3944F036-7E75-47E8-AA52-C4B89A64EC3A}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{3944F036-7E75-47E8-AA52-C4B89A64EC3A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{3944F036-7E75-47E8-AA52-C4B89A64EC3A}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{3944F036-7E75-47E8-AA52-C4B89A64EC3A}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{D4F18D58-52B1-435D-A012-10F2CDF158C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{D4F18D58-52B1-435D-A012-10F2CDF158C4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{D4F18D58-52B1-435D-A012-10F2CDF158C4}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{D4F18D58-52B1-435D-A012-10F2CDF158C4}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{D4F18D58-52B1-435D-A012-10F2CDF158C4}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{D4F18D58-52B1-435D-A012-10F2CDF158C4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{D4F18D58-52B1-435D-A012-10F2CDF158C4}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{D4F18D58-52B1-435D-A012-10F2CDF158C4}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{D4F18D58-52B1-435D-A012-10F2CDF158C4}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{D4F18D58-52B1-435D-A012-10F2CDF158C4}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{BB780FBB-7842-4759-8DE7-96FA2E5571C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{BB780FBB-7842-4759-8DE7-96FA2E5571C1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{BB780FBB-7842-4759-8DE7-96FA2E5571C1}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{BB780FBB-7842-4759-8DE7-96FA2E5571C1}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{BB780FBB-7842-4759-8DE7-96FA2E5571C1}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{BB780FBB-7842-4759-8DE7-96FA2E5571C1}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{BB780FBB-7842-4759-8DE7-96FA2E5571C1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{BB780FBB-7842-4759-8DE7-96FA2E5571C1}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{BB780FBB-7842-4759-8DE7-96FA2E5571C1}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{BB780FBB-7842-4759-8DE7-96FA2E5571C1}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{BB780FBB-7842-4759-8DE7-96FA2E5571C1}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{BB780FBB-7842-4759-8DE7-96FA2E5571C1}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{FDBBA081-5248-4FC0-9E08-B46BEF3FA438}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{FDBBA081-5248-4FC0-9E08-B46BEF3FA438}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{FDBBA081-5248-4FC0-9E08-B46BEF3FA438}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{FDBBA081-5248-4FC0-9E08-B46BEF3FA438}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{FDBBA081-5248-4FC0-9E08-B46BEF3FA438}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{FDBBA081-5248-4FC0-9E08-B46BEF3FA438}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{FDBBA081-5248-4FC0-9E08-B46BEF3FA438}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{FDBBA081-5248-4FC0-9E08-B46BEF3FA438}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{FDBBA081-5248-4FC0-9E08-B46BEF3FA438}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{FDBBA081-5248-4FC0-9E08-B46BEF3FA438}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{FDBBA081-5248-4FC0-9E08-B46BEF3FA438}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{FDBBA081-5248-4FC0-9E08-B46BEF3FA438}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{3DA89347-6731-4366-80C4-548F24E8607B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{3DA89347-6731-4366-80C4-548F24E8607B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{3DA89347-6731-4366-80C4-548F24E8607B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{3DA89347-6731-4366-80C4-548F24E8607B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{3DA89347-6731-4366-80C4-548F24E8607B}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{3DA89347-6731-4366-80C4-548F24E8607B}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{3DA89347-6731-4366-80C4-548F24E8607B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{3DA89347-6731-4366-80C4-548F24E8607B}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{3DA89347-6731-4366-80C4-548F24E8607B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{3DA89347-6731-4366-80C4-548F24E8607B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{3DA89347-6731-4366-80C4-548F24E8607B}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{3DA89347-6731-4366-80C4-548F24E8607B}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{485B6745-7648-400A-A969-F68FCF194E46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{485B6745-7648-400A-A969-F68FCF194E46}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{485B6745-7648-400A-A969-F68FCF194E46}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{485B6745-7648-400A-A969-F68FCF194E46}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{485B6745-7648-400A-A969-F68FCF194E46}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{485B6745-7648-400A-A969-F68FCF194E46}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{485B6745-7648-400A-A969-F68FCF194E46}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{485B6745-7648-400A-A969-F68FCF194E46}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{485B6745-7648-400A-A969-F68FCF194E46}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{485B6745-7648-400A-A969-F68FCF194E46}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{485B6745-7648-400A-A969-F68FCF194E46}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{485B6745-7648-400A-A969-F68FCF194E46}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{FC578F4E-171C-4F82-B301-3ABF6318D082}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{FC578F4E-171C-4F82-B301-3ABF6318D082}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{FC578F4E-171C-4F82-B301-3ABF6318D082}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{FC578F4E-171C-4F82-B301-3ABF6318D082}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{FC578F4E-171C-4F82-B301-3ABF6318D082}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{FC578F4E-171C-4F82-B301-3ABF6318D082}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{FC578F4E-171C-4F82-B301-3ABF6318D082}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{FC578F4E-171C-4F82-B301-3ABF6318D082}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{FC578F4E-171C-4F82-B301-3ABF6318D082}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{FC578F4E-171C-4F82-B301-3ABF6318D082}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{FC578F4E-171C-4F82-B301-3ABF6318D082}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{FC578F4E-171C-4F82-B301-3ABF6318D082}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{96BC7EEA-64D9-4DA5-8E87-1C18CBFE7D12}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{96BC7EEA-64D9-4DA5-8E87-1C18CBFE7D12}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{96BC7EEA-64D9-4DA5-8E87-1C18CBFE7D12}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{96BC7EEA-64D9-4DA5-8E87-1C18CBFE7D12}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{96BC7EEA-64D9-4DA5-8E87-1C18CBFE7D12}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{96BC7EEA-64D9-4DA5-8E87-1C18CBFE7D12}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{96BC7EEA-64D9-4DA5-8E87-1C18CBFE7D12}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{96BC7EEA-64D9-4DA5-8E87-1C18CBFE7D12}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{96BC7EEA-64D9-4DA5-8E87-1C18CBFE7D12}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{96BC7EEA-64D9-4DA5-8E87-1C18CBFE7D12}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{96BC7EEA-64D9-4DA5-8E87-1C18CBFE7D12}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{96BC7EEA-64D9-4DA5-8E87-1C18CBFE7D12}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{9C93A93B-270A-4785-8F41-46C38DC33825}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{9C93A93B-270A-4785-8F41-46C38DC33825}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{9C93A93B-270A-4785-8F41-46C38DC33825}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{9C93A93B-270A-4785-8F41-46C38DC33825}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{9C93A93B-270A-4785-8F41-46C38DC33825}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{9C93A93B-270A-4785-8F41-46C38DC33825}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{9C93A93B-270A-4785-8F41-46C38DC33825}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{9C93A93B-270A-4785-8F41-46C38DC33825}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{9C93A93B-270A-4785-8F41-46C38DC33825}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{9C93A93B-270A-4785-8F41-46C38DC33825}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{9C93A93B-270A-4785-8F41-46C38DC33825}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{9C93A93B-270A-4785-8F41-46C38DC33825}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{EDFF02F0-A8A4-4EB1-A179-94D7500FB266}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{EDFF02F0-A8A4-4EB1-A179-94D7500FB266}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{EDFF02F0-A8A4-4EB1-A179-94D7500FB266}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{EDFF02F0-A8A4-4EB1-A179-94D7500FB266}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{EDFF02F0-A8A4-4EB1-A179-94D7500FB266}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{EDFF02F0-A8A4-4EB1-A179-94D7500FB266}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{EDFF02F0-A8A4-4EB1-A179-94D7500FB266}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{EDFF02F0-A8A4-4EB1-A179-94D7500FB266}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{EDFF02F0-A8A4-4EB1-A179-94D7500FB266}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{EDFF02F0-A8A4-4EB1-A179-94D7500FB266}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{EDFF02F0-A8A4-4EB1-A179-94D7500FB266}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{EDFF02F0-A8A4-4EB1-A179-94D7500FB266}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{58194285-5891-464A-A96B-0FE043029E8A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{58194285-5891-464A-A96B-0FE043029E8A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{58194285-5891-464A-A96B-0FE043029E8A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{58194285-5891-464A-A96B-0FE043029E8A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{58194285-5891-464A-A96B-0FE043029E8A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{58194285-5891-464A-A96B-0FE043029E8A}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{58194285-5891-464A-A96B-0FE043029E8A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{58194285-5891-464A-A96B-0FE043029E8A}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{58194285-5891-464A-A96B-0FE043029E8A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{58194285-5891-464A-A96B-0FE043029E8A}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{58194285-5891-464A-A96B-0FE043029E8A}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{58194285-5891-464A-A96B-0FE043029E8A}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{F894D8C5-B760-4734-AD31-3CA6FC557CCF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{F894D8C5-B760-4734-AD31-3CA6FC557CCF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{F894D8C5-B760-4734-AD31-3CA6FC557CCF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{F894D8C5-B760-4734-AD31-3CA6FC557CCF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{F894D8C5-B760-4734-AD31-3CA6FC557CCF}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{F894D8C5-B760-4734-AD31-3CA6FC557CCF}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{F894D8C5-B760-4734-AD31-3CA6FC557CCF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{F894D8C5-B760-4734-AD31-3CA6FC557CCF}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{F894D8C5-B760-4734-AD31-3CA6FC557CCF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{F894D8C5-B760-4734-AD31-3CA6FC557CCF}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{F894D8C5-B760-4734-AD31-3CA6FC557CCF}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{F894D8C5-B760-4734-AD31-3CA6FC557CCF}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{8529E5F7-059F-4A06-AD6E-ECDF4F4838FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{8529E5F7-059F-4A06-AD6E-ECDF4F4838FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{8529E5F7-059F-4A06-AD6E-ECDF4F4838FE}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{8529E5F7-059F-4A06-AD6E-ECDF4F4838FE}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{8529E5F7-059F-4A06-AD6E-ECDF4F4838FE}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{8529E5F7-059F-4A06-AD6E-ECDF4F4838FE}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{8529E5F7-059F-4A06-AD6E-ECDF4F4838FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{8529E5F7-059F-4A06-AD6E-ECDF4F4838FE}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{8529E5F7-059F-4A06-AD6E-ECDF4F4838FE}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{8529E5F7-059F-4A06-AD6E-ECDF4F4838FE}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{8529E5F7-059F-4A06-AD6E-ECDF4F4838FE}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{8529E5F7-059F-4A06-AD6E-ECDF4F4838FE}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{1DA77D55-5DB9-4426-87DC-758579335944}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{1DA77D55-5DB9-4426-87DC-758579335944}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{1DA77D55-5DB9-4426-87DC-758579335944}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{1DA77D55-5DB9-4426-87DC-758579335944}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{1DA77D55-5DB9-4426-87DC-758579335944}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{1DA77D55-5DB9-4426-87DC-758579335944}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{1DA77D55-5DB9-4426-87DC-758579335944}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{1DA77D55-5DB9-4426-87DC-758579335944}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{1DA77D55-5DB9-4426-87DC-758579335944}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{1DA77D55-5DB9-4426-87DC-758579335944}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{1DA77D55-5DB9-4426-87DC-758579335944}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{1DA77D55-5DB9-4426-87DC-758579335944}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{FCDD1C82-623C-4779-8A9C-B0D827CEA8BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{FCDD1C82-623C-4779-8A9C-B0D827CEA8BF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{FCDD1C82-623C-4779-8A9C-B0D827CEA8BF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{FCDD1C82-623C-4779-8A9C-B0D827CEA8BF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{FCDD1C82-623C-4779-8A9C-B0D827CEA8BF}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{FCDD1C82-623C-4779-8A9C-B0D827CEA8BF}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{FCDD1C82-623C-4779-8A9C-B0D827CEA8BF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{FCDD1C82-623C-4779-8A9C-B0D827CEA8BF}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{FCDD1C82-623C-4779-8A9C-B0D827CEA8BF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{FCDD1C82-623C-4779-8A9C-B0D827CEA8BF}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{FCDD1C82-623C-4779-8A9C-B0D827CEA8BF}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{FCDD1C82-623C-4779-8A9C-B0D827CEA8BF}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{45E296BB-7628-49AF-B5A5-04CD9A89CAD3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{45E296BB-7628-49AF-B5A5-04CD9A89CAD3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{45E296BB-7628-49AF-B5A5-04CD9A89CAD3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{45E296BB-7628-49AF-B5A5-04CD9A89CAD3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{45E296BB-7628-49AF-B5A5-04CD9A89CAD3}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{45E296BB-7628-49AF-B5A5-04CD9A89CAD3}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{45E296BB-7628-49AF-B5A5-04CD9A89CAD3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{45E296BB-7628-49AF-B5A5-04CD9A89CAD3}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{45E296BB-7628-49AF-B5A5-04CD9A89CAD3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{45E296BB-7628-49AF-B5A5-04CD9A89CAD3}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{45E296BB-7628-49AF-B5A5-04CD9A89CAD3}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{45E296BB-7628-49AF-B5A5-04CD9A89CAD3}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{3834E274-3AF5-4751-8857-5B67BBE607DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{3834E274-3AF5-4751-8857-5B67BBE607DD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{3834E274-3AF5-4751-8857-5B67BBE607DD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{3834E274-3AF5-4751-8857-5B67BBE607DD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{3834E274-3AF5-4751-8857-5B67BBE607DD}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{3834E274-3AF5-4751-8857-5B67BBE607DD}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{3834E274-3AF5-4751-8857-5B67BBE607DD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{3834E274-3AF5-4751-8857-5B67BBE607DD}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{3834E274-3AF5-4751-8857-5B67BBE607DD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{3834E274-3AF5-4751-8857-5B67BBE607DD}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{3834E274-3AF5-4751-8857-5B67BBE607DD}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{3834E274-3AF5-4751-8857-5B67BBE607DD}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{37C4BD55-CD39-4C4E-BA01-0AEAFCE128F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{37C4BD55-CD39-4C4E-BA01-0AEAFCE128F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{37C4BD55-CD39-4C4E-BA01-0AEAFCE128F1}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{37C4BD55-CD39-4C4E-BA01-0AEAFCE128F1}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{37C4BD55-CD39-4C4E-BA01-0AEAFCE128F1}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{37C4BD55-CD39-4C4E-BA01-0AEAFCE128F1}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{37C4BD55-CD39-4C4E-BA01-0AEAFCE128F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{37C4BD55-CD39-4C4E-BA01-0AEAFCE128F1}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{37C4BD55-CD39-4C4E-BA01-0AEAFCE128F1}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{37C4BD55-CD39-4C4E-BA01-0AEAFCE128F1}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{37C4BD55-CD39-4C4E-BA01-0AEAFCE128F1}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{37C4BD55-CD39-4C4E-BA01-0AEAFCE128F1}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{ACB63E80-375C-4A8F-9210-8FD509148F31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{ACB63E80-375C-4A8F-9210-8FD509148F31}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{ACB63E80-375C-4A8F-9210-8FD509148F31}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{ACB63E80-375C-4A8F-9210-8FD509148F31}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{ACB63E80-375C-4A8F-9210-8FD509148F31}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{ACB63E80-375C-4A8F-9210-8FD509148F31}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{ACB63E80-375C-4A8F-9210-8FD509148F31}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{ACB63E80-375C-4A8F-9210-8FD509148F31}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{ACB63E80-375C-4A8F-9210-8FD509148F31}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{ACB63E80-375C-4A8F-9210-8FD509148F31}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{ACB63E80-375C-4A8F-9210-8FD509148F31}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{ACB63E80-375C-4A8F-9210-8FD509148F31}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{79D0E344-71C4-4D63-9632-01CC041C8788}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{79D0E344-71C4-4D63-9632-01CC041C8788}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{79D0E344-71C4-4D63-9632-01CC041C8788}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{79D0E344-71C4-4D63-9632-01CC041C8788}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{79D0E344-71C4-4D63-9632-01CC041C8788}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{79D0E344-71C4-4D63-9632-01CC041C8788}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{79D0E344-71C4-4D63-9632-01CC041C8788}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{79D0E344-71C4-4D63-9632-01CC041C8788}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{79D0E344-71C4-4D63-9632-01CC041C8788}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{79D0E344-71C4-4D63-9632-01CC041C8788}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{79D0E344-71C4-4D63-9632-01CC041C8788}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{79D0E344-71C4-4D63-9632-01CC041C8788}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{C082BF14-2F9A-4D48-8539-AEF3A1B2043C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{C082BF14-2F9A-4D48-8539-AEF3A1B2043C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{C082BF14-2F9A-4D48-8539-AEF3A1B2043C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{C082BF14-2F9A-4D48-8539-AEF3A1B2043C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{C082BF14-2F9A-4D48-8539-AEF3A1B2043C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{C082BF14-2F9A-4D48-8539-AEF3A1B2043C}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{C082BF14-2F9A-4D48-8539-AEF3A1B2043C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{C082BF14-2F9A-4D48-8539-AEF3A1B2043C}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{C082BF14-2F9A-4D48-8539-AEF3A1B2043C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
|
||||||
{C082BF14-2F9A-4D48-8539-AEF3A1B2043C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{C082BF14-2F9A-4D48-8539-AEF3A1B2043C}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{C082BF14-2F9A-4D48-8539-AEF3A1B2043C}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
|
||||||
HideSolutionNode = FALSE
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(NestedProjects) = preSolution
|
|
||||||
{0ACB2719-9484-49B5-B8E3-117091192511} = {FEB39027-9158-4DE2-997F-7ADAEF8188D0}
|
|
||||||
{1A415A3F-1081-45DB-809B-EE19CEA02DC0} = {E0497F39-AFFB-4819-A116-E39E361915AB}
|
|
||||||
{3944F036-7E75-47E8-AA52-C4B89A64EC3A} = {E0497F39-AFFB-4819-A116-E39E361915AB}
|
|
||||||
{D4F18D58-52B1-435D-A012-10F2CDF158C4} = {FEB39027-9158-4DE2-997F-7ADAEF8188D0}
|
|
||||||
{BB780FBB-7842-4759-8DE7-96FA2E5571C1} = {E0497F39-AFFB-4819-A116-E39E361915AB}
|
|
||||||
{FDBBA081-5248-4FC0-9E08-B46BEF3FA438} = {E0497F39-AFFB-4819-A116-E39E361915AB}
|
|
||||||
{3DA89347-6731-4366-80C4-548F24E8607B} = {E0497F39-AFFB-4819-A116-E39E361915AB}
|
|
||||||
{485B6745-7648-400A-A969-F68FCF194E46} = {9C7520A0-F2EB-411C-8BB2-80B39C937217}
|
|
||||||
{FC578F4E-171C-4F82-B301-3ABF6318D082} = {FEB39027-9158-4DE2-997F-7ADAEF8188D0}
|
|
||||||
{96BC7EEA-64D9-4DA5-8E87-1C18CBFE7D12} = {E0497F39-AFFB-4819-A116-E39E361915AB}
|
|
||||||
{9C93A93B-270A-4785-8F41-46C38DC33825} = {E0497F39-AFFB-4819-A116-E39E361915AB}
|
|
||||||
{FA7D2012-C1B4-4AF7-9ADD-381B2004EA16} = {FEB39027-9158-4DE2-997F-7ADAEF8188D0}
|
|
||||||
{EDFF02F0-A8A4-4EB1-A179-94D7500FB266} = {FA7D2012-C1B4-4AF7-9ADD-381B2004EA16}
|
|
||||||
{58194285-5891-464A-A96B-0FE043029E8A} = {FA7D2012-C1B4-4AF7-9ADD-381B2004EA16}
|
|
||||||
{F894D8C5-B760-4734-AD31-3CA6FC557CCF} = {FA7D2012-C1B4-4AF7-9ADD-381B2004EA16}
|
|
||||||
{8529E5F7-059F-4A06-AD6E-ECDF4F4838FE} = {9C7520A0-F2EB-411C-8BB2-80B39C937217}
|
|
||||||
{1DA77D55-5DB9-4426-87DC-758579335944} = {E0497F39-AFFB-4819-A116-E39E361915AB}
|
|
||||||
{FCDD1C82-623C-4779-8A9C-B0D827CEA8BF} = {9C7520A0-F2EB-411C-8BB2-80B39C937217}
|
|
||||||
{45E296BB-7628-49AF-B5A5-04CD9A89CAD3} = {FEB39027-9158-4DE2-997F-7ADAEF8188D0}
|
|
||||||
{3834E274-3AF5-4751-8857-5B67BBE607DD} = {FEB39027-9158-4DE2-997F-7ADAEF8188D0}
|
|
||||||
{37C4BD55-CD39-4C4E-BA01-0AEAFCE128F1} = {FA7D2012-C1B4-4AF7-9ADD-381B2004EA16}
|
|
||||||
{F9074486-EAE4-4171-BC9E-1557C2A56DDE} = {A7270417-6BC6-4E3F-A96A-79193D16BB82}
|
|
||||||
{ACB63E80-375C-4A8F-9210-8FD509148F31} = {FA7D2012-C1B4-4AF7-9ADD-381B2004EA16}
|
|
||||||
{79D0E344-71C4-4D63-9632-01CC041C8788} = {FA7D2012-C1B4-4AF7-9ADD-381B2004EA16}
|
|
||||||
{C082BF14-2F9A-4D48-8539-AEF3A1B2043C} = {9C7520A0-F2EB-411C-8BB2-80B39C937217}
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
|
||||||
SolutionGuid = {AABD536D-E05F-409B-A716-535E0C478076}
|
|
||||||
EndGlobalSection
|
|
||||||
EndGlobal
|
|
||||||
201
LICENSE.txt
201
LICENSE.txt
|
|
@ -1,201 +0,0 @@
|
||||||
Apache License
|
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
|
||||||
the copyright owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
|
||||||
other entities that control, are controlled by, or are under common
|
|
||||||
control with that entity. For the purposes of this definition,
|
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
|
||||||
direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
|
||||||
exercising permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
|
||||||
including but not limited to software source code, documentation
|
|
||||||
source, and configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
|
||||||
transformation or translation of a Source form, including but
|
|
||||||
not limited to compiled object code, generated documentation,
|
|
||||||
and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
|
||||||
Object form, made available under the License, as indicated by a
|
|
||||||
copyright notice that is included in or attached to the work
|
|
||||||
(an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
|
||||||
form, that is based on (or derived from) the Work and for which the
|
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
|
||||||
of this License, Derivative Works shall not include works that remain
|
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
|
||||||
the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
|
||||||
the original version of the Work and any modifications or additions
|
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
|
||||||
means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems,
|
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise
|
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
|
||||||
subsequently incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
|
||||||
Work and such Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
(except as stated in this section) patent license to make, have made,
|
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
||||||
where such license applies only to those patent claims licensable
|
|
||||||
by such Contributor that are necessarily infringed by their
|
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
|
||||||
institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
|
||||||
or contributory patent infringement, then any patent licenses
|
|
||||||
granted to You under this License for that Work shall terminate
|
|
||||||
as of the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
|
||||||
modifications, and in Source or Object form, provided that You
|
|
||||||
meet the following conditions:
|
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
|
||||||
Derivative Works a copy of this License; and
|
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and
|
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
|
||||||
that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work,
|
|
||||||
excluding those notices that do not pertain to any part of
|
|
||||||
the Derivative Works; and
|
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
|
||||||
distribution, then any Derivative Works that You distribute must
|
|
||||||
include a readable copy of the attribution notices contained
|
|
||||||
within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one
|
|
||||||
of the following places: within a NOTICE text file distributed
|
|
||||||
as part of the Derivative Works; within the Source form or
|
|
||||||
documentation, if provided along with the Derivative Works; or,
|
|
||||||
within a display generated by the Derivative Works, if and
|
|
||||||
wherever such third-party notices normally appear. The contents
|
|
||||||
of the NOTICE file are for informational purposes only and
|
|
||||||
do not modify the License. You may add Your own attribution
|
|
||||||
notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
|
||||||
that such additional attribution notices cannot be construed
|
|
||||||
as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
|
||||||
may provide additional or different license terms and conditions
|
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
|
||||||
the conditions stated in this License.
|
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
|
||||||
this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
|
||||||
the terms of any separate license agreement you may have executed
|
|
||||||
with Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
|
||||||
except as required for reasonable and customary use in describing the
|
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
||||||
implied, including, without limitation, any warranties or conditions
|
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any
|
|
||||||
risks associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
|
||||||
unless required by applicable law (such as deliberate and grossly
|
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special,
|
|
||||||
incidental, or consequential damages of any character arising as a
|
|
||||||
result of this License or out of the use or inability to use the
|
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses), even if such Contributor
|
|
||||||
has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
||||||
or other liability obligations and/or rights consistent with this
|
|
||||||
License. However, in accepting such obligations, You may act only
|
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
|
||||||
defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
|
||||||
of your accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
APPENDIX: How to apply the Apache License to your work.
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following
|
|
||||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
||||||
replaced with your own identifying information. (Don't include
|
|
||||||
the brackets!) The text should be enclosed in the appropriate
|
|
||||||
comment syntax for the file format. We also recommend that a
|
|
||||||
file or class name and description of purpose be included on the
|
|
||||||
same "printed page" as the copyright notice for easier
|
|
||||||
identification within third-party archives.
|
|
||||||
|
|
||||||
Copyright (c) .NET Foundation and Contributors
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<configuration>
|
|
||||||
<packageSources>
|
|
||||||
<clear />
|
|
||||||
<!-- Restore sources should be defined in build/sources.props. -->
|
|
||||||
</packageSources>
|
|
||||||
</configuration>
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
{
|
|
||||||
"nonshipping": {
|
|
||||||
"rules": [
|
|
||||||
// Don't run any rules for packages that don't ship.
|
|
||||||
],
|
|
||||||
"packages": {
|
|
||||||
"Internal.WebHostBuilderFactory.Sources": {},
|
|
||||||
"Microsoft.AspNetCore.Server.IntegrationTesting": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Default": {
|
|
||||||
"rules": [
|
|
||||||
"DefaultCompositeRule"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
Hosting
|
|
||||||
=======
|
|
||||||
AppVeyor: [](https://ci.appveyor.com/project/aspnetci/Hosting/branch/dev)
|
|
||||||
|
|
||||||
Travis: [](https://travis-ci.org/aspnet/Hosting)
|
|
||||||
|
|
||||||
The Hosting repo contains code required to host an ASP.NET Core application, it is the entry point used when self-hosting an application.
|
|
||||||
|
|
||||||
This project is part of ASP.NET Core. You can find samples, documentation and getting started instructions for ASP.NET Core at the [Home](https://github.com/aspnet/home) repo.
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
@ECHO OFF
|
|
||||||
PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0run.ps1' default-build %*; exit $LASTEXITCODE"
|
|
||||||
8
build.sh
8
build.sh
|
|
@ -1,8 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
||||||
|
|
||||||
# Call "sync" between "chmod" and execution to prevent "text file busy" error in Docker (aufs)
|
|
||||||
chmod +x "$DIR/run.sh"; sync
|
|
||||||
"$DIR/run.sh" default-build "$@"
|
|
||||||
BIN
build/Key.snk
BIN
build/Key.snk
Binary file not shown.
|
|
@ -1,53 +0,0 @@
|
||||||
<Project>
|
|
||||||
<PropertyGroup>
|
|
||||||
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Label="Package Versions">
|
|
||||||
<InternalAspNetCoreSdkPackageVersion>3.0.0-alpha1-20181004.7</InternalAspNetCoreSdkPackageVersion>
|
|
||||||
<MicrosoftAspNetCoreHttpAbstractionsPackageVersion>3.0.0-alpha1-10584</MicrosoftAspNetCoreHttpAbstractionsPackageVersion>
|
|
||||||
<MicrosoftAspNetCoreHttpExtensionsPackageVersion>3.0.0-alpha1-10584</MicrosoftAspNetCoreHttpExtensionsPackageVersion>
|
|
||||||
<MicrosoftAspNetCoreHttpFeaturesPackageVersion>3.0.0-alpha1-10584</MicrosoftAspNetCoreHttpFeaturesPackageVersion>
|
|
||||||
<MicrosoftAspNetCoreHttpPackageVersion>3.0.0-alpha1-10584</MicrosoftAspNetCoreHttpPackageVersion>
|
|
||||||
<MicrosoftAspNetCoreOwinPackageVersion>3.0.0-alpha1-10584</MicrosoftAspNetCoreOwinPackageVersion>
|
|
||||||
<MicrosoftAspNetCoreTestingPackageVersion>3.0.0-alpha1-10584</MicrosoftAspNetCoreTestingPackageVersion>
|
|
||||||
<MicrosoftExtensionsConfigurationAbstractionsPackageVersion>3.0.0-alpha1-10584</MicrosoftExtensionsConfigurationAbstractionsPackageVersion>
|
|
||||||
<MicrosoftExtensionsConfigurationBinderPackageVersion>3.0.0-alpha1-10584</MicrosoftExtensionsConfigurationBinderPackageVersion>
|
|
||||||
<MicrosoftExtensionsConfigurationCommandLinePackageVersion>3.0.0-alpha1-10584</MicrosoftExtensionsConfigurationCommandLinePackageVersion>
|
|
||||||
<MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>3.0.0-alpha1-10584</MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>
|
|
||||||
<MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>3.0.0-alpha1-10584</MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>
|
|
||||||
<MicrosoftExtensionsConfigurationJsonPackageVersion>3.0.0-alpha1-10584</MicrosoftExtensionsConfigurationJsonPackageVersion>
|
|
||||||
<MicrosoftExtensionsConfigurationPackageVersion>3.0.0-alpha1-10584</MicrosoftExtensionsConfigurationPackageVersion>
|
|
||||||
<MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>3.0.0-alpha1-10584</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>
|
|
||||||
<MicrosoftExtensionsDependencyInjectionPackageVersion>3.0.0-alpha1-10584</MicrosoftExtensionsDependencyInjectionPackageVersion>
|
|
||||||
<MicrosoftExtensionsDiagnosticAdapterPackageVersion>3.0.0-alpha1-10584</MicrosoftExtensionsDiagnosticAdapterPackageVersion>
|
|
||||||
<MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>3.0.0-alpha1-10584</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>
|
|
||||||
<MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>3.0.0-alpha1-10584</MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>
|
|
||||||
<MicrosoftExtensionsFileProvidersPhysicalPackageVersion>3.0.0-alpha1-10584</MicrosoftExtensionsFileProvidersPhysicalPackageVersion>
|
|
||||||
<MicrosoftExtensionsLoggingAbstractionsPackageVersion>3.0.0-alpha1-10584</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
|
|
||||||
<MicrosoftExtensionsLoggingConsolePackageVersion>3.0.0-alpha1-10584</MicrosoftExtensionsLoggingConsolePackageVersion>
|
|
||||||
<MicrosoftExtensionsLoggingPackageVersion>3.0.0-alpha1-10584</MicrosoftExtensionsLoggingPackageVersion>
|
|
||||||
<MicrosoftExtensionsLoggingTestingPackageVersion>3.0.0-alpha1-10584</MicrosoftExtensionsLoggingTestingPackageVersion>
|
|
||||||
<MicrosoftExtensionsOptionsPackageVersion>3.0.0-alpha1-10584</MicrosoftExtensionsOptionsPackageVersion>
|
|
||||||
<MicrosoftExtensionsProcessSourcesPackageVersion>3.0.0-alpha1-10584</MicrosoftExtensionsProcessSourcesPackageVersion>
|
|
||||||
<MicrosoftExtensionsRazorViewsSourcesPackageVersion>3.0.0-alpha1-10584</MicrosoftExtensionsRazorViewsSourcesPackageVersion>
|
|
||||||
<MicrosoftExtensionsStackTraceSourcesPackageVersion>3.0.0-alpha1-10584</MicrosoftExtensionsStackTraceSourcesPackageVersion>
|
|
||||||
<MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>3.0.0-alpha1-10584</MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>
|
|
||||||
<MicrosoftNETCoreApp20PackageVersion>2.0.9</MicrosoftNETCoreApp20PackageVersion>
|
|
||||||
<MicrosoftNETCoreApp21PackageVersion>2.1.3</MicrosoftNETCoreApp21PackageVersion>
|
|
||||||
<MicrosoftNETCoreApp22PackageVersion>2.2.0-preview2-26905-02</MicrosoftNETCoreApp22PackageVersion>
|
|
||||||
<MicrosoftNETCoreWindowsApiSetsPackageVersion>1.0.1</MicrosoftNETCoreWindowsApiSetsPackageVersion>
|
|
||||||
<MicrosoftNETTestSdkPackageVersion>15.6.1</MicrosoftNETTestSdkPackageVersion>
|
|
||||||
<MoqPackageVersion>4.9.0</MoqPackageVersion>
|
|
||||||
<NETStandardLibrary20PackageVersion>2.0.3</NETStandardLibrary20PackageVersion>
|
|
||||||
<SerilogExtensionsLoggingPackageVersion>1.4.0</SerilogExtensionsLoggingPackageVersion>
|
|
||||||
<SerilogSinksFilePackageVersion>4.0.0</SerilogSinksFilePackageVersion>
|
|
||||||
<SystemDiagnosticsDiagnosticSourcePackageVersion>4.6.0-preview1-26907-04</SystemDiagnosticsDiagnosticSourcePackageVersion>
|
|
||||||
<SystemIOPipelinesPackageVersion>4.6.0-preview1-26907-04</SystemIOPipelinesPackageVersion>
|
|
||||||
<SystemReflectionMetadataPackageVersion>1.7.0-preview1-26907-04</SystemReflectionMetadataPackageVersion>
|
|
||||||
<SystemServiceProcessServiceControllerPackageVersion>4.6.0-preview1-26907-04</SystemServiceProcessServiceControllerPackageVersion>
|
|
||||||
<XunitPackageVersion>2.3.1</XunitPackageVersion>
|
|
||||||
<XunitRunnerVisualStudioPackageVersion>2.4.0</XunitRunnerVisualStudioPackageVersion>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Label="Package Versions: Pinned" />
|
|
||||||
<Import Project="$(DotNetPackageVersionPropsPath)" Condition=" '$(DotNetPackageVersionPropsPath)' != '' " />
|
|
||||||
</Project>
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
<Project>
|
|
||||||
<Import Project="dependencies.props" />
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<ExcludeFromTest Include="$(RepositoryRoot)test\Microsoft.AspNetCore.Hosting.TestSites\Microsoft.AspNetCore.Hosting.TestSites.csproj" />
|
|
||||||
<ExcludeFromTest Include="$(RepositoryRoot)test\TestStartupAssembly1\TestStartupAssembly1.csproj" />
|
|
||||||
</ItemGroup>
|
|
||||||
<PropertyGroup>
|
|
||||||
<!-- These properties are use by the automation that updates dependencies.props -->
|
|
||||||
<LineupPackageId>Internal.AspNetCore.Universe.Lineup</LineupPackageId>
|
|
||||||
<LineupPackageRestoreSource>https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json</LineupPackageRestoreSource>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<DotNetCoreRuntime Include="$(MicrosoftNETCoreApp20PackageVersion)" />
|
|
||||||
<DotNetCoreRuntime Include="$(MicrosoftNETCoreApp21PackageVersion)" />
|
|
||||||
<DotNetCoreRuntime Include="$(MicrosoftNETCoreApp22PackageVersion)" />
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
<Project>
|
|
||||||
<Import Project="$(DotNetRestoreSourcePropsPath)" Condition="'$(DotNetRestoreSourcePropsPath)' != ''"/>
|
|
||||||
|
|
||||||
<PropertyGroup Label="RestoreSources">
|
|
||||||
<RestoreSources>$(DotNetRestoreSources)</RestoreSources>
|
|
||||||
<RestoreSources Condition="'$(DotNetBuildOffline)' != 'true' AND '$(AspNetUniverseBuildOffline)' != 'true' ">
|
|
||||||
$(RestoreSources);
|
|
||||||
https://dotnet.myget.org/F/dotnet-core/api/v3/index.json;
|
|
||||||
https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json;
|
|
||||||
https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json;
|
|
||||||
</RestoreSources>
|
|
||||||
<RestoreSources Condition="'$(DotNetBuildOffline)' != 'true'">
|
|
||||||
$(RestoreSources);
|
|
||||||
https://api.nuget.org/v3/index.json;
|
|
||||||
</RestoreSources>
|
|
||||||
</PropertyGroup>
|
|
||||||
</Project>
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
version:3.0.0-alpha1-20181004.7
|
|
||||||
commithash:27fabdaf2b1d4753c3d2749581694ca65d78f7f2
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
"$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/master/tools/korebuild.schema.json",
|
|
||||||
"channel": "master"
|
|
||||||
}
|
|
||||||
2
run.cmd
2
run.cmd
|
|
@ -1,2 +0,0 @@
|
||||||
@ECHO OFF
|
|
||||||
PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0run.ps1' %*; exit $LASTEXITCODE"
|
|
||||||
209
run.ps1
209
run.ps1
|
|
@ -1,209 +0,0 @@
|
||||||
#!/usr/bin/env powershell
|
|
||||||
#requires -version 4
|
|
||||||
|
|
||||||
<#
|
|
||||||
.SYNOPSIS
|
|
||||||
Executes KoreBuild commands.
|
|
||||||
|
|
||||||
.DESCRIPTION
|
|
||||||
Downloads korebuild if required. Then executes the KoreBuild command. To see available commands, execute with `-Command help`.
|
|
||||||
|
|
||||||
.PARAMETER Command
|
|
||||||
The KoreBuild command to run.
|
|
||||||
|
|
||||||
.PARAMETER Path
|
|
||||||
The folder to build. Defaults to the folder containing this script.
|
|
||||||
|
|
||||||
.PARAMETER Channel
|
|
||||||
The channel of KoreBuild to download. Overrides the value from the config file.
|
|
||||||
|
|
||||||
.PARAMETER DotNetHome
|
|
||||||
The directory where .NET Core tools will be stored.
|
|
||||||
|
|
||||||
.PARAMETER ToolsSource
|
|
||||||
The base url where build tools can be downloaded. Overrides the value from the config file.
|
|
||||||
|
|
||||||
.PARAMETER Update
|
|
||||||
Updates KoreBuild to the latest version even if a lock file is present.
|
|
||||||
|
|
||||||
.PARAMETER Reinstall
|
|
||||||
Re-installs KoreBuild
|
|
||||||
|
|
||||||
.PARAMETER ConfigFile
|
|
||||||
The path to the configuration file that stores values. Defaults to korebuild.json.
|
|
||||||
|
|
||||||
.PARAMETER ToolsSourceSuffix
|
|
||||||
The Suffix to append to the end of the ToolsSource. Useful for query strings in blob stores.
|
|
||||||
|
|
||||||
.PARAMETER CI
|
|
||||||
Sets up CI specific settings and variables.
|
|
||||||
|
|
||||||
.PARAMETER Arguments
|
|
||||||
Arguments to be passed to the command
|
|
||||||
|
|
||||||
.NOTES
|
|
||||||
This function will create a file $PSScriptRoot/korebuild-lock.txt. This lock file can be committed to source, but does not have to be.
|
|
||||||
When the lockfile is not present, KoreBuild will create one using latest available version from $Channel.
|
|
||||||
|
|
||||||
The $ConfigFile is expected to be an JSON file. It is optional, and the configuration values in it are optional as well. Any options set
|
|
||||||
in the file are overridden by command line parameters.
|
|
||||||
|
|
||||||
.EXAMPLE
|
|
||||||
Example config file:
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/master/tools/korebuild.schema.json",
|
|
||||||
"channel": "master",
|
|
||||||
"toolsSource": "https://aspnetcore.blob.core.windows.net/buildtools"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
#>
|
|
||||||
[CmdletBinding(PositionalBinding = $false)]
|
|
||||||
param(
|
|
||||||
[Parameter(Mandatory = $true, Position = 0)]
|
|
||||||
[string]$Command,
|
|
||||||
[string]$Path = $PSScriptRoot,
|
|
||||||
[Alias('c')]
|
|
||||||
[string]$Channel,
|
|
||||||
[Alias('d')]
|
|
||||||
[string]$DotNetHome,
|
|
||||||
[Alias('s')]
|
|
||||||
[string]$ToolsSource,
|
|
||||||
[Alias('u')]
|
|
||||||
[switch]$Update,
|
|
||||||
[switch]$Reinstall,
|
|
||||||
[string]$ToolsSourceSuffix,
|
|
||||||
[string]$ConfigFile = $null,
|
|
||||||
[switch]$CI,
|
|
||||||
[Parameter(ValueFromRemainingArguments = $true)]
|
|
||||||
[string[]]$Arguments
|
|
||||||
)
|
|
||||||
|
|
||||||
Set-StrictMode -Version 2
|
|
||||||
$ErrorActionPreference = 'Stop'
|
|
||||||
|
|
||||||
#
|
|
||||||
# Functions
|
|
||||||
#
|
|
||||||
|
|
||||||
function Get-KoreBuild {
|
|
||||||
|
|
||||||
$lockFile = Join-Path $Path 'korebuild-lock.txt'
|
|
||||||
|
|
||||||
if (!(Test-Path $lockFile) -or $Update) {
|
|
||||||
Get-RemoteFile "$ToolsSource/korebuild/channels/$Channel/latest.txt" $lockFile $ToolsSourceSuffix
|
|
||||||
}
|
|
||||||
|
|
||||||
$version = Get-Content $lockFile | Where-Object { $_ -like 'version:*' } | Select-Object -first 1
|
|
||||||
if (!$version) {
|
|
||||||
Write-Error "Failed to parse version from $lockFile. Expected a line that begins with 'version:'"
|
|
||||||
}
|
|
||||||
$version = $version.TrimStart('version:').Trim()
|
|
||||||
$korebuildPath = Join-Paths $DotNetHome ('buildtools', 'korebuild', $version)
|
|
||||||
|
|
||||||
if ($Reinstall -and (Test-Path $korebuildPath)) {
|
|
||||||
Remove-Item -Force -Recurse $korebuildPath
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!(Test-Path $korebuildPath)) {
|
|
||||||
Write-Host -ForegroundColor Magenta "Downloading KoreBuild $version"
|
|
||||||
New-Item -ItemType Directory -Path $korebuildPath | Out-Null
|
|
||||||
$remotePath = "$ToolsSource/korebuild/artifacts/$version/korebuild.$version.zip"
|
|
||||||
|
|
||||||
try {
|
|
||||||
$tmpfile = Join-Path ([IO.Path]::GetTempPath()) "KoreBuild-$([guid]::NewGuid()).zip"
|
|
||||||
Get-RemoteFile $remotePath $tmpfile $ToolsSourceSuffix
|
|
||||||
if (Get-Command -Name 'Microsoft.PowerShell.Archive\Expand-Archive' -ErrorAction Ignore) {
|
|
||||||
# Use built-in commands where possible as they are cross-plat compatible
|
|
||||||
Microsoft.PowerShell.Archive\Expand-Archive -Path $tmpfile -DestinationPath $korebuildPath
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
# Fallback to old approach for old installations of PowerShell
|
|
||||||
Add-Type -AssemblyName System.IO.Compression.FileSystem
|
|
||||||
[System.IO.Compression.ZipFile]::ExtractToDirectory($tmpfile, $korebuildPath)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch {
|
|
||||||
Remove-Item -Recurse -Force $korebuildPath -ErrorAction Ignore
|
|
||||||
throw
|
|
||||||
}
|
|
||||||
finally {
|
|
||||||
Remove-Item $tmpfile -ErrorAction Ignore
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $korebuildPath
|
|
||||||
}
|
|
||||||
|
|
||||||
function Join-Paths([string]$path, [string[]]$childPaths) {
|
|
||||||
$childPaths | ForEach-Object { $path = Join-Path $path $_ }
|
|
||||||
return $path
|
|
||||||
}
|
|
||||||
|
|
||||||
function Get-RemoteFile([string]$RemotePath, [string]$LocalPath, [string]$RemoteSuffix) {
|
|
||||||
if ($RemotePath -notlike 'http*') {
|
|
||||||
Copy-Item $RemotePath $LocalPath
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
$retries = 10
|
|
||||||
while ($retries -gt 0) {
|
|
||||||
$retries -= 1
|
|
||||||
try {
|
|
||||||
Invoke-WebRequest -UseBasicParsing -Uri $($RemotePath + $RemoteSuffix) -OutFile $LocalPath
|
|
||||||
return
|
|
||||||
}
|
|
||||||
catch {
|
|
||||||
Write-Verbose "Request failed. $retries retries remaining"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Write-Error "Download failed: '$RemotePath'."
|
|
||||||
}
|
|
||||||
|
|
||||||
#
|
|
||||||
# Main
|
|
||||||
#
|
|
||||||
|
|
||||||
# Load configuration or set defaults
|
|
||||||
|
|
||||||
$Path = Resolve-Path $Path
|
|
||||||
if (!$ConfigFile) { $ConfigFile = Join-Path $Path 'korebuild.json' }
|
|
||||||
|
|
||||||
if (Test-Path $ConfigFile) {
|
|
||||||
try {
|
|
||||||
$config = Get-Content -Raw -Encoding UTF8 -Path $ConfigFile | ConvertFrom-Json
|
|
||||||
if ($config) {
|
|
||||||
if (!($Channel) -and (Get-Member -Name 'channel' -InputObject $config)) { [string] $Channel = $config.channel }
|
|
||||||
if (!($ToolsSource) -and (Get-Member -Name 'toolsSource' -InputObject $config)) { [string] $ToolsSource = $config.toolsSource}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch {
|
|
||||||
Write-Host -ForegroundColor Red $Error[0]
|
|
||||||
Write-Error "$ConfigFile contains invalid JSON."
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$DotNetHome) {
|
|
||||||
$DotNetHome = if ($env:DOTNET_HOME) { $env:DOTNET_HOME } `
|
|
||||||
elseif ($env:USERPROFILE) { Join-Path $env:USERPROFILE '.dotnet'} `
|
|
||||||
elseif ($env:HOME) {Join-Path $env:HOME '.dotnet'}`
|
|
||||||
else { Join-Path $PSScriptRoot '.dotnet'}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$Channel) { $Channel = 'master' }
|
|
||||||
if (!$ToolsSource) { $ToolsSource = 'https://aspnetcore.blob.core.windows.net/buildtools' }
|
|
||||||
|
|
||||||
# Execute
|
|
||||||
|
|
||||||
$korebuildPath = Get-KoreBuild
|
|
||||||
Import-Module -Force -Scope Local (Join-Path $korebuildPath 'KoreBuild.psd1')
|
|
||||||
|
|
||||||
try {
|
|
||||||
Set-KoreBuildSettings -ToolsSource $ToolsSource -DotNetHome $DotNetHome -RepoPath $Path -ConfigFile $ConfigFile -CI:$CI
|
|
||||||
Invoke-KoreBuildCommand $Command @Arguments
|
|
||||||
}
|
|
||||||
finally {
|
|
||||||
Remove-Module 'KoreBuild' -ErrorAction Ignore
|
|
||||||
}
|
|
||||||
256
run.sh
256
run.sh
|
|
@ -1,256 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
#
|
|
||||||
# variables
|
|
||||||
#
|
|
||||||
|
|
||||||
RESET="\033[0m"
|
|
||||||
RED="\033[0;31m"
|
|
||||||
YELLOW="\033[0;33m"
|
|
||||||
MAGENTA="\033[0;95m"
|
|
||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
||||||
[ -z "${DOTNET_HOME:-}" ] && DOTNET_HOME="$HOME/.dotnet"
|
|
||||||
verbose=false
|
|
||||||
update=false
|
|
||||||
reinstall=false
|
|
||||||
repo_path="$DIR"
|
|
||||||
channel=''
|
|
||||||
tools_source=''
|
|
||||||
tools_source_suffix=''
|
|
||||||
ci=false
|
|
||||||
|
|
||||||
#
|
|
||||||
# Functions
|
|
||||||
#
|
|
||||||
__usage() {
|
|
||||||
echo "Usage: $(basename "${BASH_SOURCE[0]}") command [options] [[--] <Arguments>...]"
|
|
||||||
echo ""
|
|
||||||
echo "Arguments:"
|
|
||||||
echo " command The command to be run."
|
|
||||||
echo " <Arguments>... Arguments passed to the command. Variable number of arguments allowed."
|
|
||||||
echo ""
|
|
||||||
echo "Options:"
|
|
||||||
echo " --verbose Show verbose output."
|
|
||||||
echo " -c|--channel <CHANNEL> The channel of KoreBuild to download. Overrides the value from the config file.."
|
|
||||||
echo " --config-file <FILE> The path to the configuration file that stores values. Defaults to korebuild.json."
|
|
||||||
echo " -d|--dotnet-home <DIR> The directory where .NET Core tools will be stored. Defaults to '\$DOTNET_HOME' or '\$HOME/.dotnet."
|
|
||||||
echo " --path <PATH> The directory to build. Defaults to the directory containing the script."
|
|
||||||
echo " -s|--tools-source|-ToolsSource <URL> The base url where build tools can be downloaded. Overrides the value from the config file."
|
|
||||||
echo " --tools-source-suffix|-ToolsSourceSuffix <SUFFIX> The suffix to append to tools-source. Useful for query strings."
|
|
||||||
echo " -u|--update Update to the latest KoreBuild even if the lock file is present."
|
|
||||||
echo " --reinstall Reinstall KoreBuild."
|
|
||||||
echo " --ci Apply CI specific settings and environment variables."
|
|
||||||
echo ""
|
|
||||||
echo "Description:"
|
|
||||||
echo " This function will create a file \$DIR/korebuild-lock.txt. This lock file can be committed to source, but does not have to be."
|
|
||||||
echo " When the lockfile is not present, KoreBuild will create one using latest available version from \$channel."
|
|
||||||
|
|
||||||
if [[ "${1:-}" != '--no-exit' ]]; then
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
get_korebuild() {
|
|
||||||
local version
|
|
||||||
local lock_file="$repo_path/korebuild-lock.txt"
|
|
||||||
if [ ! -f "$lock_file" ] || [ "$update" = true ]; then
|
|
||||||
__get_remote_file "$tools_source/korebuild/channels/$channel/latest.txt" "$lock_file" "$tools_source_suffix"
|
|
||||||
fi
|
|
||||||
version="$(grep 'version:*' -m 1 "$lock_file")"
|
|
||||||
if [[ "$version" == '' ]]; then
|
|
||||||
__error "Failed to parse version from $lock_file. Expected a line that begins with 'version:'"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
version="$(echo "${version#version:}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')"
|
|
||||||
local korebuild_path="$DOTNET_HOME/buildtools/korebuild/$version"
|
|
||||||
|
|
||||||
if [ "$reinstall" = true ] && [ -d "$korebuild_path" ]; then
|
|
||||||
rm -rf "$korebuild_path"
|
|
||||||
fi
|
|
||||||
|
|
||||||
{
|
|
||||||
if [ ! -d "$korebuild_path" ]; then
|
|
||||||
mkdir -p "$korebuild_path"
|
|
||||||
local remote_path="$tools_source/korebuild/artifacts/$version/korebuild.$version.zip"
|
|
||||||
tmpfile="$(mktemp)"
|
|
||||||
echo -e "${MAGENTA}Downloading KoreBuild ${version}${RESET}"
|
|
||||||
if __get_remote_file "$remote_path" "$tmpfile" "$tools_source_suffix"; then
|
|
||||||
unzip -q -d "$korebuild_path" "$tmpfile"
|
|
||||||
fi
|
|
||||||
rm "$tmpfile" || true
|
|
||||||
fi
|
|
||||||
|
|
||||||
source "$korebuild_path/KoreBuild.sh"
|
|
||||||
} || {
|
|
||||||
if [ -d "$korebuild_path" ]; then
|
|
||||||
echo "Cleaning up after failed installation"
|
|
||||||
rm -rf "$korebuild_path" || true
|
|
||||||
fi
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
__error() {
|
|
||||||
echo -e "${RED}error: $*${RESET}" 1>&2
|
|
||||||
}
|
|
||||||
|
|
||||||
__warn() {
|
|
||||||
echo -e "${YELLOW}warning: $*${RESET}"
|
|
||||||
}
|
|
||||||
|
|
||||||
__machine_has() {
|
|
||||||
hash "$1" > /dev/null 2>&1
|
|
||||||
return $?
|
|
||||||
}
|
|
||||||
|
|
||||||
__get_remote_file() {
|
|
||||||
local remote_path=$1
|
|
||||||
local local_path=$2
|
|
||||||
local remote_path_suffix=$3
|
|
||||||
|
|
||||||
if [[ "$remote_path" != 'http'* ]]; then
|
|
||||||
cp "$remote_path" "$local_path"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
local failed=false
|
|
||||||
if __machine_has wget; then
|
|
||||||
wget --tries 10 --quiet -O "$local_path" "${remote_path}${remote_path_suffix}" || failed=true
|
|
||||||
else
|
|
||||||
failed=true
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$failed" = true ] && __machine_has curl; then
|
|
||||||
failed=false
|
|
||||||
curl --retry 10 -sSL -f --create-dirs -o "$local_path" "${remote_path}${remote_path_suffix}" || failed=true
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$failed" = true ]; then
|
|
||||||
__error "Download failed: $remote_path" 1>&2
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
#
|
|
||||||
# main
|
|
||||||
#
|
|
||||||
|
|
||||||
command="${1:-}"
|
|
||||||
shift
|
|
||||||
|
|
||||||
while [[ $# -gt 0 ]]; do
|
|
||||||
case $1 in
|
|
||||||
-\?|-h|--help)
|
|
||||||
__usage --no-exit
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
-c|--channel|-Channel)
|
|
||||||
shift
|
|
||||||
channel="${1:-}"
|
|
||||||
[ -z "$channel" ] && __usage
|
|
||||||
;;
|
|
||||||
--config-file|-ConfigFile)
|
|
||||||
shift
|
|
||||||
config_file="${1:-}"
|
|
||||||
[ -z "$config_file" ] && __usage
|
|
||||||
if [ ! -f "$config_file" ]; then
|
|
||||||
__error "Invalid value for --config-file. $config_file does not exist."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
-d|--dotnet-home|-DotNetHome)
|
|
||||||
shift
|
|
||||||
DOTNET_HOME="${1:-}"
|
|
||||||
[ -z "$DOTNET_HOME" ] && __usage
|
|
||||||
;;
|
|
||||||
--path|-Path)
|
|
||||||
shift
|
|
||||||
repo_path="${1:-}"
|
|
||||||
[ -z "$repo_path" ] && __usage
|
|
||||||
;;
|
|
||||||
-s|--tools-source|-ToolsSource)
|
|
||||||
shift
|
|
||||||
tools_source="${1:-}"
|
|
||||||
[ -z "$tools_source" ] && __usage
|
|
||||||
;;
|
|
||||||
--tools-source-suffix|-ToolsSourceSuffix)
|
|
||||||
shift
|
|
||||||
tools_source_suffix="${1:-}"
|
|
||||||
[ -z "$tools_source_suffix" ] && __usage
|
|
||||||
;;
|
|
||||||
-u|--update|-Update)
|
|
||||||
update=true
|
|
||||||
;;
|
|
||||||
--reinstall|-[Rr]einstall)
|
|
||||||
reinstall=true
|
|
||||||
;;
|
|
||||||
--ci|-[Cc][Ii])
|
|
||||||
ci=true
|
|
||||||
;;
|
|
||||||
--verbose|-Verbose)
|
|
||||||
verbose=true
|
|
||||||
;;
|
|
||||||
--)
|
|
||||||
shift
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
if ! __machine_has unzip; then
|
|
||||||
__error 'Missing required command: unzip'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! __machine_has curl && ! __machine_has wget; then
|
|
||||||
__error 'Missing required command. Either wget or curl is required.'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
[ -z "${config_file:-}" ] && config_file="$repo_path/korebuild.json"
|
|
||||||
if [ -f "$config_file" ]; then
|
|
||||||
if __machine_has jq ; then
|
|
||||||
if jq '.' "$config_file" >/dev/null ; then
|
|
||||||
config_channel="$(jq -r 'select(.channel!=null) | .channel' "$config_file")"
|
|
||||||
config_tools_source="$(jq -r 'select(.toolsSource!=null) | .toolsSource' "$config_file")"
|
|
||||||
else
|
|
||||||
__error "$config_file contains invalid JSON."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
elif __machine_has python ; then
|
|
||||||
if python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'))" >/dev/null ; then
|
|
||||||
config_channel="$(python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['channel'] if 'channel' in obj else '')")"
|
|
||||||
config_tools_source="$(python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['toolsSource'] if 'toolsSource' in obj else '')")"
|
|
||||||
else
|
|
||||||
__error "$config_file contains invalid JSON."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
elif __machine_has python3 ; then
|
|
||||||
if python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'))" >/dev/null ; then
|
|
||||||
config_channel="$(python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['channel'] if 'channel' in obj else '')")"
|
|
||||||
config_tools_source="$(python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['toolsSource'] if 'toolsSource' in obj else '')")"
|
|
||||||
else
|
|
||||||
__error "$config_file contains invalid JSON."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
__error 'Missing required command: jq or python. Could not parse the JSON file.'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
[ ! -z "${config_channel:-}" ] && channel="$config_channel"
|
|
||||||
[ ! -z "${config_tools_source:-}" ] && tools_source="$config_tools_source"
|
|
||||||
fi
|
|
||||||
|
|
||||||
[ -z "$channel" ] && channel='master'
|
|
||||||
[ -z "$tools_source" ] && tools_source='https://aspnetcore.blob.core.windows.net/buildtools'
|
|
||||||
|
|
||||||
get_korebuild
|
|
||||||
set_korebuildsettings "$tools_source" "$DOTNET_HOME" "$repo_path" "$config_file" "$ci"
|
|
||||||
invoke_korebuild_command "$command" "$@"
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<TargetFrameworks>netcoreapp2.2;net461</TargetFrameworks>
|
|
||||||
<StartupObject>GenericHostSample.ProgramHelloWorld</StartupObject>
|
|
||||||
<OutputType>Exe</OutputType>
|
|
||||||
<LangVersion>latest</LangVersion>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\..\src\Microsoft.Extensions.Hosting\Microsoft.Extensions.Hosting.csproj" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup Condition=" '$(TargetFramework)' == 'net461' ">
|
|
||||||
<Reference Include="System.ServiceProcess" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.CommandLine" Version="$(MicrosoftExtensionsConfigurationCommandLinePackageVersion)" />
|
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="$(MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion)" />
|
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="$(MicrosoftExtensionsConfigurationJsonPackageVersion)" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
namespace GenericHostSample
|
|
||||||
{
|
|
||||||
internal class MyContainer
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
using System;
|
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
|
||||||
|
|
||||||
namespace GenericHostSample
|
|
||||||
{
|
|
||||||
internal class MyContainerFactory : IServiceProviderFactory<MyContainer>
|
|
||||||
{
|
|
||||||
public MyContainer CreateBuilder(IServiceCollection services)
|
|
||||||
{
|
|
||||||
return new MyContainer();
|
|
||||||
}
|
|
||||||
|
|
||||||
public IServiceProvider CreateServiceProvider(MyContainer containerBuilder)
|
|
||||||
{
|
|
||||||
throw new NotImplementedException();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Threading;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Microsoft.Extensions.Hosting;
|
|
||||||
|
|
||||||
namespace GenericHostSample
|
|
||||||
{
|
|
||||||
public class MyServiceA : BackgroundService
|
|
||||||
{
|
|
||||||
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
|
||||||
{
|
|
||||||
Console.WriteLine("MyServiceA is starting.");
|
|
||||||
|
|
||||||
stoppingToken.Register(() => Console.WriteLine("MyServiceA is stopping."));
|
|
||||||
|
|
||||||
while (!stoppingToken.IsCancellationRequested)
|
|
||||||
{
|
|
||||||
Console.WriteLine("MyServiceA is doing background work.");
|
|
||||||
|
|
||||||
await Task.Delay(TimeSpan.FromSeconds(5), stoppingToken);
|
|
||||||
}
|
|
||||||
|
|
||||||
Console.WriteLine("MyServiceA background task is stopping.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,47 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Threading;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Microsoft.Extensions.Hosting;
|
|
||||||
|
|
||||||
namespace GenericHostSample
|
|
||||||
{
|
|
||||||
public class MyServiceB : IHostedService, IDisposable
|
|
||||||
{
|
|
||||||
private bool _stopping;
|
|
||||||
private Task _backgroundTask;
|
|
||||||
|
|
||||||
public Task StartAsync(CancellationToken cancellationToken)
|
|
||||||
{
|
|
||||||
Console.WriteLine("MyServiceB is starting.");
|
|
||||||
_backgroundTask = BackgroundTask();
|
|
||||||
return Task.CompletedTask;
|
|
||||||
}
|
|
||||||
|
|
||||||
private async Task BackgroundTask()
|
|
||||||
{
|
|
||||||
while (!_stopping)
|
|
||||||
{
|
|
||||||
await Task.Delay(TimeSpan.FromSeconds(7));
|
|
||||||
Console.WriteLine("MyServiceB is doing background work.");
|
|
||||||
}
|
|
||||||
|
|
||||||
Console.WriteLine("MyServiceB background task is stopping.");
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task StopAsync(CancellationToken cancellationToken)
|
|
||||||
{
|
|
||||||
Console.WriteLine("MyServiceB is stopping.");
|
|
||||||
_stopping = true;
|
|
||||||
if (_backgroundTask != null)
|
|
||||||
{
|
|
||||||
// TODO: cancellation
|
|
||||||
await _backgroundTask;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Dispose()
|
|
||||||
{
|
|
||||||
Console.WriteLine("MyServiceB is disposing.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,45 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Threading;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Microsoft.Extensions.Configuration;
|
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
|
||||||
using Microsoft.Extensions.Hosting;
|
|
||||||
|
|
||||||
namespace GenericHostSample
|
|
||||||
{
|
|
||||||
public class ProgramExternallyControlled
|
|
||||||
{
|
|
||||||
private IHost _host;
|
|
||||||
|
|
||||||
public ProgramExternallyControlled()
|
|
||||||
{
|
|
||||||
_host = new HostBuilder()
|
|
||||||
.UseServiceProviderFactory<MyContainer>(new MyContainerFactory())
|
|
||||||
.ConfigureContainer<MyContainer>((hostContext, container) =>
|
|
||||||
{
|
|
||||||
})
|
|
||||||
.ConfigureAppConfiguration((hostContext, config) =>
|
|
||||||
{
|
|
||||||
config.AddEnvironmentVariables();
|
|
||||||
config.AddJsonFile("appsettings.json", optional: true);
|
|
||||||
})
|
|
||||||
.ConfigureServices((hostContext, services) =>
|
|
||||||
{
|
|
||||||
services.AddHostedService<MyServiceA>();
|
|
||||||
services.AddHostedService<MyServiceB>();
|
|
||||||
})
|
|
||||||
.Build();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Start()
|
|
||||||
{
|
|
||||||
_host.Start();
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task StopAsync()
|
|
||||||
{
|
|
||||||
await _host.StopAsync(TimeSpan.FromSeconds(5));
|
|
||||||
_host.Dispose();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,51 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Microsoft.Extensions.Configuration;
|
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
|
||||||
using Microsoft.Extensions.Hosting;
|
|
||||||
|
|
||||||
namespace GenericHostSample
|
|
||||||
{
|
|
||||||
public class ProgramFullControl
|
|
||||||
{
|
|
||||||
public static async Task Main(string[] args)
|
|
||||||
{
|
|
||||||
var host = new HostBuilder()
|
|
||||||
.UseServiceProviderFactory<MyContainer>(new MyContainerFactory())
|
|
||||||
.ConfigureContainer<MyContainer>((hostContext, container) =>
|
|
||||||
{
|
|
||||||
})
|
|
||||||
.ConfigureAppConfiguration((hostContext, config) =>
|
|
||||||
{
|
|
||||||
config.AddEnvironmentVariables();
|
|
||||||
config.AddJsonFile("appsettings.json", optional: true);
|
|
||||||
config.AddCommandLine(args);
|
|
||||||
})
|
|
||||||
.ConfigureServices((hostContext, services) =>
|
|
||||||
{
|
|
||||||
services.AddHostedService<MyServiceA>();
|
|
||||||
services.AddHostedService<MyServiceB>();
|
|
||||||
})
|
|
||||||
.Build();
|
|
||||||
|
|
||||||
var s = host.Services;
|
|
||||||
|
|
||||||
using (host)
|
|
||||||
{
|
|
||||||
Console.WriteLine("Starting!");
|
|
||||||
|
|
||||||
await host.StartAsync();
|
|
||||||
|
|
||||||
Console.WriteLine("Started! Press <enter> to stop.");
|
|
||||||
|
|
||||||
Console.ReadLine();
|
|
||||||
|
|
||||||
Console.WriteLine("Stopping!");
|
|
||||||
|
|
||||||
await host.StopAsync();
|
|
||||||
|
|
||||||
Console.WriteLine("Stopped!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
|
||||||
using Microsoft.Extensions.Hosting;
|
|
||||||
|
|
||||||
namespace GenericHostSample
|
|
||||||
{
|
|
||||||
public class ProgramHelloWorld
|
|
||||||
{
|
|
||||||
public static async Task Main(string[] args)
|
|
||||||
{
|
|
||||||
var builder = new HostBuilder()
|
|
||||||
.ConfigureServices((hostContext, services) =>
|
|
||||||
{
|
|
||||||
services.AddHostedService<MyServiceA>();
|
|
||||||
services.AddHostedService<MyServiceB>();
|
|
||||||
});
|
|
||||||
|
|
||||||
await builder.RunConsoleAsync();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
#if NET461
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
|
||||||
using Microsoft.Extensions.Hosting;
|
|
||||||
|
|
||||||
namespace GenericHostSample
|
|
||||||
{
|
|
||||||
public class ServiceBaseControlled
|
|
||||||
{
|
|
||||||
public static async Task Main(string[] args)
|
|
||||||
{
|
|
||||||
var builder = new HostBuilder()
|
|
||||||
.ConfigureServices((hostContext, services) =>
|
|
||||||
{
|
|
||||||
services.AddHostedService<MyServiceA>();
|
|
||||||
services.AddHostedService<MyServiceB>();
|
|
||||||
});
|
|
||||||
|
|
||||||
await builder.RunAsServiceAsync();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
@ -1,79 +0,0 @@
|
||||||
#if NET461
|
|
||||||
using System;
|
|
||||||
using System.ServiceProcess;
|
|
||||||
using System.Threading;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
|
||||||
using Microsoft.Extensions.Hosting;
|
|
||||||
|
|
||||||
namespace GenericHostSample
|
|
||||||
{
|
|
||||||
public static class ServiceBaseLifetimeHostExtensions
|
|
||||||
{
|
|
||||||
public static IHostBuilder UseServiceBaseLifetime(this IHostBuilder hostBuilder)
|
|
||||||
{
|
|
||||||
return hostBuilder.ConfigureServices((hostContext, services) => services.AddSingleton<IHostLifetime, ServiceBaseLifetime>());
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Task RunAsServiceAsync(this IHostBuilder hostBuilder, CancellationToken cancellationToken = default)
|
|
||||||
{
|
|
||||||
return hostBuilder.UseServiceBaseLifetime().Build().RunAsync(cancellationToken);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public class ServiceBaseLifetime : ServiceBase, IHostLifetime
|
|
||||||
{
|
|
||||||
private TaskCompletionSource<object> _delayStart = new TaskCompletionSource<object>();
|
|
||||||
|
|
||||||
public ServiceBaseLifetime(IApplicationLifetime applicationLifetime)
|
|
||||||
{
|
|
||||||
ApplicationLifetime = applicationLifetime ?? throw new ArgumentNullException(nameof(applicationLifetime));
|
|
||||||
}
|
|
||||||
|
|
||||||
private IApplicationLifetime ApplicationLifetime { get; }
|
|
||||||
|
|
||||||
public Task WaitForStartAsync(CancellationToken cancellationToken)
|
|
||||||
{
|
|
||||||
cancellationToken.Register(() => _delayStart.TrySetCanceled());
|
|
||||||
ApplicationLifetime.ApplicationStopping.Register(Stop);
|
|
||||||
|
|
||||||
new Thread(Run).Start(); // Otherwise this would block and prevent IHost.StartAsync from finishing.
|
|
||||||
return _delayStart.Task;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Run()
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
Run(this); // This blocks until the service is stopped.
|
|
||||||
_delayStart.TrySetException(new InvalidOperationException("Stopped without starting"));
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
_delayStart.TrySetException(ex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public Task StopAsync(CancellationToken cancellationToken)
|
|
||||||
{
|
|
||||||
Stop();
|
|
||||||
return Task.CompletedTask;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Called by base.Run when the service is ready to start.
|
|
||||||
protected override void OnStart(string[] args)
|
|
||||||
{
|
|
||||||
_delayStart.TrySetResult(null);
|
|
||||||
base.OnStart(args);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Called by base.Stop. This may be called multiple times by service Stop, ApplicationStopping, and StopAsync.
|
|
||||||
// That's OK because StopApplication uses a CancellationTokenSource and prevents any recursion.
|
|
||||||
protected override void OnStop()
|
|
||||||
{
|
|
||||||
ApplicationLifetime.StopApplication();
|
|
||||||
base.OnStop();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<OutputType>Exe</OutputType>
|
|
||||||
<TargetFrameworks>netcoreapp2.2;net461</TargetFrameworks>
|
|
||||||
<LangVersion>latest</LangVersion>
|
|
||||||
<SignAssembly>true</SignAssembly>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\..\src\Microsoft.AspNetCore.Hosting\Microsoft.AspNetCore.Hosting.csproj" />
|
|
||||||
<ProjectReference Include="..\..\src\Microsoft.Extensions.Hosting\Microsoft.Extensions.Hosting.csproj" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.CommandLine" Version="$(MicrosoftExtensionsConfigurationCommandLinePackageVersion)" />
|
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="$(MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion)" />
|
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="$(MicrosoftExtensionsConfigurationJsonPackageVersion)" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
|
|
@ -1,80 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
using System.Messaging;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Microsoft.Extensions.Logging;
|
|
||||||
using Microsoft.Extensions.Options;
|
|
||||||
|
|
||||||
namespace SampleMsmqHost
|
|
||||||
{
|
|
||||||
public interface IMsmqConnection
|
|
||||||
{
|
|
||||||
void SendText(string text);
|
|
||||||
|
|
||||||
Task<Message> ReceiveAsync(CancellationToken cancellationToken);
|
|
||||||
}
|
|
||||||
|
|
||||||
public class MsmqConnection : IMsmqConnection, IDisposable
|
|
||||||
{
|
|
||||||
private readonly MessageQueue _queue;
|
|
||||||
|
|
||||||
public MsmqOptions Options { get; }
|
|
||||||
|
|
||||||
public ILogger<MsmqConnection> Logger { get; }
|
|
||||||
|
|
||||||
public MsmqConnection(IOptions<MsmqOptions> options, ILogger<MsmqConnection> logger)
|
|
||||||
{
|
|
||||||
Options = options?.Value ?? throw new ArgumentNullException(nameof(options));
|
|
||||||
Logger = logger ?? throw new ArgumentNullException(nameof(logger));
|
|
||||||
|
|
||||||
_queue = OpenQueue();
|
|
||||||
}
|
|
||||||
|
|
||||||
private MessageQueue OpenQueue()
|
|
||||||
{
|
|
||||||
Logger.LogInformation("Opening Queue: Path={0}; AccessMode={1};", Options.Path, Options.AccessMode);
|
|
||||||
|
|
||||||
return new MessageQueue(Options.Path, Options.SharedModeDenyReceive, Options.EnableCache, Options.AccessMode);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Dispose()
|
|
||||||
{
|
|
||||||
Logger.LogInformation("Closing Queue");
|
|
||||||
|
|
||||||
_queue?.Dispose();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SendText(string text)
|
|
||||||
{
|
|
||||||
// send the text message as UTF7
|
|
||||||
using (var stream = new MemoryStream())
|
|
||||||
using (var writer = new StreamWriter(stream, Encoding.UTF7))
|
|
||||||
using (var message = new Message())
|
|
||||||
{
|
|
||||||
writer.Write(text);
|
|
||||||
writer.Flush();
|
|
||||||
|
|
||||||
message.BodyStream = stream;
|
|
||||||
|
|
||||||
_queue.Send(message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task<Message> ReceiveAsync(CancellationToken cancellationToken)
|
|
||||||
{
|
|
||||||
var tcs = new TaskCompletionSource<Message>();
|
|
||||||
using (cancellationToken.Register(obj => ((TaskCompletionSource<Message>)obj).TrySetCanceled(), tcs))
|
|
||||||
{
|
|
||||||
// wait for a message to arrive or cancellation
|
|
||||||
var receiveTask = Task.Factory.FromAsync(_queue.BeginReceive(), _queue.EndReceive);
|
|
||||||
if (receiveTask != await Task.WhenAny(receiveTask, tcs.Task))
|
|
||||||
throw new OperationCanceledException(cancellationToken);
|
|
||||||
|
|
||||||
return receiveTask.Result;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
using System.Messaging;
|
|
||||||
|
|
||||||
namespace SampleMsmqHost
|
|
||||||
{
|
|
||||||
public class MsmqOptions
|
|
||||||
{
|
|
||||||
public string Path { get; set; }
|
|
||||||
|
|
||||||
public bool SharedModeDenyReceive { get; set; } = false;
|
|
||||||
|
|
||||||
public bool EnableCache { get; set; } = false;
|
|
||||||
|
|
||||||
public QueueAccessMode AccessMode { get; set; } = QueueAccessMode.SendAndReceive;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
using System.Messaging;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Microsoft.Extensions.Logging;
|
|
||||||
|
|
||||||
namespace SampleMsmqHost
|
|
||||||
{
|
|
||||||
public interface IMsmqProcessor
|
|
||||||
{
|
|
||||||
Task ProcessMessageAsync(Message message, CancellationToken cancellationToken);
|
|
||||||
}
|
|
||||||
|
|
||||||
public class MsmqProcessor : IMsmqProcessor
|
|
||||||
{
|
|
||||||
private readonly ILogger<MsmqProcessor> _logger;
|
|
||||||
|
|
||||||
public MsmqProcessor(ILogger<MsmqProcessor> logger)
|
|
||||||
{
|
|
||||||
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task ProcessMessageAsync(Message message, CancellationToken cancellationToken)
|
|
||||||
{
|
|
||||||
// we assume the message contains text encoded as UTF7
|
|
||||||
using (var reader = new StreamReader(message.BodyStream, Encoding.UTF7))
|
|
||||||
{
|
|
||||||
var text = await reader.ReadToEndAsync();
|
|
||||||
|
|
||||||
_logger.LogInformation("Received Message: {0}", text);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Threading;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Microsoft.Extensions.Hosting;
|
|
||||||
using Microsoft.Extensions.Logging;
|
|
||||||
|
|
||||||
namespace SampleMsmqHost
|
|
||||||
{
|
|
||||||
public class MsmqService : BackgroundService
|
|
||||||
{
|
|
||||||
public ILogger<MsmqService> Logger { get; }
|
|
||||||
|
|
||||||
public IMsmqConnection Connection { get; }
|
|
||||||
|
|
||||||
public IMsmqProcessor Processor { get; }
|
|
||||||
|
|
||||||
public MsmqService(ILogger<MsmqService> logger, IMsmqConnection connection, IMsmqProcessor processor)
|
|
||||||
{
|
|
||||||
Logger = logger ?? throw new ArgumentNullException(nameof(logger));
|
|
||||||
Connection = connection ?? throw new ArgumentNullException(nameof(connection));
|
|
||||||
Processor = processor ?? throw new ArgumentNullException(nameof(processor));
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override async Task ExecuteAsync(CancellationToken cancellationToken)
|
|
||||||
{
|
|
||||||
Logger.LogInformation("Begin Receive Loop");
|
|
||||||
try
|
|
||||||
{
|
|
||||||
while (!cancellationToken.IsCancellationRequested)
|
|
||||||
{
|
|
||||||
using (var message = await Connection.ReceiveAsync(cancellationToken))
|
|
||||||
{
|
|
||||||
await Processor.ProcessMessageAsync(message, cancellationToken);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
Logger.LogInformation("End Receive Loop");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,86 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Messaging;
|
|
||||||
using System.Threading;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Microsoft.Extensions.Configuration;
|
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
|
||||||
using Microsoft.Extensions.Hosting;
|
|
||||||
using Microsoft.Extensions.Logging;
|
|
||||||
|
|
||||||
namespace SampleMsmqHost
|
|
||||||
{
|
|
||||||
public static class Program
|
|
||||||
{
|
|
||||||
// Before running this program, please make sure to install MSMQ
|
|
||||||
// and create the ".\private$\SampleQueue" queue on your local machine.
|
|
||||||
|
|
||||||
public static async Task Main(string[] args)
|
|
||||||
{
|
|
||||||
var host = new HostBuilder()
|
|
||||||
.ConfigureAppConfiguration(config =>
|
|
||||||
{
|
|
||||||
config.AddEnvironmentVariables();
|
|
||||||
config.AddJsonFile("appsettings.json", optional: true);
|
|
||||||
config.AddCommandLine(args);
|
|
||||||
})
|
|
||||||
.ConfigureLogging(factory =>
|
|
||||||
{
|
|
||||||
factory.AddConsole();
|
|
||||||
})
|
|
||||||
.ConfigureServices(services =>
|
|
||||||
{
|
|
||||||
services.AddOptions();
|
|
||||||
|
|
||||||
services.Configure<MsmqOptions>(options =>
|
|
||||||
{
|
|
||||||
options.Path = @".\private$\SampleQueue";
|
|
||||||
options.AccessMode = QueueAccessMode.SendAndReceive;
|
|
||||||
});
|
|
||||||
|
|
||||||
services.AddSingleton<IMsmqConnection, MsmqConnection>();
|
|
||||||
services.AddTransient<IMsmqProcessor, MsmqProcessor>();
|
|
||||||
services.AddTransient<IHostedService, MsmqService>();
|
|
||||||
})
|
|
||||||
.Build();
|
|
||||||
|
|
||||||
using (host)
|
|
||||||
{
|
|
||||||
// start the MSMQ host
|
|
||||||
await host.StartAsync();
|
|
||||||
|
|
||||||
// read and dispatch messages to the MSMQ queue
|
|
||||||
StartReadLoop(host);
|
|
||||||
|
|
||||||
// wait for the MSMQ host to shutdown
|
|
||||||
await host.WaitForShutdownAsync();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void StartReadLoop(IHost host)
|
|
||||||
{
|
|
||||||
var connection = host.Services.GetRequiredService<IMsmqConnection>();
|
|
||||||
var applicationLifetime = host.Services.GetRequiredService<IApplicationLifetime>();
|
|
||||||
|
|
||||||
// run the read loop in a background thread so that it can be stopped with CTRL+C
|
|
||||||
Task.Run(() => ReadLoop(connection, applicationLifetime.ApplicationStopping));
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void ReadLoop(IMsmqConnection connection, CancellationToken cancellationToken)
|
|
||||||
{
|
|
||||||
Console.WriteLine("Enter your text message and press ENTER...");
|
|
||||||
|
|
||||||
while (!cancellationToken.IsCancellationRequested)
|
|
||||||
{
|
|
||||||
// read a text message from the user
|
|
||||||
cancellationToken.ThrowIfCancellationRequested();
|
|
||||||
var text = Console.ReadLine();
|
|
||||||
|
|
||||||
// send the text message to the queue
|
|
||||||
cancellationToken.ThrowIfCancellationRequested();
|
|
||||||
if (!string.IsNullOrEmpty(text))
|
|
||||||
connection.SendText(text);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<OutputType>Exe</OutputType>
|
|
||||||
<!-- System.Messaging is only available in the full .NET Frameworks -->
|
|
||||||
<TargetFramework>net461</TargetFramework>
|
|
||||||
<LangVersion>latest</LangVersion>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\..\src\Microsoft.Extensions.Hosting\Microsoft.Extensions.Hosting.csproj" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.CommandLine" Version="$(MicrosoftExtensionsConfigurationCommandLinePackageVersion)" />
|
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="$(MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion)" />
|
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="$(MicrosoftExtensionsConfigurationJsonPackageVersion)" />
|
|
||||||
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="$(MicrosoftExtensionsLoggingConsolePackageVersion)" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Reference Include="System.Messaging" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<TargetFrameworks>netcoreapp2.2;net461</TargetFrameworks>
|
|
||||||
<StartupObject>SampleStartups.StartupInjection</StartupObject>
|
|
||||||
<OutputType>exe</OutputType>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\..\src\Microsoft.AspNetCore.Hosting\Microsoft.AspNetCore.Hosting.csproj" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.CommandLine" Version="$(MicrosoftExtensionsConfigurationCommandLinePackageVersion)" />
|
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="$(MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion)" />
|
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="$(MicrosoftExtensionsConfigurationJsonPackageVersion)" />
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
<Project>
|
|
||||||
<Import Project="..\Directory.Build.props" />
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="Internal.AspNetCore.Sdk" PrivateAssets="All" Version="$(InternalAspNetCoreSdkPackageVersion)" />
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<Description>ASP.NET Core hosting and startup abstractions for web applications.</Description>
|
||||||
|
<TargetFramework>netstandard2.0</TargetFramework>
|
||||||
|
<NoWarn>$(NoWarn);CS1591</NoWarn>
|
||||||
|
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||||
|
<PackageTags>aspnetcore;hosting</PackageTags>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Microsoft.AspNetCore.Hosting.Server.Abstractions" />
|
||||||
|
<Reference Include="Microsoft.AspNetCore.Http.Abstractions" />
|
||||||
|
<Reference Include="Microsoft.Extensions.Hosting.Abstractions" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<Description>ASP.NET Core hosting infrastructure and startup logic for web applications.</Description>
|
||||||
|
<TargetFramework>netstandard2.0</TargetFramework>
|
||||||
|
<NoWarn>$(NoWarn);CS1591</NoWarn>
|
||||||
|
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||||
|
<PackageTags>aspnetcore;hosting</PackageTags>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" />
|
||||||
|
<Reference Include="Microsoft.AspNetCore.Http.Extensions" />
|
||||||
|
<Reference Include="Microsoft.AspNetCore.Http" />
|
||||||
|
<Reference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" />
|
||||||
|
<Reference Include="Microsoft.Extensions.Configuration.FileExtensions" />
|
||||||
|
<Reference Include="Microsoft.Extensions.Configuration" />
|
||||||
|
<Reference Include="Microsoft.Extensions.DependencyInjection" />
|
||||||
|
<Reference Include="Microsoft.Extensions.FileProviders.Physical" />
|
||||||
|
<Reference Include="Microsoft.Extensions.Hosting.Abstractions" />
|
||||||
|
<Reference Include="Microsoft.Extensions.Logging" />
|
||||||
|
<Reference Include="Microsoft.Extensions.Options" />
|
||||||
|
<Reference Include="Microsoft.Extensions.RazorViews.Sources" PrivateAssets="All" />
|
||||||
|
<Reference Include="Microsoft.Extensions.StackTrace.Sources" PrivateAssets="All" />
|
||||||
|
<Reference Include="Microsoft.Extensions.TypeNameHelper.Sources" PrivateAssets="All" />
|
||||||
|
<Reference Include="System.Diagnostics.DiagnosticSource" />
|
||||||
|
<Reference Include="System.Reflection.Metadata" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue