Saltar al contenido

¿De dónde viene el error CS0433 “El tipo ‘X’ ya existe tanto en A.dll como en B.dll”?

Esta crónica fue probado por nuestros expertos para que tengas la seguridad de la exactitud de nuestro tutorial.

Teoría

Cuando este problema es no causado por un error en la aplicación (por ejemplo, nombre de clase duplicado):

Este problema parece presentarse después de que se realiza un cambio en el proyecto de la aplicación que da como resultado una nueva compilación (por ejemplo, cambio de código/referencia/recurso). El problema parece residir en el resultado de esta nueva compilación: por varias razones, Visual Studio no está reemplazando el completo contenido de las carpetas obj/bin de su aplicación. Esto da como resultado que al menos parte del contenido de la carpeta bin de su aplicación esté desactualizado.

Cuando ocurre dicho problema, borrar la carpeta “Archivos temporales de ASP.NET”, por sí solo, no resuelve el problema. No puede resolver el problema, porque el contenido obsoleto de la carpeta bin de su aplicación se vuelve a copiar en la carpeta “Archivos ASP.NET temporales” la próxima vez que se accede a su aplicación, lo que hace que el problema persista. El key es eliminar todos los archivos existentes y obligar a Visual Studio a reconstruir cada objeto, de modo que la próxima vez que se acceda a su aplicación, los nuevos archivos bin se copiarán en la carpeta “Archivos temporales de ASP.NET”.

Solución

  1. Cerrar Visual Studio
  2. Realizar un iisreset
  3. Elimine todas las carpetas y archivos dentro de la carpeta “Archivos ASP.NET temporales” (la ruta se menciona en el mensaje de error)
  4. Elimine las carpetas “obj” y “bin” de la aplicación infractora
  5. Reinicie Visual Studio y abra la solución
  6. Realice una “Solución limpia” seguida de una “Solución de reconstrucción”

Explicación

  • Pasos 1-2: elimine los bloqueos de recursos de las carpetas/archivos que necesitamos eliminar.
  • Pasos 3-4: elimine todos los archivos de compilación antiguos
  • Pasos 5-6: cree nuevas versiones de los archivos de compilación

Apague w3svc y elimine todo de c:WindowsMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NET Filesroot

adicional

  • en Windows 7

    c:UsersusernameAppDataLocalTempTemporary ASP.NET Filesroot

  • sobre Servidores IIS (64 bits) esto también puede ocurrir. Buscar:

    C:WindowsMicrosoft.NETFramework64v4.0.30319Temporary ASP.NET Filesroot

    (reemplace v4.0.30319 por la versión del marco que está usando si es más nueva en su servidor)

Esto podría suceder si coloca archivos .cs en App_Code y cambia su acción de compilación para compilar en un proyecto de aplicación web.

Tenga la acción de compilación para los archivos .cs en App_Code como Contenido o cambie el nombre de App_Code a otra cosa. Cambié el nombre porque intellisense no reparará los archivos .cs marcados como contenido.

Más información en http://vishaljoshi.blogspot.se/2009/07/appcode-folder-doesnt-work-with-web.html

Te mostramos comentarios y calificaciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *