c# asp.net webforms namespaces global-asax

c# - "No se pudo cargar el tipo[Namespace].Global", lo que me causa dolor



asp.net webforms (30)

En mi aplicación .Net 2.0 Asp.net WebForms, tengo mi Global.asax que contiene el siguiente código:

<%@ Application CodeBehind="Global.asax.cs" Inherits="MyNamespace.Global" Language="C#" %>

Sin embargo cuando construyo obtengo un error que dice-

No se pudo cargar el tipo ''MyNamespace.Global''.

Esto parece deberse a que el compilador no ve el espacio de nombres MyNamespace (definido en el código detrás del archivo Global.asax.cs) en el archivo Global.asax (no se muestra en la inteligencia de R #). Esto resultó ser un hueso muy difícil de romper ... ¡cualquier ayuda será apreciada!

Nota: Global.asax y Global.asax.cs se encuentran en la misma carpeta.

Nota 2: cuando se compila desde el prompt vs con csc, compila bien


  1. Haga clic con el botón derecho en Project Solution y seleccione Batch Build.
  2. A continuación, seleccione su nombre de proyecto y limpiar y reconstruir.

Funciona bien para mí EN VS 2015. Ahora puedo usar el evento Global. Mi archivo Global.asax tiene esta línea

<%@ Application Language="C#" CodeBehind="~/App_Code/Global.asax.cs" Inherits="Global" %>

Y hago que el archivo de clase Global.asax.cs que está en la carpeta AppCode parezca

public partial class Global : HttpApplication { public Global() { // // TODO: Add constructor logic here // } }

Espero que esto sea de ayuda


¡Reinicié Visual Studio y el error desapareció!


¿Has cambiado el espacio de nombre de tu proyecto? He visto esto ocasionalmente cuando he cambiado el espacio de nombres en el cuadro de diálogo Propiedades del proyecto, pero Visual Studio no ha cambiado la declaración del namespace en los archivos de códigos existentes.


Aquí hay otro para los libros. Parece que esto sucede cuando ejecuta más de una aplicación web desde el mismo número de puerto.

Básicamente, tengo un par de ramas de las que trabajo, tengo una rama principal y una rama de etapas y una rama de versiones. Cuando cambié la rama a la rama de ensayo noté que estaba usando la misma configuración de dirección de puerto, así que opté por cambiar eso. Luego recibí otra advertencia de que esta reserva entra en conflicto con otra aplicación configurada. El servidor IIS Express es sensible al respecto y, por el motivo que sea, bloquea la configuración.

Simplemente seleccionando un tercer puerto no afectado, este problema desapareció porque luego asigna el puerto a una nueva asignación de directorio (mis ramas están ubicadas de manera diferente en el disco). Me di cuenta de esto porque traté de cambiar el nombre de tipo apuntado por Global.asax pero el nombre del tipo no se modificó incluso después de reiniciar el servidor, así que, claramente, el código que estaba cambiando no se reflejó en la implementación de IIS Express.

Por lo tanto, antes de perder demasiado tiempo con esto, intente cambiar el número de puerto de IIS que se usa actualmente para ejecutar el proyecto web.


Bueno, en mi caso VS 2017, la carga de la solución liviana estaba causando este problema. Lo deshabilité y reinicié VS, luego reconstruí mi solución y el problema desapareció.


Cambie el GUID del ensamblado. Esto solucionó muchos MUCHOS problemas, he encontrado.


Compruebe la acción de compilación de Global.asax.cs. Se debe establecer en Compilar.

En el Explorador de soluciones, haga clic con el botón derecho en Global.asax.cs y vaya a Propiedades. En el panel Propiedades, establezca la Acción de compilación (mientras no esté depurando).

Parece que VS 2008 no siempre agrega los archivos .asax (.cs) correctamente de forma predeterminada.


Convertí mi solución de VS2003 a VS2010 y tuve problemas para convertir el proyecto de la aplicación web.

Experimenté exactamente el mismo problema y ninguna de las respuestas funcionó para mí.

Lo que funcionó para mí fue:

  • Haga clic derecho en la solución y seleccione Configuration Manager
  • Miró cada una de las configuraciones en la lista desplegable ''Configuración de solución activa''.
  • Incluyó la aplicación web en la compilación marcando la casilla de verificación ''Generar''.

parece que los problemas que tuve durante la conversión eliminaron el proyecto de la aplicación web de la compilación por algún motivo.

Con suerte, esta respuesta ayuda a cualquier otra persona que tenga el mismo problema ...


Cuando encontré este problema más recientemente intenté todo lo mencionado aquí pero fue en vano. Después de arrancarme el pelo decidí intentar borrar toda la base de códigos (sí, ¡bastante desesperado!) Y luego volví a descargar todo desde mi repositorio de códigos. Después de hacer esto, todo funcionó bien una vez más.

Parece una solución extrema, pero pensé que la incluiría aquí, ya que no se ha mencionado antes en este hilo.

(Tenga en cuenta que la otra vez que me he encontrado con este problema, es cuando Global.asax heredaba un componente que debía registrarse en el equipo host. Esto faltaba, por lo tanto, recibí este mismo problema).

TL; DR; Si todas las respuestas en este hilo no funcionan para usted, intente eliminar y luego volver a descargar todo su código base.


En mi caso, agregué Global.asax a un proyecto de WCF para experimentar con él, pero decidí eliminarlo. Lo eliminé del Explorador de soluciones, pero como todavía estaba en la carpeta, la canalización todavía lo encontró y causó este error.

Eliminé Global.ASAX y GLobal.asax.cs del sistema de archivos y eso resolvió el error.


En mi caso, estaba relacionado con el tipo de sitio web / aplicación web del proyecto. Recientemente nos mudamos a MVC y tuvimos que cambiarlo a la Aplicación web.

Entonces, la solución fue simple: seleccione su sitio web en Solution Explorer y elimínelo de la solución, luego haga clic con el botón derecho en la solución y seleccione Agregar -> Proyecto existente ( no sitio web ), vuelva a compilar el sitio web.


En mi caso, fue debido a mi procesador de destino (x64) lo cambié a x86, limpié el proyecto, reinicié VS (2012) y reconstruí el proyecto; luego se fue.


Estaba confundido por el mismo maldito problema. Traté de eliminar and the global.asax (cerré VS2010 antes de agregar). Limpió el proyecto / solución, revisó si había cambios en la configuración de la aplicación web y otros productos que habían funcionado para otras personas aquí en SO hilos. Finalmente limpié la solución, borré las carpetas bin / obj y detuve cualquier servidor de desarrollo VS2010 en ejecución, luego revertí todos los cambios y encontré que la aplicación se estaba ejecutando nuevamente. Rehice las mismas cosas y ahora está funcionando bien.

Sucedió de nuevo y esta vez this solución funcionó para mí.


Este trabajo para mí: Lo primero: parece que no importa lo que le digas a Visual Studio, el ide siempre mira el archivo en: bin (para la aplicación web y fuera del curso en mi caso) Entonces, incluso cuando dije en el estudio visual una ruta específica para cargar el archivo, el ide sigue buscando el camino equivocado. Así que cambio en: Build / Configuration Manager el tipo de salida a: Release (anterior, limpio la solución, incluso manualmente) así que, cuando se creó el archivo .dll, me moví manualmente a la carpeta "bin" en el proyecto / solución carpeta. Espero que esto sea útil !!


Experimenté este problema cuando accidentalmente configuré "Chrome" para ser el navegador predeterminado para la depuración. Cuando lo configuré nuevamente en "IE" el problema desapareció. No estoy seguro por qué...

EDITAR: estaba a punto de eliminar esta respuesta, porque no estaba seguro, pero luego volví a tener el problema. Cambié a navegar con Chrome, luego volví a IE y se detuvo. ¿¡Lo que da!?


Experimenté un error similar al tener un

<clear/>

etiqueta como un niño (el primer niño) de la

<assemblies>

etiqueta en mi Web.config . Inserté las etiquetas en mi web.config en un intento de evitar la herencia de configuración en una aplicación desplegada en el ''Sitio web predeterminado'' en IIS.


Intenté reconstruir la solución y borrar los archivos temporales de ASP.NET sin éxito.
Pero después de ejecutar IISRESET el error desapareció.

Actualización : tuve el mismo problema nuevamente 1 mes después. Me di cuenta de que MyWebsite.DLL existe en la carpeta bin, pero no existe en los archivos temporales de ASP.NET (C: / Windows / Microsoft.NET / Framework64 / v4.0.30319 / Archivos temporales de ASP.NET). He intentado algunas cosas que se sugieren en esto y "Mensaje de error del analizador: no se pudo cargar el tipo" en las preguntas de Global.asax (de hecho, me olvidé de mi propia respuesta), pero el error desapareció nuevamente solo después de IISRESET


Me he encontrado con este problema varias veces y en cada caso estaba reconstruyendo una computadora o cambiando a una nueva computadora. Mi primer paso (además de actualizar la máquina e instalar Visual Studio) es extraer mis proyectos de Git y probarlos.

Llegué a este error cada vez porque intenté acceder a mi código local antes de compilarlo. Verán, tengo la configuración de Git y Subversion para ignorar mis carpetas bin / build, así que después de un tirón de mi repositorio olvidé ejecutar una compilación que extrae los paquetes requeridos de Nuget (ya que Git / SVN también los ignoran) y crea el DLL necesarios para realmente ejecutar mi aplicación.

Dudo que esto resuelva los problemas de la mayoría de la gente, pero no lo vi en la lista de posibles soluciones, así que pensé en agregarlo.


Ninguno de estos funcionó para mí, desafortunadamente. La solución que encontré fue más específica para el desarrollo, específicamente, la depuración en su máquina local. También desafortunadamente, realmente no soluciona el problema de la manera que esperaba, pero si estás al final de tu mente, esto podría hacerte correr nuevamente.

TL; DR: en las propiedades del proyecto, en la pestaña web, en Servidores, seleccione Usar servidor web IIS local. La dirección,

http://localhost/MyApp"

ya estaba lleno (tengo IIS7, .NET 4.0). Lo que se seleccionó originalmente fue el "Usar Visual Studio Development Server" con una ruta virtual de "/"

Lo que realmente me desconcierta es el hecho de que nada más funcionó, revisé todas las sugerencias que pude encontrar en SO, y nada funcionaría. Lo extraño es que el error fue (aparentemente, han pasado unos meses desde la última vez que lo busqué) manifestado cuando agregué un nuevo archivo ascx que era similar a uno existente que se agregó de un antiguo proyecto de .NET 2.0 (creo) eso permitiría la administración de usuarios personalizados desde dentro de la aplicación. Estuvo funcionando, bellamente, durante mucho tiempo, hasta que intenté agregar este nuevo archivo. Después de agregarlo y de ver el error, revertí todos los cambios de inmediato, pero el error Global.ascx no desapareció, ni siquiera eliminó todo el proyecto y volvió a obtener lo último del control de código fuente.


Publicación anterior pero aparece este error al intentar convertir un proyecto de sitio web a un proyecto de aplicación web.

Sigue las instrucciones en este Link . Todavía obtuve el error global.asax pero todo lo que hice fue eliminarlo y volver a agregarlo haciendo clic derecho en el proyecto en Visual Studio y seleccionando agregar nuevo elemento. Agregue el archivo global.asax y funcionó.


Si está utilizando Visual Studio, probablemente esté intentando ejecutar la aplicación en el modo de lanzamiento, intente cambiarlo al modo de depuración.


Si reconstruyes o cambias un proyecto y pasas los archivos de uno antiguo, asegúrate de marcar el bloque Heredar de tu global. En mi caso, el proyecto / solución anterior se llamaba intranet, y lo había recreado como Intranet, pero cuando me movía sobre los archivos, no me gustaba la letra minúscula (duh). Solo haga un repaso general de los nombres de los archivos.


Solo quería agregar mis dos centavos. Recibí el mismo error e intenté todas las sugerencias sin éxito. Mi situación es probablemente diferente?

Resulta que un archivo autogenerado "AssemblyInfo.cs" tenía algunos espacios extraños, lo que me impedía iniciar la aplicación web (a través de la depuración). Así es como se veía el archivo:

[assembly: AssemblyTitle("WebApplication2")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany(" ")] [assembly: AssemblyProduct("WebApplication2")] [assembly: AssemblyCopyright("Copyright © 2017")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")]

Después de matar los espacios en AssemblyCompany y AssemblyCopyright, finalmente pude construir e iniciar el proyecto.

Observado en el siguiente entorno: --Visual Studio 2017 Community versión 15.3.0 - Win 7 x64 Enterprise --Nuevo proyecto> Visual C #> Web> Aplicación web ASP.NET> Web Forms


Soy nuevo en el desarrollo de aspnet y me enfrenté al problema similar.

Actualicé la clase como una clase partial y funcionó bien.

public partial class Global : System.Web.HttpApplication


Tuve este problema al implementar solo en el servidor de prod. En mis otros entornos funciona ... Acabo de eliminar cosas en la carpeta bin y luego republicar y funciona después de eso.


Tuve que eliminar (duplicar) archivos del disco que no estaban incluidos en el proyecto. Parece que los duplicados fueron causados ​​por un cambio de nombre fallido. Los nombres de los archivos eran diferentes, pero el mismo código.

Después de eliminar todos los archivos oof. *, Pude escanear.

  • foo.aspx
  • foo.aspx.cs
  • foo.aspx.designer.cs
  • oof.aspx
  • oof.aspx.cs
  • oof.aspx.designer.cs

Tuve un problema similar cuando recibía este error en un proyecto.

“Could not load type [Namespace].Global Error in Line 1 etc etc

Después de pasar algo de tiempo, sospecho que hay una función con posibles errores en una Clase. Después de comentar esa función específica, mi problema se resuelve.

No sé por qué Visual Studio no me dio ese error específico en el momento de la depuración. Pero este error puede ocurrir debido a algunos errores en el archivo de clase ...


Una situación que he encontrado que causó este problema es cuando especificas la plataforma para una compilación a través de "Build Configuration".

Si especifica x86 como su plataforma de compilación, Visual Studio asignará automáticamente bin / x86 / Debug como su directorio de salida para este proyecto. Esto es perfectamente válido para otros tipos de proyectos, excepto para las aplicaciones web donde ASP.NET espera que los ensamblados salgan a la carpeta Bin.

Lo que encontré en mi situación fue que se estaban enviando a ambos (Bin y Bin / x86 / Debug), con la excepción de que algunos de los dll e inexplicablemente el más importante era el dll de tu aplicación web, que faltaba en el Bin. carpeta.

Obviamente, esto causó un problema de compilación y, por lo tanto, la excepción "No se pudo cargar el tipo Global". La limpieza de la solución y la eliminación de los ensamblados no afectaron las compilaciones posteriores. Mi solución fue simplemente cambiar la ruta de salida en la configuración del proyecto para la aplicación web a Bin (en lugar de bin / x86 / Debug).


en mi caso, fue IISExpress que apunta al mismo puerto que IIS para resolverlo, vaya a

C:/Users/Your-User-Name/Documents/IISExpress/config/applicationhost.config

y busque el puerto, encontrará la etiqueta <site>...</site> que debe eliminar o comentar


ve al administrador de configuración debajo de las propiedades para tu solución. Luego asegúrate de que todos los proyectos estén siendo construidos, y esto no será un problema.