Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
d99dba9
Initial version
GillesTourreau Aug 19, 2024
9cd8b09
Dump MSBuildExtensionsPath
GillesTourreau Aug 19, 2024
cee04be
Dump MSBuild files
GillesTourreau Aug 19, 2024
e6b6df0
Add MSBuild task
GillesTourreau Aug 19, 2024
a38de44
Build with MSBuild
GillesTourreau Aug 19, 2024
9786329
Restore NuGet
GillesTourreau Aug 19, 2024
c2b6676
Move the NuGet package to .csproj instead of root of tests folder.
GillesTourreau Aug 19, 2024
d3ce679
Use VSTest to execute the tests.
GillesTourreau Aug 19, 2024
eaafcf8
Fix vstest action
GillesTourreau Aug 19, 2024
5445282
Fix vstest version
GillesTourreau Aug 19, 2024
cd17dbf
Fix name vstest action
GillesTourreau Aug 19, 2024
a542373
Fix the files to test.
GillesTourreau Aug 19, 2024
1f5a682
Set ./
GillesTourreau Aug 19, 2024
b9b7014
Test search folder
GillesTourreau Aug 19, 2024
dba7f73
Change outdir
GillesTourreau Aug 19, 2024
dc54248
Change OutDir to BaseOutputPath
GillesTourreau Aug 19, 2024
bf277f5
Fix search folder
GillesTourreau Aug 19, 2024
4c19ef0
Fix vstest action
GillesTourreau Aug 20, 2024
0434508
Fix VsTest
GillesTourreau Aug 20, 2024
e8212ab
Add the support of Entity Framework context in the initializer.
GillesTourreau Aug 20, 2024
0d26954
Remove SqlServer unit tests.
GillesTourreau Aug 20, 2024
fedbd59
Add the SqlServer.Master property.
GillesTourreau Aug 20, 2024
0429803
Add an extension method AsAdministrator().
GillesTourreau Aug 20, 2024
4520222
Add various XML documentation.
GillesTourreau Aug 20, 2024
84ef4fc
The Initialize() method for DbContext does not need connection string.
GillesTourreau Aug 20, 2024
bf0cb70
Reduce the dependency library of EF SQL Server to 8.0.0
GillesTourreau Aug 20, 2024
2d998e0
Change the collection unit tests to avoid parallelism.
GillesTourreau Aug 20, 2024
7efef4e
Fix the initializer with DbContext to use admin rights.
GillesTourreau Aug 20, 2024
8f6ff02
Remove the concept of AsAdministrator().
GillesTourreau Aug 20, 2024
5b0b030
Fix files name.
GillesTourreau Aug 20, 2024
52f15d3
Deleting not used login/user in the DacPac SQL project.
GillesTourreau Aug 21, 2024
fad3195
Add first version of comparer.
GillesTourreau Aug 21, 2024
4a9242e
Remove unique constraints in the index comparer.
GillesTourreau Aug 21, 2024
d70011d
Fix T-SQL code comparison.
GillesTourreau Aug 21, 2024
bf568e7
Fix build previously failed.
GillesTourreau Aug 21, 2024
37e8c8c
Fix the foreign key unique constraint DataTable
GillesTourreau Aug 21, 2024
d585249
Fix column position when the column has been deleted.
GillesTourreau Aug 21, 2024
97aa640
Fix unit tests
GillesTourreau Aug 21, 2024
b6a209e
Creates the EntityFramework package.
GillesTourreau Aug 27, 2024
1988d76
Centralize NuGet package versions.
GillesTourreau Aug 27, 2024
e0068a5
Reduce the DacFx version dependency version.
GillesTourreau Aug 27, 2024
e901379
Updates the Test.Sdk version.
GillesTourreau Aug 27, 2024
b2015b6
Fix the release pipeline
GillesTourreau Aug 27, 2024
f12e5e4
Fix the realease pipeline to build UnitTests.Databases.SqlServer.Enti…
GillesTourreau Aug 27, 2024
7d2a3ca
Add the XML comments.
GillesTourreau Aug 27, 2024
c0013e3
Improvements of the SqlDatabaseObjectDifference to use dictionary ins…
GillesTourreau Aug 27, 2024
b3b987c
Use the last version of DacFx
GillesTourreau Aug 27, 2024
62282bd
Remove deployment of the SQL Logins.
GillesTourreau Aug 27, 2024
1e11866
Add documentation
GillesTourreau Sep 2, 2024
8063468
Add the icons and NuGet description.
GillesTourreau Sep 2, 2024
1cd4f68
Builds the samples in the CI.
GillesTourreau Sep 2, 2024
396363c
Fix documentation
GillesTourreau Sep 2, 2024
f25295a
Fix the CI
GillesTourreau Sep 2, 2024
f0446a6
Fix documentation.
GillesTourreau Sep 2, 2024
ae92026
Changes the version to 1.0.0
GillesTourreau Sep 2, 2024
2c275f2
Fix documentation.
GillesTourreau Sep 2, 2024
57e50aa
Fix document and schema
GillesTourreau Sep 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[*.cs]

