Skip to content

Commit 5f1286a

Browse files
committed
Small changes
1 parent 6dcf7d8 commit 5f1286a

File tree

12 files changed

+315
-276
lines changed

12 files changed

+315
-276
lines changed

CONTRIBUTING.md

Lines changed: 59 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,84 @@
11
# Project development guide
22

3-
## Solution design
3+
## Design
44

5-
This is a .NET 8 / C# codebase (open-source, cross-platform, free, object-oriented technologies).
5+
The application is entirely based on open-source, cross-platform (Linux/Windows), highly performant, free, object-oriented technologies: .NET / C#.
66

77
### Projects
88

9-
Project name | Technology | Project type
10-
------------------------ | ---------- | --------------------------
11-
`Common.AspNetCore` | .NET 8 | Library
12-
`Common.MongoDb` | .NET 8 | Library
13-
`Common.Runtime` | .NET 8 | Library
14-
`Domain` | .NET 8 | Library
15-
`Infrastructure.MongoDb` | .NET 8 | Library
16-
`WebApi` | ASP.NET 8 | Web application (REST API)
9+
Project name | Technology | Project type
10+
---------------------------|------------|---------------------------
11+
`Common.AspNetCore` | .NET 8 | Library
12+
`Common.AspNetCore.WebApi` | .NET 8 | Library
13+
`Common.MongoDb` | .NET 8 | Library
14+
`Domain` | .NET 8 | Library
15+
`Infrastructure.MongoDb` | .NET 8 | Library
16+
`WebApi` | ASP.NET 8 | Web application (REST API)
1717

1818
### Packages (NuGet)
1919

2020
Name | Description
21-
------------------------ | ----------------------------
21+
-------------------------|-----------------------------
2222
`MongoDB.Bson` | MongoDB BSON
2323
`MongoDB.Driver` | MongoDB .NET Driver
2424
`Swashbuckle.AspNetCore` | OpenAPI / Swagger generation
2525
`System.Text.Json` | JSON support
2626

27-
## CI/CD pipelines
27+
### Documentation
2828

