diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 00000000..ec9fdc41
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,12 @@
+# directories
+**/bin/
+**/obj/
+**/out/
+
+# files
+Dockerfile*
+**/*.trx
+**/*.md
+**/*.ps1
+**/*.cmd
+**/*.sh
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 29ddb293..1508df88 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -10,7 +10,7 @@ Before raising any issues, please make as much effort as you can to rule out iss
For example, if you are using a self-hosted Pact Broker instance and PactNet is failing to connect, please ensure things like the
authentication token and SSL certificate are valid.
-If you are sure that the issye is with PactNet then please raise an issue, including as many of the following details as you can:
+If you are sure that the issue is with PactNet then please raise an issue, including as many of the following details as you can:
- PactNet version
- Your operating system and version
@@ -59,22 +59,23 @@ version by executing the script in Bash (or Git Bash on Windows):
build/download-native-libs.sh
```
-Alternatively you can download a particular FFI version from the [pact-referece] releases or build your own version
+Alternatively you can download a particular FFI version from the [pact-reference] releases or build your own version
locally, and then copy the artifacts into the folders:
```
-build/
- linux/
- x86_64/
- libpact_ffi.so
- osx/
- aarch64-apple-darwin/
- libpact_ffi.dylib
- x86_64/
- libpact_ffi.dylib
- windows/
- x86_64/
- pact_ffi.dll
+├── linux
+│ ├── x86_64
+│ │ └── libpact_ffi.so
+│ └── x86_64-musl
+│ └── libpact_ffi.so
+├── osx
+│ ├── aarch64-apple-darwin
+│ │ └── libpact_ffi.dylib
+│ └── x86_64
+│ └── libpact_ffi.dylib
+└── windows
+ └── x86_64
+ └── pact_ffi.dll
```
After the native libraries are in the expected places then the solution can be built in your IDE or on the command
diff --git a/Dockerfile.alpine b/Dockerfile.alpine
new file mode 100644
index 00000000..010559a9
--- /dev/null
+++ b/Dockerfile.alpine
@@ -0,0 +1,8 @@
+FROM mcr.microsoft.com/dotnet/sdk:8.0-alpine
+WORKDIR /home/app
+
+COPY packages packages
+COPY samples samples
+
+RUN dotnet test samples/OrdersApi/Consumer.Tests/Consumer.Tests.csproj
+RUN dotnet test samples/OrdersApi/Provider.Tests/Provider.Tests.csproj
diff --git a/Dockerfile.debian b/Dockerfile.debian
new file mode 100644
index 00000000..6081c53a
--- /dev/null
+++ b/Dockerfile.debian
@@ -0,0 +1,10 @@
+FROM mcr.microsoft.com/dotnet/sdk:8.0-bookworm-slim
+WORKDIR /home/app
+
+RUN apt-get update && apt-get install tree
+
+COPY packages packages
+COPY samples samples
+
+RUN dotnet test samples/OrdersApi/Consumer.Tests/Consumer.Tests.csproj
+RUN dotnet test samples/OrdersApi/Provider.Tests/Provider.Tests.csproj
diff --git a/PactNet.sln b/PactNet.sln
index 5f02ca21..502d268a 100644
--- a/PactNet.sln
+++ b/PactNet.sln
@@ -1,177 +1,252 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 17
-VisualStudioVersion = 17.0.32014.148
-MinimumVisualStudioVersion = 15.0.26124.0
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{547DB478-460A-428F-9371-1D653CE85DB5}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OrdersApi", "OrdersApi", "{6663C12E-9912-40D0-9310-D119D1F6B023}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Consumer", "samples\OrdersApi\Consumer\Consumer.csproj", "{1B9BAF2F-906B-4358-A1EF-AC79F7966B75}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Consumer.Tests", "samples\OrdersApi\Consumer.Tests\Consumer.Tests.csproj", "{0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{CF67D7A1-AE96-420B-9971-65E535B903E8}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PactNet.Abstractions", "src\PactNet.Abstractions\PactNet.Abstractions.csproj", "{C16C70CE-B79E-4108-B94E-2F90CCC9327A}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PactNet", "src\PactNet\PactNet.csproj", "{39945550-12C5-4E3A-9EB7-4CE9BE769E7D}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{A117BBC6-60BB-4282-BF10-E616DE0AFAD0}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PactNet.Abstractions.Tests", "tests\PactNet.Abstractions.Tests\PactNet.Abstractions.Tests.csproj", "{38A651CF-3EBC-4F77-8EE3-F768E926FD9A}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PactNet.Tests", "tests\PactNet.Tests\PactNet.Tests.csproj", "{B8C8934E-9581-46D6-A728-BC5EAB9C06DD}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Provider", "samples\OrdersApi\Provider\Provider.csproj", "{5E915D66-917B-4730-B31A-C9727C196346}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Provider.Tests", "samples\OrdersApi\Provider.Tests\Provider.Tests.csproj", "{D8B75E48-6E45-468B-8049-B73823C14CB8}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{E2C86290-F39C-4854-A7D2-D6C44CB1C65F}"
- ProjectSection(SolutionItems) = preProject
- .editorconfig = .editorconfig
- build\download-native-libs.sh = build\download-native-libs.sh
- src\NuGet.targets = src\NuGet.targets
- README.md = README.md
- EndProjectSection
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PactNet.Output.Xunit", "src\PactNet.Output.Xunit\PactNet.Output.Xunit.csproj", "{02E265A1-A7A2-4106-8F6A-5027FDC3FC50}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Debug|x64 = Debug|x64
- Debug|x86 = Debug|x86
- Release|Any CPU = Release|Any CPU
- Release|x64 = Release|x64
- Release|x86 = Release|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Debug|x64.ActiveCfg = Debug|Any CPU
- {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Debug|x64.Build.0 = Debug|Any CPU
- {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Debug|x86.ActiveCfg = Debug|Any CPU
- {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Debug|x86.Build.0 = Debug|Any CPU
- {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Release|Any CPU.Build.0 = Release|Any CPU
- {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Release|x64.ActiveCfg = Release|Any CPU
- {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Release|x64.Build.0 = Release|Any CPU
- {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Release|x86.ActiveCfg = Release|Any CPU
- {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Release|x86.Build.0 = Release|Any CPU
- {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Debug|x64.ActiveCfg = Debug|Any CPU
- {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Debug|x64.Build.0 = Debug|Any CPU
- {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Debug|x86.ActiveCfg = Debug|Any CPU
- {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Debug|x86.Build.0 = Debug|Any CPU
- {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Release|Any CPU.Build.0 = Release|Any CPU
- {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Release|x64.ActiveCfg = Release|Any CPU
- {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Release|x64.Build.0 = Release|Any CPU
- {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Release|x86.ActiveCfg = Release|Any CPU
- {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Release|x86.Build.0 = Release|Any CPU
- {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Debug|x64.ActiveCfg = Debug|Any CPU
- {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Debug|x64.Build.0 = Debug|Any CPU
- {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Debug|x86.ActiveCfg = Debug|Any CPU
- {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Debug|x86.Build.0 = Debug|Any CPU
- {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Release|Any CPU.Build.0 = Release|Any CPU
- {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Release|x64.ActiveCfg = Release|Any CPU
- {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Release|x64.Build.0 = Release|Any CPU
- {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Release|x86.ActiveCfg = Release|Any CPU
- {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Release|x86.Build.0 = Release|Any CPU
- {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Debug|x64.ActiveCfg = Debug|Any CPU
- {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Debug|x64.Build.0 = Debug|Any CPU
- {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Debug|x86.ActiveCfg = Debug|Any CPU
- {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Debug|x86.Build.0 = Debug|Any CPU
- {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Release|Any CPU.Build.0 = Release|Any CPU
- {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Release|x64.ActiveCfg = Release|Any CPU
- {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Release|x64.Build.0 = Release|Any CPU
- {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Release|x86.ActiveCfg = Release|Any CPU
- {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Release|x86.Build.0 = Release|Any CPU
- {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Debug|x64.ActiveCfg = Debug|Any CPU
- {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Debug|x64.Build.0 = Debug|Any CPU
- {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Debug|x86.ActiveCfg = Debug|Any CPU
- {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Debug|x86.Build.0 = Debug|Any CPU
- {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Release|Any CPU.Build.0 = Release|Any CPU
- {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Release|x64.ActiveCfg = Release|Any CPU
- {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Release|x64.Build.0 = Release|Any CPU
- {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Release|x86.ActiveCfg = Release|Any CPU
- {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Release|x86.Build.0 = Release|Any CPU
- {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Debug|x64.ActiveCfg = Debug|Any CPU
- {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Debug|x64.Build.0 = Debug|Any CPU
- {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Debug|x86.ActiveCfg = Debug|Any CPU
- {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Debug|x86.Build.0 = Debug|Any CPU
- {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Release|Any CPU.Build.0 = Release|Any CPU
- {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Release|x64.ActiveCfg = Release|Any CPU
- {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Release|x64.Build.0 = Release|Any CPU
- {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Release|x86.ActiveCfg = Release|Any CPU
- {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Release|x86.Build.0 = Release|Any CPU
- {5E915D66-917B-4730-B31A-C9727C196346}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {5E915D66-917B-4730-B31A-C9727C196346}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {5E915D66-917B-4730-B31A-C9727C196346}.Debug|x64.ActiveCfg = Debug|Any CPU
- {5E915D66-917B-4730-B31A-C9727C196346}.Debug|x64.Build.0 = Debug|Any CPU
- {5E915D66-917B-4730-B31A-C9727C196346}.Debug|x86.ActiveCfg = Debug|Any CPU
- {5E915D66-917B-4730-B31A-C9727C196346}.Debug|x86.Build.0 = Debug|Any CPU
- {5E915D66-917B-4730-B31A-C9727C196346}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {5E915D66-917B-4730-B31A-C9727C196346}.Release|Any CPU.Build.0 = Release|Any CPU
- {5E915D66-917B-4730-B31A-C9727C196346}.Release|x64.ActiveCfg = Release|Any CPU
- {5E915D66-917B-4730-B31A-C9727C196346}.Release|x64.Build.0 = Release|Any CPU
- {5E915D66-917B-4730-B31A-C9727C196346}.Release|x86.ActiveCfg = Release|Any CPU
- {5E915D66-917B-4730-B31A-C9727C196346}.Release|x86.Build.0 = Release|Any CPU
- {D8B75E48-6E45-468B-8049-B73823C14CB8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D8B75E48-6E45-468B-8049-B73823C14CB8}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D8B75E48-6E45-468B-8049-B73823C14CB8}.Debug|x64.ActiveCfg = Debug|Any CPU
- {D8B75E48-6E45-468B-8049-B73823C14CB8}.Debug|x64.Build.0 = Debug|Any CPU
- {D8B75E48-6E45-468B-8049-B73823C14CB8}.Debug|x86.ActiveCfg = Debug|Any CPU
- {D8B75E48-6E45-468B-8049-B73823C14CB8}.Debug|x86.Build.0 = Debug|Any CPU
- {D8B75E48-6E45-468B-8049-B73823C14CB8}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D8B75E48-6E45-468B-8049-B73823C14CB8}.Release|Any CPU.Build.0 = Release|Any CPU
- {D8B75E48-6E45-468B-8049-B73823C14CB8}.Release|x64.ActiveCfg = Release|Any CPU
- {D8B75E48-6E45-468B-8049-B73823C14CB8}.Release|x64.Build.0 = Release|Any CPU
- {D8B75E48-6E45-468B-8049-B73823C14CB8}.Release|x86.ActiveCfg = Release|Any CPU
- {D8B75E48-6E45-468B-8049-B73823C14CB8}.Release|x86.Build.0 = Release|Any CPU
- {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Debug|x64.ActiveCfg = Debug|Any CPU
- {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Debug|x64.Build.0 = Debug|Any CPU
- {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Debug|x86.ActiveCfg = Debug|Any CPU
- {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Debug|x86.Build.0 = Debug|Any CPU
- {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Release|Any CPU.Build.0 = Release|Any CPU
- {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Release|x64.ActiveCfg = Release|Any CPU
- {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Release|x64.Build.0 = Release|Any CPU
- {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Release|x86.ActiveCfg = Release|Any CPU
- {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Release|x86.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {6663C12E-9912-40D0-9310-D119D1F6B023} = {547DB478-460A-428F-9371-1D653CE85DB5}
- {1B9BAF2F-906B-4358-A1EF-AC79F7966B75} = {6663C12E-9912-40D0-9310-D119D1F6B023}
- {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0} = {6663C12E-9912-40D0-9310-D119D1F6B023}
- {C16C70CE-B79E-4108-B94E-2F90CCC9327A} = {CF67D7A1-AE96-420B-9971-65E535B903E8}
- {39945550-12C5-4E3A-9EB7-4CE9BE769E7D} = {CF67D7A1-AE96-420B-9971-65E535B903E8}
- {38A651CF-3EBC-4F77-8EE3-F768E926FD9A} = {A117BBC6-60BB-4282-BF10-E616DE0AFAD0}
- {B8C8934E-9581-46D6-A728-BC5EAB9C06DD} = {A117BBC6-60BB-4282-BF10-E616DE0AFAD0}
- {5E915D66-917B-4730-B31A-C9727C196346} = {6663C12E-9912-40D0-9310-D119D1F6B023}
- {D8B75E48-6E45-468B-8049-B73823C14CB8} = {6663C12E-9912-40D0-9310-D119D1F6B023}
- {02E265A1-A7A2-4106-8F6A-5027FDC3FC50} = {CF67D7A1-AE96-420B-9971-65E535B903E8}
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {C2CBC30C-92D4-4E3A-A5B8-1E5D4E938DFC}
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.32014.148
+MinimumVisualStudioVersion = 15.0.26124.0
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{547DB478-460A-428F-9371-1D653CE85DB5}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OrdersApi", "OrdersApi", "{6663C12E-9912-40D0-9310-D119D1F6B023}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Consumer", "samples\OrdersApi\Consumer\Consumer.csproj", "{1B9BAF2F-906B-4358-A1EF-AC79F7966B75}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Consumer.Tests", "samples\OrdersApi\Consumer.Tests\Consumer.Tests.csproj", "{0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{CF67D7A1-AE96-420B-9971-65E535B903E8}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PactNet.Abstractions", "src\PactNet.Abstractions\PactNet.Abstractions.csproj", "{C16C70CE-B79E-4108-B94E-2F90CCC9327A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PactNet", "src\PactNet\PactNet.csproj", "{39945550-12C5-4E3A-9EB7-4CE9BE769E7D}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{A117BBC6-60BB-4282-BF10-E616DE0AFAD0}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PactNet.Abstractions.Tests", "tests\PactNet.Abstractions.Tests\PactNet.Abstractions.Tests.csproj", "{38A651CF-3EBC-4F77-8EE3-F768E926FD9A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PactNet.Tests", "tests\PactNet.Tests\PactNet.Tests.csproj", "{B8C8934E-9581-46D6-A728-BC5EAB9C06DD}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Provider", "samples\OrdersApi\Provider\Provider.csproj", "{5E915D66-917B-4730-B31A-C9727C196346}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Provider.Tests", "samples\OrdersApi\Provider.Tests\Provider.Tests.csproj", "{D8B75E48-6E45-468B-8049-B73823C14CB8}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{E2C86290-F39C-4854-A7D2-D6C44CB1C65F}"
+ ProjectSection(SolutionItems) = preProject
+ .editorconfig = .editorconfig
+ build\download-native-libs.sh = build\download-native-libs.sh
+ src\NuGet.targets = src\NuGet.targets
+ README.md = README.md
+ EndProjectSection
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PactNet.Output.Xunit", "src\PactNet.Output.Xunit\PactNet.Output.Xunit.csproj", "{02E265A1-A7A2-4106-8F6A-5027FDC3FC50}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PactNet.runtime.linux-musl-x64", "src\PactNet.runtime.linux-musl-x64\PactNet.runtime.linux-musl-x64.csproj", "{9A621758-0649-4DCE-8310-6CC569CC4A22}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PactNet.runtime.linux-x64", "src\PactNet.runtime.linux-x64\PactNet.runtime.linux-x64.csproj", "{149DE198-7CE3-4BFA-AF41-11E910F7A6BC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PactNet.runtime.osx-arm64", "src\PactNet.runtime.osx-arm64\PactNet.runtime.osx-arm64.csproj", "{DA952D87-AB77-4B0D-8A14-3049ADC29457}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PactNet.runtime.osx-x64", "src\PactNet.runtime.osx-x64\PactNet.runtime.osx-x64.csproj", "{437664E9-415A-4E23-ACDC-1A1256C04397}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PactNet.runtime.win-x64", "src\PactNet.runtime.win-x64\PactNet.runtime.win-x64.csproj", "{C33E2414-985B-4195-ABAC-BDBBFD4B4D54}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|Any CPU = Release|Any CPU
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Debug|x64.Build.0 = Debug|Any CPU
+ {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Debug|x86.Build.0 = Debug|Any CPU
+ {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Release|x64.ActiveCfg = Release|Any CPU
+ {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Release|x64.Build.0 = Release|Any CPU
+ {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Release|x86.ActiveCfg = Release|Any CPU
+ {1B9BAF2F-906B-4358-A1EF-AC79F7966B75}.Release|x86.Build.0 = Release|Any CPU
+ {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Debug|x64.Build.0 = Debug|Any CPU
+ {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Debug|x86.Build.0 = Debug|Any CPU
+ {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Release|x64.ActiveCfg = Release|Any CPU
+ {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Release|x64.Build.0 = Release|Any CPU
+ {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Release|x86.ActiveCfg = Release|Any CPU
+ {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0}.Release|x86.Build.0 = Release|Any CPU
+ {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Debug|x64.Build.0 = Debug|Any CPU
+ {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Debug|x86.Build.0 = Debug|Any CPU
+ {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Release|x64.ActiveCfg = Release|Any CPU
+ {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Release|x64.Build.0 = Release|Any CPU
+ {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Release|x86.ActiveCfg = Release|Any CPU
+ {C16C70CE-B79E-4108-B94E-2F90CCC9327A}.Release|x86.Build.0 = Release|Any CPU
+ {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Debug|x64.Build.0 = Debug|Any CPU
+ {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Debug|x86.Build.0 = Debug|Any CPU
+ {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Release|x64.ActiveCfg = Release|Any CPU
+ {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Release|x64.Build.0 = Release|Any CPU
+ {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Release|x86.ActiveCfg = Release|Any CPU
+ {39945550-12C5-4E3A-9EB7-4CE9BE769E7D}.Release|x86.Build.0 = Release|Any CPU
+ {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Debug|x64.Build.0 = Debug|Any CPU
+ {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Debug|x86.Build.0 = Debug|Any CPU
+ {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Release|x64.ActiveCfg = Release|Any CPU
+ {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Release|x64.Build.0 = Release|Any CPU
+ {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Release|x86.ActiveCfg = Release|Any CPU
+ {38A651CF-3EBC-4F77-8EE3-F768E926FD9A}.Release|x86.Build.0 = Release|Any CPU
+ {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Debug|x64.Build.0 = Debug|Any CPU
+ {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Debug|x86.Build.0 = Debug|Any CPU
+ {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Release|x64.ActiveCfg = Release|Any CPU
+ {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Release|x64.Build.0 = Release|Any CPU
+ {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Release|x86.ActiveCfg = Release|Any CPU
+ {B8C8934E-9581-46D6-A728-BC5EAB9C06DD}.Release|x86.Build.0 = Release|Any CPU
+ {5E915D66-917B-4730-B31A-C9727C196346}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5E915D66-917B-4730-B31A-C9727C196346}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5E915D66-917B-4730-B31A-C9727C196346}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {5E915D66-917B-4730-B31A-C9727C196346}.Debug|x64.Build.0 = Debug|Any CPU
+ {5E915D66-917B-4730-B31A-C9727C196346}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {5E915D66-917B-4730-B31A-C9727C196346}.Debug|x86.Build.0 = Debug|Any CPU
+ {5E915D66-917B-4730-B31A-C9727C196346}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5E915D66-917B-4730-B31A-C9727C196346}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5E915D66-917B-4730-B31A-C9727C196346}.Release|x64.ActiveCfg = Release|Any CPU
+ {5E915D66-917B-4730-B31A-C9727C196346}.Release|x64.Build.0 = Release|Any CPU
+ {5E915D66-917B-4730-B31A-C9727C196346}.Release|x86.ActiveCfg = Release|Any CPU
+ {5E915D66-917B-4730-B31A-C9727C196346}.Release|x86.Build.0 = Release|Any CPU
+ {D8B75E48-6E45-468B-8049-B73823C14CB8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D8B75E48-6E45-468B-8049-B73823C14CB8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D8B75E48-6E45-468B-8049-B73823C14CB8}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {D8B75E48-6E45-468B-8049-B73823C14CB8}.Debug|x64.Build.0 = Debug|Any CPU
+ {D8B75E48-6E45-468B-8049-B73823C14CB8}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {D8B75E48-6E45-468B-8049-B73823C14CB8}.Debug|x86.Build.0 = Debug|Any CPU
+ {D8B75E48-6E45-468B-8049-B73823C14CB8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D8B75E48-6E45-468B-8049-B73823C14CB8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D8B75E48-6E45-468B-8049-B73823C14CB8}.Release|x64.ActiveCfg = Release|Any CPU
+ {D8B75E48-6E45-468B-8049-B73823C14CB8}.Release|x64.Build.0 = Release|Any CPU
+ {D8B75E48-6E45-468B-8049-B73823C14CB8}.Release|x86.ActiveCfg = Release|Any CPU
+ {D8B75E48-6E45-468B-8049-B73823C14CB8}.Release|x86.Build.0 = Release|Any CPU
+ {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Debug|x64.Build.0 = Debug|Any CPU
+ {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Debug|x86.Build.0 = Debug|Any CPU
+ {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Release|Any CPU.Build.0 = Release|Any CPU
+ {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Release|x64.ActiveCfg = Release|Any CPU
+ {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Release|x64.Build.0 = Release|Any CPU
+ {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Release|x86.ActiveCfg = Release|Any CPU
+ {02E265A1-A7A2-4106-8F6A-5027FDC3FC50}.Release|x86.Build.0 = Release|Any CPU
+ {9A621758-0649-4DCE-8310-6CC569CC4A22}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9A621758-0649-4DCE-8310-6CC569CC4A22}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9A621758-0649-4DCE-8310-6CC569CC4A22}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {9A621758-0649-4DCE-8310-6CC569CC4A22}.Debug|x64.Build.0 = Debug|Any CPU
+ {9A621758-0649-4DCE-8310-6CC569CC4A22}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {9A621758-0649-4DCE-8310-6CC569CC4A22}.Debug|x86.Build.0 = Debug|Any CPU
+ {9A621758-0649-4DCE-8310-6CC569CC4A22}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9A621758-0649-4DCE-8310-6CC569CC4A22}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9A621758-0649-4DCE-8310-6CC569CC4A22}.Release|x64.ActiveCfg = Release|Any CPU
+ {9A621758-0649-4DCE-8310-6CC569CC4A22}.Release|x64.Build.0 = Release|Any CPU
+ {9A621758-0649-4DCE-8310-6CC569CC4A22}.Release|x86.ActiveCfg = Release|Any CPU
+ {9A621758-0649-4DCE-8310-6CC569CC4A22}.Release|x86.Build.0 = Release|Any CPU
+ {149DE198-7CE3-4BFA-AF41-11E910F7A6BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {149DE198-7CE3-4BFA-AF41-11E910F7A6BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {149DE198-7CE3-4BFA-AF41-11E910F7A6BC}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {149DE198-7CE3-4BFA-AF41-11E910F7A6BC}.Debug|x64.Build.0 = Debug|Any CPU
+ {149DE198-7CE3-4BFA-AF41-11E910F7A6BC}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {149DE198-7CE3-4BFA-AF41-11E910F7A6BC}.Debug|x86.Build.0 = Debug|Any CPU
+ {149DE198-7CE3-4BFA-AF41-11E910F7A6BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {149DE198-7CE3-4BFA-AF41-11E910F7A6BC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {149DE198-7CE3-4BFA-AF41-11E910F7A6BC}.Release|x64.ActiveCfg = Release|Any CPU
+ {149DE198-7CE3-4BFA-AF41-11E910F7A6BC}.Release|x64.Build.0 = Release|Any CPU
+ {149DE198-7CE3-4BFA-AF41-11E910F7A6BC}.Release|x86.ActiveCfg = Release|Any CPU
+ {149DE198-7CE3-4BFA-AF41-11E910F7A6BC}.Release|x86.Build.0 = Release|Any CPU
+ {DA952D87-AB77-4B0D-8A14-3049ADC29457}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DA952D87-AB77-4B0D-8A14-3049ADC29457}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DA952D87-AB77-4B0D-8A14-3049ADC29457}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {DA952D87-AB77-4B0D-8A14-3049ADC29457}.Debug|x64.Build.0 = Debug|Any CPU
+ {DA952D87-AB77-4B0D-8A14-3049ADC29457}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {DA952D87-AB77-4B0D-8A14-3049ADC29457}.Debug|x86.Build.0 = Debug|Any CPU
+ {DA952D87-AB77-4B0D-8A14-3049ADC29457}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DA952D87-AB77-4B0D-8A14-3049ADC29457}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DA952D87-AB77-4B0D-8A14-3049ADC29457}.Release|x64.ActiveCfg = Release|Any CPU
+ {DA952D87-AB77-4B0D-8A14-3049ADC29457}.Release|x64.Build.0 = Release|Any CPU
+ {DA952D87-AB77-4B0D-8A14-3049ADC29457}.Release|x86.ActiveCfg = Release|Any CPU
+ {DA952D87-AB77-4B0D-8A14-3049ADC29457}.Release|x86.Build.0 = Release|Any CPU
+ {437664E9-415A-4E23-ACDC-1A1256C04397}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {437664E9-415A-4E23-ACDC-1A1256C04397}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {437664E9-415A-4E23-ACDC-1A1256C04397}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {437664E9-415A-4E23-ACDC-1A1256C04397}.Debug|x64.Build.0 = Debug|Any CPU
+ {437664E9-415A-4E23-ACDC-1A1256C04397}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {437664E9-415A-4E23-ACDC-1A1256C04397}.Debug|x86.Build.0 = Debug|Any CPU
+ {437664E9-415A-4E23-ACDC-1A1256C04397}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {437664E9-415A-4E23-ACDC-1A1256C04397}.Release|Any CPU.Build.0 = Release|Any CPU
+ {437664E9-415A-4E23-ACDC-1A1256C04397}.Release|x64.ActiveCfg = Release|Any CPU
+ {437664E9-415A-4E23-ACDC-1A1256C04397}.Release|x64.Build.0 = Release|Any CPU
+ {437664E9-415A-4E23-ACDC-1A1256C04397}.Release|x86.ActiveCfg = Release|Any CPU
+ {437664E9-415A-4E23-ACDC-1A1256C04397}.Release|x86.Build.0 = Release|Any CPU
+ {C33E2414-985B-4195-ABAC-BDBBFD4B4D54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C33E2414-985B-4195-ABAC-BDBBFD4B4D54}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C33E2414-985B-4195-ABAC-BDBBFD4B4D54}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {C33E2414-985B-4195-ABAC-BDBBFD4B4D54}.Debug|x64.Build.0 = Debug|Any CPU
+ {C33E2414-985B-4195-ABAC-BDBBFD4B4D54}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {C33E2414-985B-4195-ABAC-BDBBFD4B4D54}.Debug|x86.Build.0 = Debug|Any CPU
+ {C33E2414-985B-4195-ABAC-BDBBFD4B4D54}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C33E2414-985B-4195-ABAC-BDBBFD4B4D54}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C33E2414-985B-4195-ABAC-BDBBFD4B4D54}.Release|x64.ActiveCfg = Release|Any CPU
+ {C33E2414-985B-4195-ABAC-BDBBFD4B4D54}.Release|x64.Build.0 = Release|Any CPU
+ {C33E2414-985B-4195-ABAC-BDBBFD4B4D54}.Release|x86.ActiveCfg = Release|Any CPU
+ {C33E2414-985B-4195-ABAC-BDBBFD4B4D54}.Release|x86.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {6663C12E-9912-40D0-9310-D119D1F6B023} = {547DB478-460A-428F-9371-1D653CE85DB5}
+ {1B9BAF2F-906B-4358-A1EF-AC79F7966B75} = {6663C12E-9912-40D0-9310-D119D1F6B023}
+ {0A442FF6-4B8D-4E7E-8FE7-F7F37EB034B0} = {6663C12E-9912-40D0-9310-D119D1F6B023}
+ {C16C70CE-B79E-4108-B94E-2F90CCC9327A} = {CF67D7A1-AE96-420B-9971-65E535B903E8}
+ {39945550-12C5-4E3A-9EB7-4CE9BE769E7D} = {CF67D7A1-AE96-420B-9971-65E535B903E8}
+ {38A651CF-3EBC-4F77-8EE3-F768E926FD9A} = {A117BBC6-60BB-4282-BF10-E616DE0AFAD0}
+ {B8C8934E-9581-46D6-A728-BC5EAB9C06DD} = {A117BBC6-60BB-4282-BF10-E616DE0AFAD0}
+ {5E915D66-917B-4730-B31A-C9727C196346} = {6663C12E-9912-40D0-9310-D119D1F6B023}
+ {D8B75E48-6E45-468B-8049-B73823C14CB8} = {6663C12E-9912-40D0-9310-D119D1F6B023}
+ {02E265A1-A7A2-4106-8F6A-5027FDC3FC50} = {CF67D7A1-AE96-420B-9971-65E535B903E8}
+ {9A621758-0649-4DCE-8310-6CC569CC4A22} = {CF67D7A1-AE96-420B-9971-65E535B903E8}
+ {149DE198-7CE3-4BFA-AF41-11E910F7A6BC} = {CF67D7A1-AE96-420B-9971-65E535B903E8}
+ {DA952D87-AB77-4B0D-8A14-3049ADC29457} = {CF67D7A1-AE96-420B-9971-65E535B903E8}
+ {437664E9-415A-4E23-ACDC-1A1256C04397} = {CF67D7A1-AE96-420B-9971-65E535B903E8}
+ {C33E2414-985B-4195-ABAC-BDBBFD4B4D54} = {CF67D7A1-AE96-420B-9971-65E535B903E8}
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {C2CBC30C-92D4-4E3A-A5B8-1E5D4E938DFC}
+ EndGlobalSection
+EndGlobal
diff --git a/build/download-native-libs.sh b/build/download-native-libs.sh
index f09c28c6..af74523e 100755
--- a/build/download-native-libs.sh
+++ b/build/download-native-libs.sh
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
set -euo pipefail
-FFI_VERSION="0.4.16"
+FFI_VERSION="0.4.19"
FFI_BASE_URL="https://github.com/pact-foundation/pact-reference/releases/download/libpact_ffi-v$FFI_VERSION"
GREEN="\e[32m"
@@ -42,10 +42,10 @@ download_native() {
if [[ "$OSTYPE" == "darwin"* ]]; then
# OSX requires an empty arg passed to -i, but this doesn't work on Lin/Win
- sed -Ei '' "s|../release_artifacts/.+$|$path/$dest_file|" "$path/$dest_file.sha256"
+ sed -Ei '' "s|\s+.+$|\ *$path/$dest_file|" "$path/$dest_file.sha256"
shasum -a 256 --check --quiet "$path/$dest_file.sha256"
else
- sed -Ei "s|../release_artifacts/.+$|$path/$dest_file|" "$path/$dest_file.sha256"
+ sed -Ei "s|\s+.+$|\ *$path/$dest_file|" "$path/$dest_file.sha256"
sha256sum --check --quiet "$path/$dest_file.sha256"
fi
@@ -60,5 +60,6 @@ download_native() {
download_native "pact_ffi" "windows" "x86_64" "dll"
download_native "libpact_ffi" "linux" "x86_64" "so"
+download_native "libpact_ffi" "linux" "x86_64-musl" "so"
download_native "libpact_ffi" "osx" "x86_64" "dylib"
download_native "libpact_ffi" "osx" "aarch64-apple-darwin" "dylib"
diff --git a/pack.sh b/pack.sh
new file mode 100755
index 00000000..b4e1b25e
--- /dev/null
+++ b/pack.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+
+dotnet pack src/PactNet.Output.Xunit
+dotnet pack src/PactNet.Abstractions
+dotnet pack src/PactNet.runtime.linux-musl-x64
+dotnet pack src/PactNet.runtime.linux-x64
+dotnet pack src/PactNet.runtime.osx-arm64
+dotnet pack src/PactNet.runtime.osx-x64
+dotnet pack src/PactNet.runtime.win-x64
+dotnet pack src/PactNet
diff --git a/samples/OrdersApi/Consumer.Tests/Consumer.Tests.csproj b/samples/OrdersApi/Consumer.Tests/Consumer.Tests.csproj
index a88109dd..f408b1de 100644
--- a/samples/OrdersApi/Consumer.Tests/Consumer.Tests.csproj
+++ b/samples/OrdersApi/Consumer.Tests/Consumer.Tests.csproj
@@ -2,6 +2,7 @@
net8.0
false
+ ../../../packages
@@ -12,10 +13,10 @@
all
runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
-
-
diff --git a/samples/OrdersApi/Provider.Tests/Provider.Tests.csproj b/samples/OrdersApi/Provider.Tests/Provider.Tests.csproj
index 1517e0f4..14388ed1 100644
--- a/samples/OrdersApi/Provider.Tests/Provider.Tests.csproj
+++ b/samples/OrdersApi/Provider.Tests/Provider.Tests.csproj
@@ -2,6 +2,7 @@
net8.0
false
+ ../../../packages
@@ -11,11 +12,11 @@
all
runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
-
-
diff --git a/src/NuGet.targets b/src/NuGet.targets
index 03437512..43d7c854 100644
--- a/src/NuGet.targets
+++ b/src/NuGet.targets
@@ -14,17 +14,10 @@
true
true
snupkg
- 5.0.0
+ 5.1.0
- v5.0.0
- - BREAKING CHANGE: Remove obsolete WithNativeBackend calls
- - BREAKING CHANGE: Remove obsolete IMessagePact and MessagePact
- - BREAKING CHANGE: Refactor verifier to support verifying combined HTTP and message pacts
- - BREAKING CHANGE: Replace Newtonsoft with System.Text.Json
- - BREAKING CHANGE: Minimum supported .Net Framework version is now 4.6.2 instead of 4.6.1
- - feat: Add Pact Specification v4 support
- - feat: MacOS ARM64 target is now fully supported
- - feat: More efficient and robust messaging interaction verification
+ v5.1.0
+ - feat: Add linux-musl-x64 runtime support
diff --git a/src/PactNet.Abstractions/PactNet.Abstractions.csproj b/src/PactNet.Abstractions/PactNet.Abstractions.csproj
index 8baeb749..b8b33d32 100644
--- a/src/PactNet.Abstractions/PactNet.Abstractions.csproj
+++ b/src/PactNet.Abstractions/PactNet.Abstractions.csproj
@@ -6,6 +6,7 @@
CS1591;NU5105
Library
PactNet
+ ../../packages
diff --git a/src/PactNet.Output.Xunit/PactNet.Output.Xunit.csproj b/src/PactNet.Output.Xunit/PactNet.Output.Xunit.csproj
index 0013771c..6c0b76f2 100644
--- a/src/PactNet.Output.Xunit/PactNet.Output.Xunit.csproj
+++ b/src/PactNet.Output.Xunit/PactNet.Output.Xunit.csproj
@@ -6,6 +6,7 @@
true
CS1591;NU5105
Library
+ ../../packages
diff --git a/src/PactNet.runtime.linux-musl-x64/PactNet.runtime.linux-musl-x64.csproj b/src/PactNet.runtime.linux-musl-x64/PactNet.runtime.linux-musl-x64.csproj
new file mode 100644
index 00000000..2168ba5c
--- /dev/null
+++ b/src/PactNet.runtime.linux-musl-x64/PactNet.runtime.linux-musl-x64.csproj
@@ -0,0 +1,21 @@
+
+
+
+ Library
+ netstandard2.0
+ linux-musl-x64
+ PactNet.runtime.linux-musl-x64
+ 0.4.19
+ native
+ ../../packages
+ false
+
+
+
+
+ runtimes/linux-musl-x64/native
+ true
+ PreserveNewest
+
+
+
diff --git a/src/PactNet.runtime.linux-x64/PactNet.runtime.linux-x64.csproj b/src/PactNet.runtime.linux-x64/PactNet.runtime.linux-x64.csproj
new file mode 100644
index 00000000..5513b3f9
--- /dev/null
+++ b/src/PactNet.runtime.linux-x64/PactNet.runtime.linux-x64.csproj
@@ -0,0 +1,21 @@
+
+
+
+ Library
+ netstandard2.0
+ linux-x64
+ PactNet.runtime.linux-x64
+ 0.4.19
+ native
+ ../../packages
+ false
+
+
+
+
+ runtimes/linux-x64/native
+ true
+ PreserveNewest
+
+
+
diff --git a/src/PactNet.runtime.osx-arm64/PactNet.runtime.osx-arm64.csproj b/src/PactNet.runtime.osx-arm64/PactNet.runtime.osx-arm64.csproj
new file mode 100644
index 00000000..85b60652
--- /dev/null
+++ b/src/PactNet.runtime.osx-arm64/PactNet.runtime.osx-arm64.csproj
@@ -0,0 +1,21 @@
+
+
+
+ Library
+ netstandard2.0
+ osx-arm64
+ PactNet.runtime.osx-arm64
+ 0.4.19
+ native
+ ../../packages
+ false
+
+
+
+
+ runtimes/osx-arm64/native
+ true
+ PreserveNewest
+
+
+
diff --git a/src/PactNet.runtime.osx-x64/PactNet.runtime.osx-x64.csproj b/src/PactNet.runtime.osx-x64/PactNet.runtime.osx-x64.csproj
new file mode 100644
index 00000000..50293716
--- /dev/null
+++ b/src/PactNet.runtime.osx-x64/PactNet.runtime.osx-x64.csproj
@@ -0,0 +1,21 @@
+
+
+
+ Library
+ netstandard2.0
+ osx-x64
+ PactNet.runtime.osx-x64
+ 0.4.19
+ native
+ ../../packages
+ false
+
+
+
+
+ runtimes/osx-x64/native
+ true
+ PreserveNewest
+
+
+
diff --git a/src/PactNet.runtime.win-x64/PactNet.runtime.win-x64.csproj b/src/PactNet.runtime.win-x64/PactNet.runtime.win-x64.csproj
new file mode 100644
index 00000000..b92c6354
--- /dev/null
+++ b/src/PactNet.runtime.win-x64/PactNet.runtime.win-x64.csproj
@@ -0,0 +1,21 @@
+
+
+
+ Library
+ netstandard2.0
+ win-x64
+ PactNet.runtime.win-x64
+ 0.4.19
+ native
+ ../../packages
+ false
+
+
+
+
+ runtimes/win-x64/native
+ true
+ PreserveNewest
+
+
+
diff --git a/src/PactNet/PactNet.csproj b/src/PactNet/PactNet.csproj
index 9085de5d..378c2a5b 100644
--- a/src/PactNet/PactNet.csproj
+++ b/src/PactNet/PactNet.csproj
@@ -6,50 +6,24 @@
true
NU5105
Library
+ ../../packages
+ ../../packages
-
- False
- False
- False
- False
- True
- True
- True
- True
-
-
-
- pact_ffi.dll
- runtimes/win-x64/native
- true
- PreserveNewest
- false
-
-
- libpact_ffi.so
- runtimes/linux-x64/native
- true
- PreserveNewest
- false
-
-
- libpact_ffi.dylib
- runtimes/osx-x64/native
- true
- PreserveNewest
- false
-
-
- libpact_ffi.dylib
- runtimes/osx-arm64/native
- true
- PreserveNewest
- false
-
+
+
+
+
+
+
+
+
+
+
+