visual versiones studio que pudieron mismo microsoft entre ensamblado encontraron diferentes dependiente csharp conflictos code visual-studio xamarin json.net

visual-studio - studio - se encontraron conflictos entre diferentes versiones del mismo ensamblado dependiente



Conflictos encontrados entre diferentes versiones del mismo ensamblaje dependiente que no se pudieron resolver error (4)

Conflictos encontrados entre diferentes versiones del mismo ensamblaje dependiente que no se pudieron resolver. Estos conflictos de referencia se enumeran en el registro de compilación cuando la verbosidad del registro se establece en detalle.

Sucedió después de importar Newtonsoft.Json a mi proyecto App.Core (Portable).

Después de mirar en el resultado:

Hubo un conflicto entre "Microsoft.CSharp, Versión = 2.0.5.0, Cultura = neutral, PublicKeyToken = b03f5f7f11d50a3a" y "Microsoft.CSharp, Versión = 4.0.0.0, Cultura = neutral, PublicKeyToken = b03f5f7f11d50a3a". (TaskId: 90) 2> "Microsoft.CSharp, Versión = 2.0.5.0, Cultura = neutral, PublicKeyToken = b03f5f7f11d50a3a" se eligió porque era primario y "Microsoft.CSharp, Versión = 4.0.0.0, Cultura = neutral, PublicKeyToken = b03f5f7f11d50a3a "no fue. (TaskId: 90)

¿Qué necesito hacer ahora?


El problema es el Newtonsoft.Json NuGet, después de que baje su versión, la advertencia simplemente se va.

Probablemente un problema de complemento con Windows 10.


Newtonsoft.Json se basa en una versión más nueva del ensamblado Microsoft.CSharp de la que hace referencia su proyecto. Puede eliminar la referencia a la biblioteca anterior y agregar la más reciente. El más nuevo puede estar en su directorio de paquetes para su solución, o puede obtener el paquete NuGet. En mi caso, la única referencia que dependía de la versión anterior de la biblioteca de CSharp era ella misma, por lo que no hubo daño al hacer esto.


Solucioné este problema al degradar mi versión de Newtonsoft.Json a la versión 8.0.3, que era la versión más reciente que no causaba este error en la compilación. Sin embargo, no estoy seguro de por qué esta fue la solución.


Pude arreglar esto agregando el paquete Microsoft.CSharp NuGet a mi proyecto. Anteriormente, solo tenía una referencia al ensamblado Microsoft.CSharp bajo las referencias del proyecto, pero no estaba usando NuGet para instalarlo. Después de usar NuGet, el mensaje en mi servidor de compilación VSTS desapareció.