29-
GitHub Actions are triggered to automate the application lifecycle:
29+
* [OpenTofu](https://opentofu.org/)
30+
* [MongoDB](https://www.mongodb.com/)
31+
* [Terraform](https://www.terraform.io)
32+
* [HTTP backend](https://developer.hashicorp.com/terraform/language/backend/http)
33+
* [Remote state backend](https://github.com/hashicorp/terraform/tree/main/internal/backend/remote-state).
3034

31-
- [CI](.github/workflows/ci.yaml) (Continuous Integration)
32-
- [PKG](.github/workflows/pkg.yaml) (Continuous Delivery)
35+
### References of other implementations
3336

34-
GitHub project has been configured, in General / Security / Secrets and Variables / Actions:
37+
* [GitLab](https://gitlab.com/gitlab-org/manage/import/gitlab/-/blob/master/doc/user/infrastructure/terraform_state.md)
38+
* [lib/api/terraform/state.rb](https://gitlab.com/gitlab-org/manage/import/gitlab/-/blob/master/lib/api/terraform/state.rb)
39+
* HTTP
40+
* [akshay/terraform-http-backend-pass](https://git.coop/akshay/terraform-http-backend-pass)
41+
* [bhoriuchi/terraform-backend-http](https://github.com/bhoriuchi/terraform-backend-http)
42+
* git
43+
* [plumber-cd/terraform-backend-git](https://github.com/plumber-cd/terraform-backend-git)
44+
45+
## Automation
46+
47+
### Build (CI/CD pipelines)
48+
49+
GitHub Actions are triggered to automate the integration and delivery of the application:
50+
51+
- [CI](.github/workflows/ci.yaml)
52+
- [PKG](.github/workflows/pkg.yaml)
53+
54+
GitHub project has been configured, in **General** / **Security** / **Secrets and Variables** / **Actions**:
3555

3656
- DOCKERHUB_TOKEN
3757
- DOCKERHUB_USERNAME
3858
- SONAR_HOST_URL
3959
- SONAR_ORG
4060
- SONAR_PROJECT_KEY
4161
- SONAR_TOKEN
62+
63+
## Procedures
64+
65+
### Run locally the application
66+
67+
Create/have a MongoDB database (example with a local container but you can provision a cluster in MongoDB Atlas):
68+
69+
```bash
70+
# creates a container
71+
docker run --name mongodb -d -p 27017:27017 mongo:8.0
72+
# (optional) adds indexes for optimal performances
73+
docker run --rm --link mongodb \
74+
-v "$(pwd)/scripts":/home/scripts mongo:8.0 \
75+
bash -c "mongo mongodb://mongodb:27017/terraform_backend_dev /home/scripts/mongo-create-index.js"
76+
```
77+
78+
Run the web API (example with the command line but an IDE like Visual Studio or Rider would be nice to be able to debug):
79+
80+
```bash
81+
dotnet run --project src/WebApi
82+
```
83+
84+
Open Swagger in a browser: [localhost:5293/swagger](http://localhost:5293/swagger).

Devpro.TerraformBackend.sln

Lines changed: 112 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -1,112 +1,112 @@
1-
2-
Microsoft Visual Studio Solution File, Format Version 12.00
3-
# Visual Studio Version 17
4-
VisualStudioVersion = 17.1.32407.343
5-
MinimumVisualStudioVersion = 10.0.40219.1
6-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "0 - Solution Items", "0 - Solution Items", "{7B3738E0-6F86-4358-B55C-5AAD42B24F81}"
7-
ProjectSection(SolutionItems) = preProject
8-
.editorconfig = .editorconfig
9-
.gitignore = .gitignore
10-
compose.yaml = compose.yaml
11-
CONTRIBUTING.md = CONTRIBUTING.md
12-
Directory.Build.props = Directory.Build.props
13-
README.md = README.md
14-
EndProjectSection
15-
EndProject
16-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "3 - Applications", "3 - Applications", "{6D13F54F-4547-49C7-8136-01BFB4BBEE1E}"
17-
EndProject
18-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "2 - Business", "2 - Business", "{E9839BEC-B050-43E9-8EFD-34659CC92D93}"
19-
EndProject
20-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebApi", "src\WebApi\WebApi.csproj", "{5CD7A689-5ADB-4207-972E-6FA881AF1B1C}"
21-
EndProject
22-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Domain", "src\Domain\Domain.csproj", "{A5CAD112-C1E6-442B-BE0E-37C697030636}"
23-
EndProject
24-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Infrastructure.MongoDb", "src\Infrastructure.MongoDb\Infrastructure.MongoDb.csproj", "{0429A41A-2D3A-42D4-8736-5FC0F6F0FF0C}"
25-
EndProject
26-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Common.MongoDb", "src\Common.MongoDb\Common.MongoDb.csproj", "{49BF313A-4ED3-4BD2-9AEE-E44A5ED19C0C}"
27-
EndProject
28-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{3C2E7F7E-1F8E-49D1-AD56-EC60BEB5299D}"
29-
EndProject
30-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Common.AspNetCore", "src\Common.AspNetCore\Common.AspNetCore.csproj", "{F23098F5-355B-46F0-BABE-3D6E23D8EED7}"
31-
EndProject
32-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "terraform-docker", "terraform-docker", "{001CB9EB-2F7E-4288-BA9B-1E01ED43B8FF}"
33-
ProjectSection(SolutionItems) = preProject
34-
samples\terraform-docker\main.tf = samples\terraform-docker\main.tf
35-
samples\terraform-docker\outputs.tf = samples\terraform-docker\outputs.tf
36-
samples\terraform-docker\providers.tf = samples\terraform-docker\providers.tf
37-
samples\terraform-docker\README.md = samples\terraform-docker\README.md
38-
samples\terraform-docker\variables.tf = samples\terraform-docker\variables.tf
39-
EndProjectSection
40-
EndProject
41-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "scripts", "scripts", "{7F01D180-1A34-4377-B4E5-C852D8302CE7}"
42-
ProjectSection(SolutionItems) = preProject
43-
scripts\mongo-create-index.js = scripts\mongo-create-index.js
44-
EndProjectSection
45-
EndProject
46-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebApi.IntegrationTests", "test\WebApi.IntegrationTests\WebApi.IntegrationTests.csproj", "{B055FFAF-8261-43B1-866A-12E289D5D7DC}"
47-
EndProject
48-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Common.AspNetCore.WebApi", "src\Common.AspNetCore.WebApi\Common.AspNetCore.WebApi.csproj", "{19336002-C959-4E76-B112-861F93CF6423}"
49-
EndProject
50-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "1 - Framework", "1 - Framework", "{0C1E6968-B289-4378-84CF-B64E05E643A5}"
51-
EndProject
52-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "terraform-local-exec", "terraform-local-exec", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}"
53-
ProjectSection(SolutionItems) = preProject
54-
samples\terraform-local-exec\main.tf = samples\terraform-local-exec\main.tf
55-
samples\terraform-local-exec\README.md = samples\terraform-local-exec\README.md
56-
EndProjectSection
57-
EndProject
58-
Global
59-
GlobalSection(SolutionConfigurationPlatforms) = preSolution
60-
Debug|Any CPU = Debug|Any CPU
61-
Release|Any CPU = Release|Any CPU
62-
EndGlobalSection
63-
GlobalSection(ProjectConfigurationPlatforms) = postSolution
64-
{5CD7A689-5ADB-4207-972E-6FA881AF1B1C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
65-
{5CD7A689-5ADB-4207-972E-6FA881AF1B1C}.Debug|Any CPU.Build.0 = Debug|Any CPU
66-
{5CD7A689-5ADB-4207-972E-6FA881AF1B1C}.Release|Any CPU.ActiveCfg = Release|Any CPU
67-
{5CD7A689-5ADB-4207-972E-6FA881AF1B1C}.Release|Any CPU.Build.0 = Release|Any CPU
68-
{A5CAD112-C1E6-442B-BE0E-37C697030636}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
69-
{A5CAD112-C1E6-442B-BE0E-37C697030636}.Debug|Any CPU.Build.0 = Debug|Any CPU
70-
{A5CAD112-C1E6-442B-BE0E-37C697030636}.Release|Any CPU.ActiveCfg = Release|Any CPU
71-
{A5CAD112-C1E6-442B-BE0E-37C697030636}.Release|Any CPU.Build.0 = Release|Any CPU
72-
{0429A41A-2D3A-42D4-8736-5FC0F6F0FF0C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
73-
{0429A41A-2D3A-42D4-8736-5FC0F6F0FF0C}.Debug|Any CPU.Build.0 = Debug|Any CPU
74-
{0429A41A-2D3A-42D4-8736-5FC0F6F0FF0C}.Release|Any CPU.ActiveCfg = Release|Any CPU
75-
{0429A41A-2D3A-42D4-8736-5FC0F6F0FF0C}.Release|Any CPU.Build.0 = Release|Any CPU
76-
{49BF313A-4ED3-4BD2-9AEE-E44A5ED19C0C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
77-
{49BF313A-4ED3-4BD2-9AEE-E44A5ED19C0C}.Debug|Any CPU.Build.0 = Debug|Any CPU
78-
{49BF313A-4ED3-4BD2-9AEE-E44A5ED19C0C}.Release|Any CPU.ActiveCfg = Release|Any CPU
79-
{49BF313A-4ED3-4BD2-9AEE-E44A5ED19C0C}.Release|Any CPU.Build.0 = Release|Any CPU
80-
{F23098F5-355B-46F0-BABE-3D6E23D8EED7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
81-
{F23098F5-355B-46F0-BABE-3D6E23D8EED7}.Debug|Any CPU.Build.0 = Debug|Any CPU
82-
{F23098F5-355B-46F0-BABE-3D6E23D8EED7}.Release|Any CPU.ActiveCfg = Release|Any CPU
83-
{F23098F5-355B-46F0-BABE-3D6E23D8EED7}.Release|Any CPU.Build.0 = Release|Any CPU
84-
{B055FFAF-8261-43B1-866A-12E289D5D7DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
85-
{B055FFAF-8261-43B1-866A-12E289D5D7DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
86-
{B055FFAF-8261-43B1-866A-12E289D5D7DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
87-
{B055FFAF-8261-43B1-866A-12E289D5D7DC}.Release|Any CPU.Build.0 = Release|Any CPU
88-
{19336002-C959-4E76-B112-861F93CF6423}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
89-
{19336002-C959-4E76-B112-861F93CF6423}.Debug|Any CPU.Build.0 = Debug|Any CPU
90-
{19336002-C959-4E76-B112-861F93CF6423}.Release|Any CPU.ActiveCfg = Release|Any CPU
91-
{19336002-C959-4E76-B112-861F93CF6423}.Release|Any CPU.Build.0 = Release|Any CPU
92-
EndGlobalSection
93-
GlobalSection(SolutionProperties) = preSolution
94-
HideSolutionNode = FALSE
95-
EndGlobalSection
96-
GlobalSection(NestedProjects) = preSolution
97-
{5CD7A689-5ADB-4207-972E-6FA881AF1B1C} = {6D13F54F-4547-49C7-8136-01BFB4BBEE1E}
98-
{A5CAD112-C1E6-442B-BE0E-37C697030636} = {E9839BEC-B050-43E9-8EFD-34659CC92D93}
99-
{0429A41A-2D3A-42D4-8736-5FC0F6F0FF0C} = {E9839BEC-B050-43E9-8EFD-34659CC92D93}
100-
{49BF313A-4ED3-4BD2-9AEE-E44A5ED19C0C} = {0C1E6968-B289-4378-84CF-B64E05E643A5}
101-
{3C2E7F7E-1F8E-49D1-AD56-EC60BEB5299D} = {7B3738E0-6F86-4358-B55C-5AAD42B24F81}
102-
{F23098F5-355B-46F0-BABE-3D6E23D8EED7} = {0C1E6968-B289-4378-84CF-B64E05E643A5}
103-
{001CB9EB-2F7E-4288-BA9B-1E01ED43B8FF} = {3C2E7F7E-1F8E-49D1-AD56-EC60BEB5299D}
104-
{7F01D180-1A34-4377-B4E5-C852D8302CE7} = {7B3738E0-6F86-4358-B55C-5AAD42B24F81}
105-
{B055FFAF-8261-43B1-866A-12E289D5D7DC} = {6D13F54F-4547-49C7-8136-01BFB4BBEE1E}
106-
{19336002-C959-4E76-B112-861F93CF6423} = {0C1E6968-B289-4378-84CF-B64E05E643A5}
107-
{02EA681E-C7D8-13C7-8484-4AC65E1B71E8} = {3C2E7F7E-1F8E-49D1-AD56-EC60BEB5299D}
108-
EndGlobalSection
109-
GlobalSection(ExtensibilityGlobals) = postSolution
110-
SolutionGuid = {DC545534-6A10-475B-A0DA-3374CC025D82}
111-
EndGlobalSection
112-
EndGlobal
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio Version 17
4+
VisualStudioVersion = 17.1.32407.343
5+
MinimumVisualStudioVersion = 10.0.40219.1
6+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "0 - Solution Items", "0 - Solution Items", "{7B3738E0-6F86-4358-B55C-5AAD42B24F81}"
7+
ProjectSection(SolutionItems) = preProject
8+
.editorconfig = .editorconfig
9+
.gitignore = .gitignore
10+
compose.yaml = compose.yaml
11+
CONTRIBUTING.md = CONTRIBUTING.md
12+
Directory.Build.props = Directory.Build.props
13+
README.md = README.md
14+
EndProjectSection
15+
EndProject
16+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "3 - Applications", "3 - Applications", "{6D13F54F-4547-49C7-8136-01BFB4BBEE1E}"
17+
EndProject
18+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "2 - Business", "2 - Business", "{E9839BEC-B050-43E9-8EFD-34659CC92D93}"
19+
EndProject
20+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebApi", "src\WebApi\WebApi.csproj", "{5CD7A689-5ADB-4207-972E-6FA881AF1B1C}"
21+
EndProject
22+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Domain", "src\Domain\Domain.csproj", "{A5CAD112-C1E6-442B-BE0E-37C697030636}"
23+
EndProject
24+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Infrastructure.MongoDb", "src\Infrastructure.MongoDb\Infrastructure.MongoDb.csproj", "{0429A41A-2D3A-42D4-8736-5FC0F6F0FF0C}"
25+
EndProject
26+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Common.MongoDb", "src\Common.MongoDb\Common.MongoDb.csproj", "{49BF313A-4ED3-4BD2-9AEE-E44A5ED19C0C}"
27+
EndProject
28+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{3C2E7F7E-1F8E-49D1-AD56-EC60BEB5299D}"
29+
EndProject
30+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Common.AspNetCore", "src\Common.AspNetCore\Common.AspNetCore.csproj", "{F23098F5-355B-46F0-BABE-3D6E23D8EED7}"
31+
EndProject
32+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "terraform-docker", "terraform-docker", "{001CB9EB-2F7E-4288-BA9B-1E01ED43B8FF}"
33+
ProjectSection(SolutionItems) = preProject
34+
samples\terraform-docker\main.tf = samples\terraform-docker\main.tf
35+
samples\terraform-docker\outputs.tf = samples\terraform-docker\outputs.tf
36+
samples\terraform-docker\providers.tf = samples\terraform-docker\providers.tf
37+
samples\terraform-docker\README.md = samples\terraform-docker\README.md
38+
samples\terraform-docker\variables.tf = samples\terraform-docker\variables.tf
39+
EndProjectSection
40+
EndProject
41+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "scripts", "scripts", "{7F01D180-1A34-4377-B4E5-C852D8302CE7}"
42+
ProjectSection(SolutionItems) = preProject
43+
scripts\mongo-create-index.js = scripts\mongo-create-index.js
44+
EndProjectSection
45+
EndProject
46+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebApi.IntegrationTests", "test\WebApi.IntegrationTests\WebApi.IntegrationTests.csproj", "{B055FFAF-8261-43B1-866A-12E289D5D7DC}"
47+
EndProject
48+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Common.AspNetCore.WebApi", "src\Common.AspNetCore.WebApi\Common.AspNetCore.WebApi.csproj", "{19336002-C959-4E76-B112-861F93CF6423}"
49+
EndProject
50+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "1 - Framework", "1 - Framework", "{0C1E6968-B289-4378-84CF-B64E05E643A5}"
51+
EndProject
52+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "terraform-local", "terraform-local", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}"
53+
ProjectSection(SolutionItems) = preProject
54+
samples\terraform-local\main.tf = samples\terraform-local\main.tf
55+
samples\terraform-local\README.md = samples\terraform-local\README.md
56+
EndProjectSection
57+
EndProject
58+
Global
59+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
60+
Debug|Any CPU = Debug|Any CPU
61+
Release|Any CPU = Release|Any CPU
62+
EndGlobalSection
63+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
64+
{5CD7A689-5ADB-4207-972E-6FA881AF1B1C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
65+
{5CD7A689-5ADB-4207-972E-6FA881AF1B1C}.Debug|Any CPU.Build.0 = Debug|Any CPU
66+
{5CD7A689-5ADB-4207-972E-6FA881AF1B1C}.Release|Any CPU.ActiveCfg = Release|Any CPU
67+
{5CD7A689-5ADB-4207-972E-6FA881AF1B1C}.Release|Any CPU.Build.0 = Release|Any CPU
68+
{A5CAD112-C1E6-442B-BE0E-37C697030636}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
69+
{A5CAD112-C1E6-442B-BE0E-37C697030636}.Debug|Any CPU.Build.0 = Debug|Any CPU
70+
{A5CAD112-C1E6-442B-BE0E-37C697030636}.Release|Any CPU.ActiveCfg = Release|Any CPU
71+
{A5CAD112-C1E6-442B-BE0E-37C697030636}.Release|Any CPU.Build.0 = Release|Any CPU
72+
{0429A41A-2D3A-42D4-8736-5FC0F6F0FF0C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
73+
{0429A41A-2D3A-42D4-8736-5FC0F6F0FF0C}.Debug|Any CPU.Build.0 = Debug|Any CPU
74+
{0429A41A-2D3A-42D4-8736-5FC0F6F0FF0C}.Release|Any CPU.ActiveCfg = Release|Any CPU
75+
{0429A41A-2D3A-42D4-8736-5FC0F6F0FF0C}.Release|Any CPU.Build.0 = Release|Any CPU
76+
{49BF313A-4ED3-4BD2-9AEE-E44A5ED19C0C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
77+
{49BF313A-4ED3-4BD2-9AEE-E44A5ED19C0C}.Debug|Any CPU.Build.0 = Debug|Any CPU
78+
{49BF313A-4ED3-4BD2-9AEE-E44A5ED19C0C}.Release|Any CPU.ActiveCfg = Release|Any CPU
79+
{49BF313A-4ED3-4BD2-9AEE-E44A5ED19C0C}.Release|Any CPU.Build.0 = Release|Any CPU
80+
{F23098F5-355B-46F0-BABE-3D6E23D8EED7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
81+
{F23098F5-355B-46F0-BABE-3D6E23D8EED7}.Debug|Any CPU.Build.0 = Debug|Any CPU
82+
{F23098F5-355B-46F0-BABE-3D6E23D8EED7}.Release|Any CPU.ActiveCfg = Release|Any CPU
83+
{F23098F5-355B-46F0-BABE-3D6E23D8EED7}.Release|Any CPU.Build.0 = Release|Any CPU
84+
{B055FFAF-8261-43B1-866A-12E289D5D7DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
85+
{B055FFAF-8261-43B1-866A-12E289D5D7DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
86+
{B055FFAF-8261-43B1-866A-12E289D5D7DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
87+
{B055FFAF-8261-43B1-866A-12E289D5D7DC}.Release|Any CPU.Build.0 = Release|Any CPU
88+
{19336002-C959-4E76-B112-861F93CF6423}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
89+
{19336002-C959-4E76-B112-861F93CF6423}.Debug|Any CPU.Build.0 = Debug|Any CPU
90+
{19336002-C959-4E76-B112-861F93CF6423}.Release|Any CPU.ActiveCfg = Release|Any CPU
91+
{19336002-C959-4E76-B112-861F93CF6423}.Release|Any CPU.Build.0 = Release|Any CPU
92+
EndGlobalSection
93+
GlobalSection(SolutionProperties) = preSolution
94+
HideSolutionNode = FALSE
95+
EndGlobalSection
96+
GlobalSection(NestedProjects) = preSolution
97+
{5CD7A689-5ADB-4207-972E-6FA881AF1B1C} = {6D13F54F-4547-49C7-8136-01BFB4BBEE1E}
98+
{A5CAD112-C1E6-442B-BE0E-37C697030636} = {E9839BEC-B050-43E9-8EFD-34659CC92D93}
99+
{0429A41A-2D3A-42D4-8736-5FC0F6F0FF0C} = {E9839BEC-B050-43E9-8EFD-34659CC92D93}
100+
{49BF313A-4ED3-4BD2-9AEE-E44A5ED19C0C} = {0C1E6968-B289-4378-84CF-B64E05E643A5}
101+
{3C2E7F7E-1F8E-49D1-AD56-EC60BEB5299D} = {7B3738E0-6F86-4358-B55C-5AAD42B24F81}
102+
{F23098F5-355B-46F0-BABE-3D6E23D8EED7} = {0C1E6968-B289-4378-84CF-B64E05E643A5}
103+
{001CB9EB-2F7E-4288-BA9B-1E01ED43B8FF} = {3C2E7F7E-1F8E-49D1-AD56-EC60BEB5299D}
104+
{7F01D180-1A34-4377-B4E5-C852D8302CE7} = {7B3738E0-6F86-4358-B55C-5AAD42B24F81}
105+
{B055FFAF-8261-43B1-866A-12E289D5D7DC} = {6D13F54F-4547-49C7-8136-01BFB4BBEE1E}
106+
{19336002-C959-4E76-B112-861F93CF6423} = {0C1E6968-B289-4378-84CF-B64E05E643A5}
107+
{02EA681E-C7D8-13C7-8484-4AC65E1B71E8} = {3C2E7F7E-1F8E-49D1-AD56-EC60BEB5299D}
108+
EndGlobalSection
109+
GlobalSection(ExtensibilityGlobals) = postSolution
110+
SolutionGuid = {DC545534-6A10-475B-A0DA-3374CC025D82}
111+
EndGlobalSection
112+
EndGlobal

0 commit comments

Comments
 (0)