# StyleCop

# SA1600: Elements should be documented
dotnet_diagnostic.SA1600.severity = none

# SA1601: Partial elements should be documented
dotnet_diagnostic.SA1601.severity = none

# SA1602: Enumeration items should be documented
dotnet_diagnostic.SA1602.severity = none
49 changes: 49 additions & 0 deletions .github/workflows/github-actions-ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Continuous Integration

on:
pull_request:
branches: [ "main" ]
push:
branches: [ "releases/**" ]

jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4

- name: Setup NuGet
uses: nuget/setup-nuget@v2

- name: Restore NuGet packages
run: nuget restore PosInformatique.UnitTests.Databases.sln

- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2

- name: Build
run: msbuild "PosInformatique.UnitTests.Databases.sln" /p:Configuration=Debug

- name: Restore NuGet packages
run: nuget restore "samples/PosInformatique.UnitTests.Databases.Samples.sln"

- name: Build the samples
run: msbuild "samples/PosInformatique.UnitTests.Databases.Samples.sln" /p:Configuration=Debug

- name: Creates the LocalDB for the unit tests
shell: cmd
run: SqlLocalDB create posinfo-unit-tests

- name: Creates the SQL Login service accounts for the unit tests
shell: cmd
run: sqlcmd -S "(localDB)\posinfo-unit-tests" -Q "IF NOT EXISTS (SELECT 1 FROM [sys].[server_principals] WHERE [Name] = 'ServiceAccountLogin') CREATE LOGIN [ServiceAccountLogin] WITH PASSWORD = 'P@ssw0rd'"

