WireMock-Net / WireMock.Net

WireMock.Net is a flexible product for stubbing and mocking web HTTP responses using advanced request matching and response templating. Based on the functionality from http://WireMock.org, but extended with more functionality.
Apache License 2.0
1.35k stars 197 forks source link

Compilation Error due to 'MessageOptions' Type Conflict between 'Google.Protobuf' and 'WireMock.Net' #1083

Open iamzhaoxu opened 3 months ago

iamzhaoxu commented 3 months ago

Describe the bug

During the compilation of my project, an error arises because of a type conflict involving 'MessageOptions' originating from two distinct libraries: 'Google.Protobuf' and 'protobuf-net.Reflection'.

The project references both 'WireMock.Net' and 'Google.Protobuf'. Upon updating both libraries to version 1.5.49 for 'WireMock.Net' and version 3.25.3 for 'Google.Protobuf', this compilation error surfaces. The conflict emerges as 'WireMock.Net' starts utilizing 'protobuf-net.Reflection', thereby resulting in the existence of the 'MessageOptions' class within the same namespace in both libraries.

Expected behavior:

Compilation should proceed without errors, ensuring the successful build of the project.

Test to reproduce

Ensure project references 'WireMock.Net' and 'Google.Protobuf'. Update 'WireMock.Net' to version 1.5.49 and 'Google.Protobuf' to version 3.25.3. Attempt to compile the project. Encounter the error message due to the type conflict with 'MessageOptions'. Screenshot 2024-03-11 110549

StefH commented 3 months ago

@iamzhaoxu

Can you please provide an example project?

Because I cannot reproduce this problem. I also have a unit test project which uses both:

StefH commented 3 months ago

@iamzhaoxu Can you please provide an example project ?

StefH commented 1 month ago

@iamzhaoxu Can you please provide an example project which shows this issue?

iamzhaoxu commented 1 month ago

@StefH I'm sorry for not getting back to you sooner. I forgot this thread. The sample code below can trigger the issue ConsoleApp1.zip Once you build the solution, you will see the error.

Also, I asked the same question in this thread as well and this is for your reference https://github.com/protobuf-net/protobuf-net/issues/1137