I have created an extension to a package (AutoFixture), which implements one of its interfaces, ICustomization. I published the NuGet package with a compiled binary that references version 3.16 of AutoFixture.
When used in a project that holds a reference to version 3.18 of AutoFixture, the class that implements the ICustomization interface cannot be used. The compilation error given is that MyCustomization is not assignable to ICustomization.
By downloading and compiling the source to my extension, updating the AutoFixture reference, and including it in the new project, the compiler error goes away.
I would have thought with only a minor version increment (maintaining backwards compatibility) this would not have been an issue.
Why does my NuGet package only work with this version of AutoFixture, and is it possible to release a binary under NuGet that will work with all minor version increments (ie those that don't break backwards compatibility)?