# Use this fix https://github.com/microsoft/vstest-action/issues/31#issuecomment-2159463764
- name: Test with the dotnet CLI
uses: rusty-bender/vstest-action@main
with:
searchFolder: .\
testAssembly: |
/tests/**/*tests.dll
!./**/*TestAdapter.dll
!./**/obj/**
43 changes: 43 additions & 0 deletions .github/workflows/github-actions-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Release

on:
workflow_dispatch:
inputs:
VersionPrefix:
type: string
description: The version of the library
required: true
default: 1.0.0
VersionSuffix:
type: string
description: The version suffix of the library (for example rc.1)

run-name: ${{ inputs.VersionPrefix }}-${{ inputs.VersionSuffix }}

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Setup .NET 8.x
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.x'

- name: Build UnitTests.Databases.SqlServer
run: dotnet pack
--property:Configuration=Release
--property:VersionPrefix=${{ github.event.inputs.VersionPrefix }}
--property:VersionSuffix=${{ github.event.inputs.VersionSuffix }}
"src/UnitTests.Databases.SqlServer/UnitTests.Databases.SqlServer.csproj"

- name: Build UnitTests.Databases.SqlServer.EntityFramework
run: dotnet pack
--property:Configuration=Release
--property:VersionPrefix=${{ github.event.inputs.VersionPrefix }}
--property:VersionSuffix=${{ github.event.inputs.VersionSuffix }}
"src/UnitTests.Databases.SqlServer.EntityFramework/UnitTests.Databases.SqlServer.EntityFramework.csproj"

- name: Publish the package to nuget.org
run: dotnet nuget push "src/**/bin/Release/*.nupkg" --api-key "${{ secrets.NUGET_APIKEY }}" --source https://api.nuget.org/v3/index.json
51 changes: 51 additions & 0 deletions CodeCoverage.runsettings
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- File name extension must be .runsettings -->
<RunSettings>
<DataCollectionRunSettings>
<DataCollectors>
<DataCollector friendlyName="Code Coverage" uri="datacollector://Microsoft/CodeCoverage/2.0" assemblyQualifiedName="Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector, Microsoft.VisualStudio.TraceCollector, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Configuration>
<CodeCoverage>

<!-- Match assembly file paths: -->
<ModulePaths>
<Include>
<ModulePath>.*\.dll$</ModulePath>
</Include>
<Exclude>
<ModulePath>.*xunit.*</ModulePath>
<ModulePath>.*webjobs.*</ModulePath>
<ModulePath>moq.*</ModulePath>
<ModulePath>.*durabletask.*</ModulePath>
<ModulePath>microsoft.*</ModulePath>
<ModulePath>bouncycastle.*</ModulePath>
<ModulePath>.*tests\.dll$</ModulePath>
</Exclude>
</ModulePaths>

<Attributes>
<Exclude>
<!-- Exclude generated code from code coverage -->
<Attribute>^System\.CodeDom\.Compiler\.GeneratedCodeAttribute$</Attribute>
<Attribute>^System\.Diagnostics\.CodeAnalysis\.ExcludeFromCodeCoverageAttribute$</Attribute>
</Exclude>
</Attributes>

<CompanyNames>
<Include>
<CompanyName>.*PosInformatique.*</CompanyName>
</Include>
</CompanyNames>

<!-- We recommend you do not change the following values: -->
<UseVerifiableInstrumentation>True</UseVerifiableInstrumentation>
<AllowLowIntegrityProcesses>True</AllowLowIntegrityProcesses>
<CollectFromChildProcesses>True</CollectFromChildProcesses>
<CollectAspDotNet>False</CollectAspDotNet>

</CodeCoverage>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
</RunSettings>
49 changes: 49 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<Project>

<!-- Common properties -->
<PropertyGroup>
<Authors>Gilles TOURREAU</Authors>
<Company>P.O.S Informatique</Company>
<Product>P.O.S Informatique</Product>
<Copyright>Copyright (c) P.O.S Informatique. All rights reserved.</Copyright>
<RepositoryUrl>https://github.com/PosInformatique/PosInformatique.UnitTests.Databases</RepositoryUrl>
<RepositoryType>git</RepositoryType>

<!-- Enable the last version of C# -->
<LangVersion>latest</LangVersion>

<!-- Enable implict usings -->
<ImplicitUsings>enable</ImplicitUsings>

<!-- Disable the Analyzers in Release configuration -->
<RunAnalyzers Condition="'$(Configuration)' == 'Release'">false</RunAnalyzers>

<!-- Disable the StyleCop 'XML comment analysis is disabled due to project configuration' warning. -->
<NoWarn>$(NoWarn);SA0001</NoWarn>

<!-- By default prefix all the assemblies name with ChantierConnect -->
<AssemblyName>PosInformatique.$(MSBuildProjectName)</AssemblyName>
<RootNamespace>PosInformatique.$(MSBuildProjectName.Replace(" ", "_"))</RootNamespace>
</PropertyGroup>

<ItemGroup>
<AdditionalFiles Include="..\..\stylecop.json">
<Link>stylecop.json</Link>
</AdditionalFiles>
</ItemGroup>

<!-- Common NuGet packages -->
<ItemGroup>
<PackageReference Include="StyleCop.Analyzers">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>

<!-- Add the default using directive for all the code -->
<ItemGroup>
<Using Include="System" />
<Using Include="System.Threading.Tasks" />
</ItemGroup>

</Project>
17 changes: 17 additions & 0 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="coverlet.collector" Version="6.0.2" />
<PackageVersion Include="FluentAssertions" Version="6.12.0" />
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="8.0.8" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.0" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.11.0" />
<PackageVersion Include="Microsoft.SqlServer.DacFx" Version="162.3.566" />
<PackageVersion Include="PosInformatique.UnitTests.Databases.SqlServer.EntityFramework" Version="0.9.11" />
<PackageVersion Include="StyleCop.Analyzers" Version="1.2.0-beta.556" />
<PackageVersion Include="xunit" Version="2.9.0" />
<PackageVersion Include="xunit.runner.visualstudio" Version="2.8.2" />
</ItemGroup>
</Project>
111 changes: 111 additions & 0 deletions PosInformatique.UnitTests.Databases.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.10.35201.131
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{BFE7322A-DFBA-4CE1-A3D8-7EBB4CD6F586}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
.gitignore = .gitignore
CodeCoverage.runsettings = CodeCoverage.runsettings
Directory.Build.props = Directory.Build.props
Directory.Packages.props = Directory.Packages.props
LICENSE = LICENSE
README.md = README.md
stylecop.json = stylecop.json
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnitTests.Databases.SqlServer", "src\UnitTests.Databases.SqlServer\UnitTests.Databases.SqlServer.csproj", "{4CE1DA94-B254-45D3-8014-EB8055E38A01}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{1E437195-1225-443D-BD19-8796F31B1E2B}"
ProjectSection(SolutionItems) = preProject
tests\.editorconfig = tests\.editorconfig
tests\Directory.Build.props = tests\Directory.Build.props
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnitTests.Databases.SqlServer.Tests", "tests\UnitTests.Databases.SqlServer.Tests\UnitTests.Databases.SqlServer.Tests.csproj", "{C87E8F0D-D96D-4D77-9713-5564DC2E3597}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{49103176-7D08-4386-B445-76E9823503F8}"
ProjectSection(SolutionItems) = preProject
src\.editorconfig = src\.editorconfig
src\Directory.Build.props = src\Directory.Build.props
EndProjectSection
EndProject
Project("{00D1A9C2-B5F0-4AF3-8072-F6C62B433612}") = "UnitTests.Databases.SqlServer.Tests.DacPac", "tests\UnitTests.Databases.SqlServer.Tests.DacPac\UnitTests.Databases.SqlServer.Tests.DacPac.sqlproj", "{5F618225-0E1C-46A7-BBCC-23A6243D5CEE}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".github", ".github", "{91BFD2B1-6AB6-4B07-9D2E-430C93F150D4}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{F8700AE9-9613-4CFE-B870-FAD786607D53}"
ProjectSection(SolutionItems) = preProject
.github\workflows\github-actions-ci.yaml = .github\workflows\github-actions-ci.yaml
.github\workflows\github-actions-release.yml = .github\workflows\github-actions-release.yml
EndProjectSection
EndProject
Project("{00D1A9C2-B5F0-4AF3-8072-F6C62B433612}") = "UnitTests.Databases.SqlServer.Tests.Source", "tests\UnitTests.Databases.SqlServer.Tests.Source\UnitTests.Databases.SqlServer.Tests.Source.sqlproj", "{A261D4FF-9BEA-475C-8671-E9BACFDCE960}"
EndProject
Project("{00D1A9C2-B5F0-4AF3-8072-F6C62B433612}") = "UnitTests.Databases.SqlServer.Tests.Target", "tests\UnitTests.Databases.SqlServer.Tests.Target\UnitTests.Databases.SqlServer.Tests.Target.sqlproj", "{6CD3F177-053F-4816-A37E-5CA6F293D34C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnitTests.Databases.SqlServer.EntityFramework", "src\UnitTests.Databases.SqlServer.EntityFramework\UnitTests.Databases.SqlServer.EntityFramework.csproj", "{157DDF0D-9410-4646-94B9-9CEE4C140F5E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnitTests.Databases.SqlServer.EntityFramework.Tests", "tests\UnitTests.Databases.SqlServer.EntityFramework.Tests\UnitTests.Databases.SqlServer.EntityFramework.Tests.csproj", "{04A7AE8F-FE77-435B-9250-600388BB8065}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{8500A9B6-CAA0-432C-BABB-DDC86CE08994}"
ProjectSection(SolutionItems) = preProject
docs\WriteUnitTests.md = docs\WriteUnitTests.md
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4CE1DA94-B254-45D3-8014-EB8055E38A01}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4CE1DA94-B254-45D3-8014-EB8055E38A01}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4CE1DA94-B254-45D3-8014-EB8055E38A01}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4CE1DA94-B254-45D3-8014-EB8055E38A01}.Release|Any CPU.Build.0 = Release|Any CPU
{C87E8F0D-D96D-4D77-9713-5564DC2E3597}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C87E8F0D-D96D-4D77-9713-5564DC2E3597}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C87E8F0D-D96D-4D77-9713-5564DC2E3597}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C87E8F0D-D96D-4D77-9713-5564DC2E3597}.Release|Any CPU.Build.0 = Release|Any CPU
{5F618225-0E1C-46A7-BBCC-23A6243D5CEE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5F618225-0E1C-46A7-BBCC-23A6243D5CEE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5F618225-0E1C-46A7-BBCC-23A6243D5CEE}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{5F618225-0E1C-46A7-BBCC-23A6243D5CEE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5F618225-0E1C-46A7-BBCC-23A6243D5CEE}.Release|Any CPU.Build.0 = Release|Any CPU
{5F618225-0E1C-46A7-BBCC-23A6243D5CEE}.Release|Any CPU.Deploy.0 = Release|Any CPU
{A261D4FF-9BEA-475C-8671-E9BACFDCE960}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A261D4FF-9BEA-475C-8671-E9BACFDCE960}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A261D4FF-9BEA-475C-8671-E9BACFDCE960}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{A261D4FF-9BEA-475C-8671-E9BACFDCE960}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A261D4FF-9BEA-475C-8671-E9BACFDCE960}.Release|Any CPU.Build.0 = Release|Any CPU
{A261D4FF-9BEA-475C-8671-E9BACFDCE960}.Release|Any CPU.Deploy.0 = Release|Any CPU
{6CD3F177-053F-4816-A37E-5CA6F293D34C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6CD3F177-053F-4816-A37E-5CA6F293D34C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6CD3F177-053F-4816-A37E-5CA6F293D34C}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{6CD3F177-053F-4816-A37E-5CA6F293D34C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6CD3F177-053F-4816-A37E-5CA6F293D34C}.Release|Any CPU.Build.0 = Release|Any CPU
{6CD3F177-053F-4816-A37E-5CA6F293D34C}.Release|Any CPU.Deploy.0 = Release|Any CPU
{157DDF0D-9410-4646-94B9-9CEE4C140F5E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{157DDF0D-9410-4646-94B9-9CEE4C140F5E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{157DDF0D-9410-4646-94B9-9CEE4C140F5E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{157DDF0D-9410-4646-94B9-9CEE4C140F5E}.Release|Any CPU.Build.0 = Release|Any CPU
{04A7AE8F-FE77-435B-9250-600388BB8065}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{04A7AE8F-FE77-435B-9250-600388BB8065}.Debug|Any CPU.Build.0 = Debug|Any CPU
{04A7AE8F-FE77-435B-9250-600388BB8065}.Release|Any CPU.ActiveCfg = Release|Any CPU
{04A7AE8F-FE77-435B-9250-600388BB8065}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{1E437195-1225-443D-BD19-8796F31B1E2B} = {BFE7322A-DFBA-4CE1-A3D8-7EBB4CD6F586}
{49103176-7D08-4386-B445-76E9823503F8} = {BFE7322A-DFBA-4CE1-A3D8-7EBB4CD6F586}
{91BFD2B1-6AB6-4B07-9D2E-430C93F150D4} = {BFE7322A-DFBA-4CE1-A3D8-7EBB4CD6F586}
{F8700AE9-9613-4CFE-B870-FAD786607D53} = {91BFD2B1-6AB6-4B07-9D2E-430C93F150D4}
{8500A9B6-CAA0-432C-BABB-DDC86CE08994} = {BFE7322A-DFBA-4CE1-A3D8-7EBB4CD6F586}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {FAC64573-D665-48A8-AC75-7B82B692EC9E}
EndGlobalSection
EndGlobal
Loading