2008-08-07 13 views
15

Estoy desarrollando una aplicación de Sharepoint y uso de la biblioteca .NET AjaxControlToolkit, estamos añadiendo una página aspx personalizada a la Sharepoint. Sharepoint 2007 se ejecuta en modo peculiar, así que realicé algunas modificaciones en la biblioteca AJAX para que se comporte como debería. El problema es que el otro equipo ya usa la biblioteca AJAX y es una versión diferente de la mía. Esto causa conflicto porque podría haber solo un dll en la carpeta bin con el mismo nombre.cómo hacer referencia al ensamblaje de múltiples versiones

Por lo que sé, .NET debe ser capaz de manejar esta situación con facilidad. He intentado usar un nombre fuerte y GAC para resolverlo, pero todavía se refiere a la DLL en la carpeta bin. Si no hay AjaxControlToolkit.dll en la carpeta bin, la aplicación simplemente no podrá cargar el ensamblado.

Si utilizo información de montaje completo en mi como esto

<%@ 
    Register 
    tagprefix="AjaxControlToolkit" 
    namespace="AjaxControlToolkit" 
    assembly="AjaxControlToolkit, Version=1.0.299.18064, 
    PublicKeyToken=12345678abcdefgh, 
    Culture=neutral" 
%> 

Me da error del compilador CS0433

Puede alguien ayudarme sobre el uso de múltiples versiones de montaje en una aplicación?

+0

¿Utiliza la versión diferentes asambleas en el mismo control? ¿O es el mismo proyecto pero con controles diferentes? – Machinegon

Respuesta

3

Bueno, el enlace para Compiler Error CS0433 deja bastante claro que el problema central no está en las múltiples versiones del ensamblaje al que se hace referencia, sino con los conflictos de espacio de nombres + tipo de letra.

Cuando se carga hacia arriba/hacer referencia a un tipo - el compilador no puede resolver lo que DLL para cargar ese tipo de. Si Sharepoint va a cargar sus dos versiones de DLL (como usted dice que necesita), este error siempre aparecerá.

solución más sencilla sería la de modificar los espacios de nombres en el nuevo archivo DLL, ya que tiene sus ajustes personalizados, y controlar el código - marcarlo claramente también.

Cuestiones relacionadas