visual studio sistema referencias referencia references quitar puede pudo pudieron proyectos proyecto para obtener net especificada entre encuentra encontrar dependencias como asp agregar asp.net webforms .net-4.0 nuget gac

asp.net - sistema - visual studio no encuentra referencia



Error "Identidad equivalente de System.Runtime" de ASP.NET Web Forms en Windows 10 con.NET 4.0 de.NET 4.0 (0)

Tengo una aplicación Webforms VB.NET/ASP.NET que utiliza la API de Gmail. Originalmente apuntaba a 4.5.2 y todo funcionó bien. Las especificaciones cambiaron y ahora debe ejecutarse en un servidor con .NET 4.0 instalado. Cuando reorienté el proyecto comencé a recibir el siguiente error:

Se han importado varios ensamblados con identidad equivalente: ''C: / WINDOWS / Microsoft.Net / assembly / GAC_MSIL / System.Runtime / v4.0_4.0.0.0__b03f5f7f11d50a3a / System.Runtime.dll'' y ''C: / Users / User / AppData / Local / Temp / Archivos ASP.NET temporales / root / a17744b0 / bc5d4def / assembly / dl3 / 8947372f / 000e8a3c_c74bd001 / System.Runtime.dll ''. Eliminar una de las referencias duplicadas.

Después de muchas horas investigando y depurando, he reducido el problema pero no puedo resolverlo. En resumen, la API de Gmail requiere el uso de los operadores Async y Await que no son compatibles con 4.0. Para permitir el uso de estas características, al instalar el paquete NuGet API de Gmail, también instala los paquetes Microsoft.Bcl, Microsoft.Bcl.Build y Microsoft.Bcl.Async y una referencia de System.Runtime para el web.config:

<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" /> </dependentAssembly>

Creo que el GAC System.Runtime está en conflicto con el que importó el paquete Microsoft.Bcl NuGet. Comprobé el número de versión del dll instalado y coincide con la referencia en el web.config. Desafortunadamente, también parece coincidir con el que está en el GAC, lo que da como resultado el error anterior.

Cuando elimino la referencia de web.config, obtengo:

BC31091: Falló la importación del tipo ''AsyncTaskMethodBuilder (Of)'' desde el ensamblado o el módulo ''App_Code.cq-gmlla.dll''.

en el siguiente código:

Private Async Function GetService() As Task(Of GmailService)

Además, no puedo encontrar dónde se hace referencia a GAC ​​System.runtime dll (a menos que sea <add assembly="*" /> en la raíz del framework web.config), pero cuando elimino temporalmente el archivo System.Runtime.dll del GAC No obtengo el error de identidad equivalente. Sin embargo, obtengo el siguiente error de compilación sin mensaje adicional:

El compilador falló con el código de error -532462766.

Parece que 4.0 ya no es compatible y los paquetes de destino no están disponibles para VS 2015, por lo que puede ser relevante, pero no estoy seguro.

4.0 Soporte finalizado

No encontré ningún artículo específicamente sobre mi problema, en cambio, artículos similares y generales sobre montaje, NuGet y cuestiones de referencia y, por lo tanto, me abstengo de vincularlos, ya que realmente no añaden mucho a mi pregunta.

He alcanzado los límites de lo que sé sobre el GAC y las Asambleas, por lo que cualquier ayuda sería muy apreciada.