JonPSmith / EfCore.TestSupport

Tools for helping in unit testing applications that use Entity Framework Core
https://www.thereformedprogrammer.net/new-features-for-unit-testing-your-entity-framework-core-5-code/
Other
352 stars 53 forks source link

System.IO.Pipelines #60

Closed aetaylor closed 5 months ago

aetaylor commented 5 months ago

After installing EfCore.TestSupport I started getting build warnings regarding System.IO.Pipelines:

Microsoft.Common.CurrentVersion.targets(2389,5): Warning MSB3277 : Found conflicts between different versions of "System.IO.Pipelines" that could not be resolved. There was a conflict between "System.IO.Pipelines, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" and "System.IO.Pipelines, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51". "System.IO.Pipelines, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" was chosen because it was primary and "System.IO.Pipelines, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" was not.

I have checked NuGet Package Manager and can see that EfCore.TestSupport is the only package that references System.IO.Pipelines 6

image

Do you have any suggestions how to resolve this?

JonPSmith commented 5 months ago

hI @aetaylor,

The System.IO.Pipelines isn't in the EfCore.TestSupport's .csprog, so it must from either a NuGet from EfCore.TestSupport or a other NuGet you have added to your app. I haven't has a problem with System.IO.Pipelines before, so I suspect its from your app's NuGets.

Either way you can fix this by adding System.IO.Pipelines Version="8.0.0" to your Test project. This because a NuGet will define its own NuGets as (>= minimum version), so adding a higher version will work.

aetaylor commented 5 months ago

I couldn't find any references in my app's nugets, only the indirect reference from EfCore.TestSupport.

I added the explicit reference to System.IO.Pipelines v8 to my test projects, and the problem is now resolved.

Thanks for your help.