asp.net - standard - no se puede cargar el archivo o ensamblado system threading tasks extensions
No se pudo cargar el archivo o el ensamblaje. Excepción de HRESULT: 0x80131040 (6)
Creé mi primer proyecto MVC 4 y funciona perfectamente en un servidor local. Pero cuando lo publico en la carpeta local y subo el contenido de la carpeta al servidor de alojamiento. Intento ejecutarlo y me sale este error:
No se pudo cargar el archivo o conjunto ''DotNetOpenAuth.Core, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = 2780ccd10d57b246'' o una de sus dependencias. El sistema no puede encontrar el archivo especificado. ¿Puede alguien ayudarme por favor?
Web.config:
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" />
<bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="DotNetOpenAuth.AspNet" publicKeyToken="2780ccd10d57b246" />
<bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-1.3.0.0" newVersion="1.3.0.0" />
</dependentAssembly>
</assemblyBinding>
PS El mismo proyecto en Web Forms funciona en el servidor de alojamiento.
Agregue los siguientes archivos dll a la carpeta bin:
DotNetOpenAuth.AspNet.dll
DotNetOpenAuth.Core.dll
DotNetOpenAuth.OAuth.Consumer.dll
DotNetOpenAuth.OAuth.dll
DotNetOpenAuth.OpenId.dll
DotNetOpenAuth.OpenId.RelyingParty.dll
Si no los necesita, elimine los dependentAssemblies
de la configuración llamada ''DotNetOpenAuth.Core'', etc.
Compruebe si el proyecto que tiene el error HRESULT: 0x80131040 está siendo utilizado / referenciado por cualquier proyecto. En caso afirmativo, compruebe si estos proyectos tienen .dll similar al que se hace referencia y la versión es la misma. Si no son del mismo número de versión, entonces está causando dicho error.
Finalmente encontré la respuesta !! Vaya a Referencias -> haga clic a la derecha en el archivo dll que causa el problema -> seleccione las propiedades -> verifique la versión -> haga coincidir la versión en propiedades con la configuración web
<dependentAssembly>
<assemblyIdentity name="YourDllFile" publicKeyToken="2780ccd10d57b246" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-YourDllFileVersion" newVersion="YourDllFileVersion" />
</dependentAssembly>
Prueba esto:
- Edite el archivo * .pubxml en la carpeta PublishProfiles
- establecer DeleteExistingFiles
true
- actualiza todos los paquetes de nugget, reconstruye, vuelve a publicar y listo, ¡problema resuelto!
... trabajó para mí cuando tuve el mismo problema.
Si su solución contiene dos proyectos que interactúan entre sí y ambos usan una misma referencia, Y si la versión de la referencia respectiva es diferente en ambos proyectos; Entonces también ocurrieron tales errores. Sigue actualizando todas las referencias a la última.