One of my current project is the conversion of data types from version 3 to version 4 of a shared library. The data model has been modified in many ways that break the API (lots of Shared.Type.DumbName
to Shared.Type.SmartName
changes, for instance), so the conversion process will not be a simple one-to-one mapping.
To do this conversion, I'm referencing version 3 in version 4 of the library and using extern aliases to resolve the relevant types. I've setup a test project that references both versions of the library with the requisite binding redirects). The test project appears to function correctly, but I get the following warnings during the build:
No way to resolve conflict between "Shared, Version=4.0.0.0, Culture=neutral, PublicKeyToken=[token]" and "Shared, Version=3.6.8.0, Culture=neutral, PublicKeyToken=[token]". Choosing "Shared, Version=4.0.0.0, Culture=neutral, PublicKeyToken=" arbitrarily. C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets 1360
And
Found conflicts between different versions of the same dependent assembly. C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets 1360
Can these warnings be safely ignored?
Its best practice to fix the warnings ,Warnings cannot be ignore all the time. these warnings are related to versioning and framework, Please make sure you refere same version of dlls in all projects.