(Can't believe this hasn't already been asked, but I can't find a dup)
In Visual Studio with lots of projects, when I first open the solution, I sometimes get the warning Object of type "X" cannot be converted to object of type "X"
. Generally rebuilding seems to make it go away, but does anyone know what this is caused by, and how to avoid it?
UPDATE I read somewhere that deleting all your resx files and rebuilding can help. I unthinkingly tried this. Not a good idea...
This would really depend on the exact scenario (that is vague), but the most likely cause would be different assembly references / versions. Perhaps you have some "top level" code that references version "A" of a dll, and references a library which references version "B" of a similar dll; then:
SomeType foo = someObj.Foo;
would have the SomeType
(on the left) from "A", with .Foo
the SomeType
from "B". Try ensuring that all your projects are using the same version of all the assemblies you rely on.
Another scenario is the same name in different namespaces, but that is a bit of an obvious one, and I suspect the error message would make this obvious?
There are some other scenarios where types with the same names in the same namespace (but different assemblies) conflict with eachother; here "extern aliases" can help, but are a complete PITA to work with.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With