lunes, 27 de julio de 2015

Interminable error Could not load file or assembly en una solución de granja de SharePoint 2013

Este error nunca terminaba y se alternaba de dlls referenciados indicando diferentes versiones que no eran las referenciadas, por más que lo reinstale, borre el cache de asp.net, reinicie el IIS no terminaba, hasta que encontré el único consejo que en mi caso si me sirvió, el cual es el siguiente:

Copia el DLL del problema o bien todos los que hace referencia tu solución, en mi caso eran dos al directorio bin de la carpeta debug del proyecto de SharePoint y con ello el problema si desaparece.

En mi caso los DLL´s que tenia referenciados eran:

Aspose.words.dll y AjaxControlToolKit.dll.

Y esto es porque el directorio bin tiene precedencia del GAC en la aplicación Web siempre y cuando no se especifique la versión. 

Una de las ventajas de copiar el DLL en el directorio bin de la aplicación Web que se va utilizar es que no tiene que reiniciar el servidor y el riesgo se reduce porque solo afecta la aplicación Web que le interesa.  Esto también puede ser una desventaja si existen varias Aplicaciones Web que utilizan el mismo DLL.

Más información en: http://www.hanselman.com/blog/BINDeployingASPNETMVC3WithRazorToAWindowsServerWithoutMVCInstalled.aspx

Así que amigos mi recomendación es copien los DLL en el directorio Bin de la Aplicación Web que necesitan y afecten el servidor lo menos posible, tomen en cuenta que si el dll es utilizado en otras aplicaciones Web deberán actualizarlas también allí, pero esto es mejor a mi parecer que utilizar el GAC ya que este debe de actualizarse el cache reiniciando el IIS y algunas veces hasta el servidor mismo.

Code4Fun!,

Juan Manuel Herrera Ocheita

No hay comentarios.: